<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: wlan0 interface up but not RUNNING</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861188#M131397</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="11091" data-username="jimmychan" href="https://community.nxp.com/people/jimmychan" style="color: #3d9ce7; background-color: #ffffff; border: 0px; font-weight: 200; text-decoration: none; font-size: 1.286rem;"&gt;jimmychan&lt;/A&gt;&lt;SPAN style="color: #3d9ce7; background-color: #ffffff; font-weight: 500;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Andro here(not able to log in my original account).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for replying back. Appreciate your comment.&amp;nbsp;&lt;/P&gt;&lt;P&gt;To clarify a few things, I downloaded the open source FMAC package from here&amp;nbsp;&lt;A class="link-titled" href="https://community.cypress.com/docs/DOC-15932" title="https://community.cypress.com/docs/DOC-15932"&gt;Cypress Linux WiFi Driver Release (FMAC) [2018-... | Cypress Developer Community&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This package does not have&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;STRONG&gt;fw_bcmdhd_apsta.bin&lt;/STRONG&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Below are all the firmware files provided in that package.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VirtualBox:~/mesh/new &amp;gt;&lt;BR /&gt;VirtualBox:~/mesh/new &amp;gt; find . -name *.bin&lt;BR /&gt;./firmware/brcmfmac4359-pcie.bin&lt;BR /&gt;./firmware/brcmfmac4356-sdio.bin&lt;BR /&gt;./firmware/brcmfmac43012-sdio.bin&lt;BR /&gt;./firmware/brcmfmac4339-sdio.bin&lt;BR /&gt;./firmware/brcmfmac4354-sdio.bin&lt;BR /&gt;./firmware/brcmfmac43340-sdio.bin&lt;BR /&gt;./firmware/brcmfmac43430-sdio.bin&lt;BR /&gt;./firmware/brcmfmac4359-sdio.bin&lt;BR /&gt;./firmware/brcmfmac43362-sdio.bin&lt;BR /&gt;./firmware/brcmfmac4356-pcie.bin&lt;BR /&gt;./firmware/brcmfmac43455-sdio.bin&lt;BR /&gt;VirtualBox:~/mesh/new &amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Looking at the driver code in that package,&amp;nbsp;the&lt;SPAN style="font-size: 12.0pt;"&gt;&amp;nbsp;structure &lt;STRONG&gt;cfg80211_ops&lt;/STRONG&gt; is mapping the basic mac80211 APIs to the Broadcom specific APIs.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL class="" start="1" style="color: #5c5c5c; background-color: #ffffff; border: none; margin: 0px 0px 1px 45px !important;"&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&lt;SPAN class="" style="color: #006699; background-color: inherit; border: none; font-weight: bold;"&gt;static&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class="" style="color: #006699; background-color: inherit; border: none; font-weight: bold;"&gt;struct&lt;/SPAN&gt;&amp;nbsp;cfg80211_ops&amp;nbsp;brcmf_cfg80211_ops&amp;nbsp;=&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.add_virtual_intf&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_add_iface,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.del_virtual_intf&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_del_iface,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.change_virtual_intf&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_change_iface,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.scan&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_scan,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_wiphy_params&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_set_wiphy_params,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.join_ibss&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_join_ibss,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.leave_ibss&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_leave_ibss,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.get_station&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_get_station,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.dump_station&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_dump_station,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_tx_power&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_set_tx_power,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.get_tx_power&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_get_tx_power,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.add_key&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_add_key,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.del_key&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_del_key,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.get_key&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_get_key,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_default_key&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_config_default_key,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_default_mgmt_key&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_config_default_mgmt_key,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_power_mgmt&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_set_power_mgmt,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.connect&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_connect,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.disconnect&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_disconnect,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.suspend&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_suspend,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.resume&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_resume,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_pmksa&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_set_pmksa,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.del_pmksa&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_del_pmksa,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.flush_pmksa&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_flush_pmksa,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.start_ap&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_start_ap,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.stop_ap&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_stop_ap,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.change_beacon&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_change_beacon,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.del_station&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_del_station,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.change_station&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_change_station,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.sched_scan_start&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_sched_scan_start,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.sched_scan_stop&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_sched_scan_stop,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.mgmt_frame_register&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_mgmt_frame_register,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.mgmt_tx&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_mgmt_tx,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.remain_on_channel&amp;nbsp;=&amp;nbsp;brcmf_p2p_remain_on_channel,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.cancel_remain_on_channel&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_cancel_remain_on_channel,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.get_channel&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_get_channel,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.start_p2p_device&amp;nbsp;=&amp;nbsp;brcmf_p2p_start_device,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.stop_p2p_device&amp;nbsp;=&amp;nbsp;brcmf_p2p_stop_device,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.crit_proto_start&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_crit_proto_start,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.crit_proto_stop&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_crit_proto_stop,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.tdls_oper&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_tdls_oper,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.update_connect_params&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_update_conn_params,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_pmk&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_set_pmk,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.del_pmk&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_del_pmk,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.change_bss&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_change_bss,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;};&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;The functions&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; color: black; border: none windowtext 1.0pt; padding: 0in; background: yellow;"&gt;brcmf_cfg80211_start_ap&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; color: black; border: none windowtext 1.0pt; padding: 0in;"&gt; and &lt;SPAN style="background: yellow;"&gt;brcmf_cfg80211_stop_ap&lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;&amp;nbsp;place AP in STA/AP mode, and these functions are defined and compiled.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Given that these APIs are defined with the given driver code, would this be sufficient for placing the drivers in AP mode?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Does the open source package not support AP mode?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Would appreciate if I can get a confirmation on this, as this would clarify things.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Looking forward to hearing back from you.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Andro&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 15 Feb 2019 20:02:05 GMT</pubDate>
    <dc:creator>andronooh</dc:creator>
    <dc:date>2019-02-15T20:02:05Z</dc:date>
    <item>
      <title>wlan0 interface up but not RUNNING</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861186#M131395</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm using the IMX7-Dual board to configure the drivers to run in AP mode. I've followed the instructions from&amp;nbsp;&lt;A class="link-titled" href="https://community.cypress.com/community/linux/blog/2017/11/28/linux-driver-backport-manual" title="https://community.cypress.com/community/linux/blog/2017/11/28/linux-driver-backport-manual"&gt;Wi-Fi/Bluetooth for Linux and Android: Getting ... | Cypress Developer Community&lt;/A&gt;&amp;nbsp;&amp;nbsp;and downloaded the drivers and a Linux Kernel. I followed all the steps provided in that link and was able to compile/load and get the board to associate to an open WLAN, and then also to a secured (WPA2-PSK) WLAN.&lt;/P&gt;&lt;P&gt;Now, I'm trying to get the board&amp;nbsp;to run in&amp;nbsp;AP mode. I bring up the wireless interface (wlan0) with the following command sequence:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;ifconfig wlan0&lt;BR /&gt;ifconfig wlan0 up&lt;/P&gt;&lt;P&gt;wl -i wlan0 down&lt;BR /&gt;wl -i wlan0 ap 1&lt;BR /&gt;wl -i wlan0 country US&lt;BR /&gt;wl -i wlan0 5g_rate auto&lt;BR /&gt;wl -i wlan0 bw_cap 5g 0x7&lt;BR /&gt;wl -i wlan0 ssid "001_mesh_open"&lt;BR /&gt;wl -i wlan0 bss 1&lt;BR /&gt;wl -i wlan0 chanspec 36/20&lt;BR /&gt;wl -i wlan0 txchain 7&lt;BR /&gt;wl -i wlan0 rxchain 7&lt;BR /&gt;wl -i wlan0 up&lt;BR /&gt;wl -i wlan0 bss 1&lt;BR /&gt;wl -i wlan0 status&lt;BR /&gt;wl -i wlan0 msglevel + assoc + error + info&lt;/P&gt;&lt;P&gt;ifconfig wlan0 up&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With this sequence of commands, the board is able to broadcast an SSID (001_mesh_open) and a client is able to associate, however, the client does not get an IP address and when configured with a static IP address that's in the same network as the configured IP address of wlan0, traffic does not pass.&amp;nbsp;&lt;/P&gt;&lt;P&gt;#&lt;BR /&gt;# wl assoclist&lt;BR /&gt;assoclist 8C:85:90:A8:FF:01&lt;BR /&gt;#&lt;BR /&gt;#&lt;BR /&gt;#&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;On checking wlan0, its status is UP, but not RUNNING!&amp;nbsp;&lt;/STRONG&gt;(This seems to be the main issue)&lt;/P&gt;&lt;P&gt;When the board is acting as a STA, wlan0 shows as UP and RUNNING.&amp;nbsp;&lt;/P&gt;&lt;P&gt;#&lt;BR /&gt;# # logs for when using board as AP&lt;BR /&gt;# ifconfig wlan0&lt;BR /&gt;wlan0 Link encap:Ethernet HWaddr A4:08:EA:E1:A1:B0&lt;BR /&gt; UP BROADCAST MULTICAST MTU:1500 Metric:1&lt;BR /&gt; RX packets:77 errors:0 dropped:0 overruns:0 frame:0&lt;BR /&gt; TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;BR /&gt; collisions:0 txqueuelen:1000&lt;BR /&gt; RX bytes:18475 (18.0 KiB) TX bytes:0 (0.0 B)&lt;/P&gt;&lt;P&gt;#&lt;BR /&gt;#&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# dmesg | tail&lt;/P&gt;&lt;P&gt;IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready&lt;BR /&gt;random: crng init done&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The devices are all unblocked for the wireless interface:&lt;BR /&gt;#&lt;BR /&gt;# rfkill list&lt;BR /&gt;0: phy0: Wireless LAN&lt;BR /&gt; Soft blocked: no&lt;BR /&gt; Hard blocked: no&lt;BR /&gt;#&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Trying to bring up the wireless interface with &lt;STRONG&gt;ifup wlan0&lt;/STRONG&gt; doesn't seem to do anything.&amp;nbsp;&lt;/P&gt;&lt;P&gt;#&lt;BR /&gt;# ifdown wlan0&lt;BR /&gt;#&lt;BR /&gt;# ifup wlan0&lt;BR /&gt;#&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Checking the IP link, it says "No-Carrier"&lt;/P&gt;&lt;P&gt;# ip link&lt;BR /&gt;1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue qlen 1&lt;BR /&gt; link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;BR /&gt;2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc mq qlen 1000&lt;BR /&gt; link/ether 00:04:9f:05:24:eb brd ff:ff:ff:ff:ff:ff&lt;BR /&gt;3: eth1: &amp;lt;BROADCAST,MULTICAST&amp;gt; mtu 1500 qdisc mq qlen 1000&lt;BR /&gt; link/ether 00:04:9f:05:24:ec brd ff:ff:ff:ff:ff:ff&lt;BR /&gt;4: tunl0@NONE: &amp;lt;NOARP&amp;gt; mtu 1480 qdisc noop qlen 1&lt;BR /&gt; link/ipip 0.0.0.0 brd 0.0.0.0&lt;BR /&gt;5: gre0@NONE: &amp;lt;NOARP&amp;gt; mtu 1476 qdisc noop qlen 1&lt;BR /&gt; link/gre 0.0.0.0 brd 0.0.0.0&lt;BR /&gt;6: gretap0@NONE: &amp;lt;BROADCAST,MULTICAST&amp;gt; mtu 1462 qdisc noop qlen 1000&lt;BR /&gt; link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff&lt;BR /&gt;7: sit0@NONE: &amp;lt;NOARP&amp;gt; mtu 1480 qdisc noop qlen 1&lt;BR /&gt; link/sit 0.0.0.0 brd 0.0.0.0&lt;BR /&gt;8: wlan0: &amp;lt;NO-CARRIER,BROADCAST,MULTICAST,UP&amp;gt; mtu 1500 qdisc pfifo_fast qlen 1000&lt;BR /&gt; link/ether a4:08:ea:e1:a1:b0 brd ff:ff:ff:ff:ff:ff&lt;BR /&gt;#&lt;BR /&gt;#&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The interfaces file is as follows:&lt;/P&gt;&lt;P&gt;#&lt;BR /&gt;#&lt;BR /&gt;# cat /etc/network/interfaces&lt;BR /&gt;# interface file auto-generated by buildroot&lt;/P&gt;&lt;P&gt;auto lo&lt;BR /&gt;iface lo inet loopback&lt;/P&gt;&lt;P&gt;# The primary network interface&lt;BR /&gt;#auto eth0&lt;BR /&gt;#iface eth0 inet dhcp&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;# allow-hotplug wlan0&lt;BR /&gt;iface wlan0 inet&amp;nbsp;dhcp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My questions:&lt;/P&gt;&lt;P&gt;Why is the link not RUNNING? Is there something that I am missing? Is the driver capable of operating in an AP mode? Is there kernel support for driver to operate in AP mode?&lt;/P&gt;&lt;P&gt;Any help in debugging this issue is appreciated.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Feb 2019 00:53:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861186#M131395</guid>
      <dc:creator>andron</dc:creator>
      <dc:date>2019-02-14T00:53:54Z</dc:date>
    </item>
    <item>
      <title>Re: wlan0 interface up but not RUNNING</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861187#M131396</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;To support AP mode, you need to load the firmware that support AP mode.&lt;/P&gt;&lt;P&gt;e.g. fw_bcmdhd_apsta.bin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Feb 2019 04:01:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861187#M131396</guid>
      <dc:creator>jimmychan</dc:creator>
      <dc:date>2019-02-15T04:01:20Z</dc:date>
    </item>
    <item>
      <title>Re: wlan0 interface up but not RUNNING</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861188#M131397</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="11091" data-username="jimmychan" href="https://community.nxp.com/people/jimmychan" style="color: #3d9ce7; background-color: #ffffff; border: 0px; font-weight: 200; text-decoration: none; font-size: 1.286rem;"&gt;jimmychan&lt;/A&gt;&lt;SPAN style="color: #3d9ce7; background-color: #ffffff; font-weight: 500;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Andro here(not able to log in my original account).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for replying back. Appreciate your comment.&amp;nbsp;&lt;/P&gt;&lt;P&gt;To clarify a few things, I downloaded the open source FMAC package from here&amp;nbsp;&lt;A class="link-titled" href="https://community.cypress.com/docs/DOC-15932" title="https://community.cypress.com/docs/DOC-15932"&gt;Cypress Linux WiFi Driver Release (FMAC) [2018-... | Cypress Developer Community&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This package does not have&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;STRONG&gt;fw_bcmdhd_apsta.bin&lt;/STRONG&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Below are all the firmware files provided in that package.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VirtualBox:~/mesh/new &amp;gt;&lt;BR /&gt;VirtualBox:~/mesh/new &amp;gt; find . -name *.bin&lt;BR /&gt;./firmware/brcmfmac4359-pcie.bin&lt;BR /&gt;./firmware/brcmfmac4356-sdio.bin&lt;BR /&gt;./firmware/brcmfmac43012-sdio.bin&lt;BR /&gt;./firmware/brcmfmac4339-sdio.bin&lt;BR /&gt;./firmware/brcmfmac4354-sdio.bin&lt;BR /&gt;./firmware/brcmfmac43340-sdio.bin&lt;BR /&gt;./firmware/brcmfmac43430-sdio.bin&lt;BR /&gt;./firmware/brcmfmac4359-sdio.bin&lt;BR /&gt;./firmware/brcmfmac43362-sdio.bin&lt;BR /&gt;./firmware/brcmfmac4356-pcie.bin&lt;BR /&gt;./firmware/brcmfmac43455-sdio.bin&lt;BR /&gt;VirtualBox:~/mesh/new &amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Looking at the driver code in that package,&amp;nbsp;the&lt;SPAN style="font-size: 12.0pt;"&gt;&amp;nbsp;structure &lt;STRONG&gt;cfg80211_ops&lt;/STRONG&gt; is mapping the basic mac80211 APIs to the Broadcom specific APIs.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL class="" start="1" style="color: #5c5c5c; background-color: #ffffff; border: none; margin: 0px 0px 1px 45px !important;"&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&lt;SPAN class="" style="color: #006699; background-color: inherit; border: none; font-weight: bold;"&gt;static&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class="" style="color: #006699; background-color: inherit; border: none; font-weight: bold;"&gt;struct&lt;/SPAN&gt;&amp;nbsp;cfg80211_ops&amp;nbsp;brcmf_cfg80211_ops&amp;nbsp;=&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.add_virtual_intf&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_add_iface,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.del_virtual_intf&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_del_iface,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.change_virtual_intf&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_change_iface,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.scan&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_scan,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_wiphy_params&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_set_wiphy_params,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.join_ibss&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_join_ibss,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.leave_ibss&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_leave_ibss,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.get_station&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_get_station,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.dump_station&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_dump_station,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_tx_power&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_set_tx_power,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.get_tx_power&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_get_tx_power,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.add_key&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_add_key,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.del_key&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_del_key,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.get_key&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_get_key,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_default_key&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_config_default_key,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_default_mgmt_key&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_config_default_mgmt_key,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_power_mgmt&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_set_power_mgmt,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.connect&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_connect,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.disconnect&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_disconnect,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.suspend&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_suspend,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.resume&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_resume,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_pmksa&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_set_pmksa,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.del_pmksa&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_del_pmksa,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.flush_pmksa&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_flush_pmksa,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.start_ap&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_start_ap,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.stop_ap&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_stop_ap,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.change_beacon&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_change_beacon,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.del_station&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_del_station,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.change_station&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_change_station,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.sched_scan_start&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_sched_scan_start,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.sched_scan_stop&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_sched_scan_stop,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.mgmt_frame_register&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_mgmt_frame_register,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.mgmt_tx&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_mgmt_tx,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.remain_on_channel&amp;nbsp;=&amp;nbsp;brcmf_p2p_remain_on_channel,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.cancel_remain_on_channel&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_cancel_remain_on_channel,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.get_channel&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_get_channel,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.start_p2p_device&amp;nbsp;=&amp;nbsp;brcmf_p2p_start_device,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.stop_p2p_device&amp;nbsp;=&amp;nbsp;brcmf_p2p_stop_device,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.crit_proto_start&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_crit_proto_start,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.crit_proto_stop&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_crit_proto_stop,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.tdls_oper&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_tdls_oper,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.update_connect_params&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_update_conn_params,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.set_pmk&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_set_pmk,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.del_pmk&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_del_pmk,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: #5c5c5c; background-color: #f8f8f8; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.change_bss&amp;nbsp;=&amp;nbsp;brcmf_cfg80211_change_bss,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI class="" style="color: inherit; background-color: #ffffff; border-top: none; border-bottom: none; border-left: 3px solid #6ce26c; border-right: none; margin: 0px !important; padding: 0px 3px 0px 10px !important;"&gt;&lt;SPAN style="color: black; background-color: inherit; border: none;"&gt;};&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;The functions&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; color: black; border: none windowtext 1.0pt; padding: 0in; background: yellow;"&gt;brcmf_cfg80211_start_ap&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; color: black; border: none windowtext 1.0pt; padding: 0in;"&gt; and &lt;SPAN style="background: yellow;"&gt;brcmf_cfg80211_stop_ap&lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;&amp;nbsp;place AP in STA/AP mode, and these functions are defined and compiled.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Given that these APIs are defined with the given driver code, would this be sufficient for placing the drivers in AP mode?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Does the open source package not support AP mode?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Would appreciate if I can get a confirmation on this, as this would clarify things.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Looking forward to hearing back from you.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; border: none windowtext 1.0pt; padding: 0in;"&gt;Andro&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Feb 2019 20:02:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861188#M131397</guid>
      <dc:creator>andronooh</dc:creator>
      <dc:date>2019-02-15T20:02:05Z</dc:date>
    </item>
    <item>
      <title>Re: wlan0 interface up but not RUNNING</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861189#M131398</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are better to ask Cypress to confirm their firmware is also support AP mode. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2019 09:59:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861189#M131398</guid>
      <dc:creator>jimmychan</dc:creator>
      <dc:date>2019-02-18T09:59:21Z</dc:date>
    </item>
    <item>
      <title>Re: wlan0 interface up but not RUNNING</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861190#M131399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Andro,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you tried using hostapd to run in AP mode? I am using hostapd on an imx6 design and it works fine. I am also using a Cypress/Broadcom Wi-Fi chip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Shawn&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Feb 2019 19:43:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861190#M131399</guid>
      <dc:creator>shawnstevenson</dc:creator>
      <dc:date>2019-02-21T19:43:34Z</dc:date>
    </item>
    <item>
      <title>Re: wlan0 interface up but not RUNNING</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861191#M131400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Shawn,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes I have and it's working!&lt;/P&gt;&lt;P&gt;The ultimate goal was to get the board to operate in APSTA mode simultaneously.&lt;/P&gt;&lt;P&gt;I am using&amp;nbsp; &lt;SPAN style="font-size: 9.0pt; color: #222222; background: white;"&gt;i.MX7D SABRESD&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;board with Broadcom's 43455 interfaced through SDIO.&lt;/P&gt;&lt;P&gt;By default the board comes up in STA mode, and it's able to connect to a secure SSID by configuring WPA Supplicant.&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I tried to configure the board in AP mode, I ran into issues, hence this question. Since then, I debugged the issue and found out that&lt;SPAN style="font-size: 12.0pt;"&gt;&amp;nbsp;as part of the configurations (^ wl commands above) , the wrong firmware event is populated to "soft mac" (FMAC) for setting the SSID. The firmware event &lt;STRONG&gt;BRCMF_E_LINK&lt;/STRONG&gt; is reported to driver instead of &lt;STRONG&gt;BRCMF_E_SET_SSID&lt;/STRONG&gt; when the command “wl -i wlan0 ssid test_ssid1” is issued. With the SSID not set, the interface was not fully initialized, therefore the Linux netdev interface could not go into "RUNNING" state.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;I implemented a quick workaround of handling the event &lt;STRONG&gt;BRCMF_E_LINK&lt;/STRONG&gt; as&amp;nbsp;&lt;STRONG&gt;BRCMF_E_SET_SSID&lt;/STRONG&gt; in the function brcmf_is_linkup() to fix this issue.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;After the workaround, the board is able to operate in AP mode and clients are able to associate. I brought up HOSTAPd to allow secure connection, and that works now.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;Now the trick to operating the board in AP/STA mode simultaneously is by initially configuring the base interface (wlan0) as STA, and then creating a virtual interface wlan1(linked to wlan0) to operate in AP mode.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;This seems to be working fine, but there are intermittent&amp;nbsp;issues seen. I'm following up with Cypress on whether the open source firmware supports APSTA mode (&lt;A class="link-titled" href="https://community.cypress.com/thread/44079" title="https://community.cypress.com/thread/44079"&gt;How to configure driver for AP/STA mode simulta... | Cypress Developer Community&lt;/A&gt;&amp;nbsp;), while also debugging the issues in parallel.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For now, I think we can close this question.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Appreciate everyone's inputs/help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Andro&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Feb 2019 21:27:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/wlan0-interface-up-but-not-RUNNING/m-p/861191#M131400</guid>
      <dc:creator>andronooh</dc:creator>
      <dc:date>2019-02-21T21:27:34Z</dc:date>
    </item>
  </channel>
</rss>

