AnsweredAssumed Answered

BCM4339 Disable one frequency band

Question asked by Tanvi Desai on Mar 2, 2017

Hello,
I am using BCM4339 Single-Chip 5G WiFi IEEE 802.11ac MAC/Baseband/ Radio with Integrated Bluetooth 4.1 and FM Receiver which support dual band.I want to disable one frequency band(either 2.4Ghz or 5Ghz).
I found one way to disable frequency band by using mac80211 driver and using the following command:
sudo modprobe mac80211 ieee80211_disable_40mhz_24ghz=1

But when i tried to enable module mac80211 in kernel configuration it was generating the following error:

drivers/built-in.o: In function `wl_cfg80211_disconnect':
| vf610_adc.c:(.text+0x1a6d14): undefined reference to `cfg80211_disconnected'
| drivers/built-in.o: In function `wl_cfg80211_connect':
| vf610_adc.c:(.text+0x1a7330): undefined reference to `ieee80211_frequency_to_channel'
| vf610_adc.c:(.text+0x1a8888): undefined reference to `ieee80211_frequency_to_channel'
| drivers/built-in.o: In function `wl_notify_pfn_status':
| vf610_adc.c:(.text+0x1a8a90): undefined reference to `cfg80211_disconnected'
| drivers/built-in.o: In function `wl_tdls_event_handler':
| vf610_adc.c:(.text+0x1aa49c): undefined reference to `cfg80211_rx_mgmt'
| drivers/built-in.o: In function `wl_notify_mic_status':
| vf610_adc.c:(.text+0x1aa580): undefined reference to `cfg80211_michael_mic_failure'
| drivers/built-in.o: In function `wl_free_wdev':
| vf610_adc.c:(.text+0x1aa5d4): undefined reference to `wiphy_unregister'
| vf610_adc.c:(.text+0x1aa66c): undefined reference to `wiphy_free'
| drivers/built-in.o: In function `wl_run_escan.constprop.19':
| vf610_adc.c:(.text+0x1abaa4): undefined reference to `ieee80211_frequency_to_channel'
| vf610_adc.c:(.text+0x1abdb8): undefined reference to `ieee80211_frequency_to_channel'
| drivers/built-in.o: In function `wl_inform_single_bss':
| vf610_adc.c:(.text+0x1ac370): undefined reference to `cfg80211_find_ie'
| vf610_adc.c:(.text+0x1ac474): undefined reference to `ieee80211_channel_to_frequency'
| vf610_adc.c:(.text+0x1ac484): undefined reference to `__ieee80211_get_channel'
| vf610_adc.c:(.text+0x1ac4dc): undefined reference to `cfg80211_inform_bss_width_frame'
| vf610_adc.c:(.text+0x1ac4ec): undefined reference to `cfg80211_put_bss'
| drivers/built-in.o: In function `wl_update_bss_info':
| vf610_adc.c:(.text+0x1ac95c): undefined reference to `cfg80211_get_bss'
| vf610_adc.c:(.text+0x1aca08): undefined reference to `cfg80211_put_bss'
| drivers/built-in.o: In function `wl_notify_escan_complete':
| vf610_adc.c:(.text+0x1acec0): undefined reference to `cfg80211_scan_done'
| drivers/built-in.o: In function `wl_cfg80211_mgmt_tx':
| vf610_adc.c:(.text+0x1adaa0): undefined reference to `ieee80211_frequency_to_channel'
| vf610_adc.c:(.text+0x1adbd0): undefined reference to `cfg80211_mgmt_tx_status'
| vf610_adc.c:(.text+0x1add9c): undefined reference to `cfg80211_mgmt_tx_status'
| vf610_adc.c:(.text+0x1ade10): undefined reference to `cfg80211_mgmt_tx_status'
| drivers/built-in.o: In function `wl_bss_connect_done':
| vf610_adc.c:(.text+0x1b0854): undefined reference to `cfg80211_connect_result'
| vf610_adc.c:(.text+0x1b09a8): undefined reference to `cfg80211_connect_result'
| drivers/built-in.o: In function `wl_cfg80211_join_ibss':
| vf610_adc.c:(.text+0x1b19f4): undefined reference to `ieee80211_frequency_to_channel'
| vf610_adc.c:(.text+0x1b1a70): undefined reference to `cfg80211_get_bss'
| drivers/built-in.o: In function `wl_cfg80211_attach':
| vf610_adc.c:(.text+0x1b3124): undefined reference to `wiphy_new_nm'
| vf610_adc.c:(.text+0x1b32b0): undefined reference to `wiphy_apply_custom_regulatory'
| vf610_adc.c:(.text+0x1b32d4): undefined reference to `wiphy_register'
| vf610_adc.c:(.text+0x1b3800): undefined reference to `wiphy_free'
| drivers/built-in.o: In function `wl_notify_roaming_status':
| vf610_adc.c:(.text+0x1b519c): undefined reference to `ieee80211_channel_to_frequency'
| vf610_adc.c:(.text+0x1b51a8): undefined reference to `__ieee80211_get_channel'
| vf610_adc.c:(.text+0x1b5214): undefined reference to `cfg80211_roamed'
| drivers/built-in.o: In function `wl_cfg80211_get_station':
| vf610_adc.c:(.text+0x1b57ec): undefined reference to `cfg80211_disconnected'
| drivers/built-in.o: In function `wl_cfg80211_start_ap':
| vf610_adc.c:(.text+0x1b6250): undefined reference to `ieee80211_frequency_to_channel'
| drivers/built-in.o: In function `wl_notify_connect_status_ap':
| vf610_adc.c:(.text+0x1b81b8): undefined reference to `cfg80211_new_sta'
| vf610_adc.c:(.text+0x1b8228): undefined reference to `cfg80211_del_sta_sinfo'
| drivers/built-in.o: In function `wl_notify_connect_status':
| vf610_adc.c:(.text+0x1b8768): undefined reference to `ieee80211_channel_to_frequency'
| vf610_adc.c:(.text+0x1b8774): undefined reference to `__ieee80211_get_channel'
| vf610_adc.c:(.text+0x1b8b48): undefined reference to `cfg80211_ibss_joined'
| vf610_adc.c:(.text+0x1b8e6c): undefined reference to `cfg80211_get_bss'
| vf610_adc.c:(.text+0x1b8e7c): undefined reference to `cfg80211_unlink_bss'
| vf610_adc.c:(.text+0x1b8f0c): undefined reference to `cfg80211_ibss_joined'
| vf610_adc.c:(.text+0x1b92d0): undefined reference to `cfg80211_disconnected'
| drivers/built-in.o: In function `wl_update_wiphybands':
| vf610_adc.c:(.text+0x1b9990): undefined reference to `wiphy_apply_custom_regulatory'
| vf610_adc.c:(.text+0x1b9e94): undefined reference to `ieee80211_channel_to_frequency'
| drivers/built-in.o: In function `wl_cfg80211_hang':
| vf610_adc.c:(.text+0x1baa2c): undefined reference to `cfg80211_disconnected'
| drivers/built-in.o: In function `wl_cfg80211_down':
| vf610_adc.c:(.text+0x1bac6c): undefined reference to `cfg80211_scan_done'
| vf610_adc.c:(.text+0x1bb174): undefined reference to `cfg80211_disconnected'
| drivers/built-in.o: In function `wl_cfg80211_channel_to_freq':
| vf610_adc.c:(.text+0x1bb4b4): undefined reference to `ieee80211_channel_to_frequency'
| drivers/built-in.o: In function `wl_cfg80211_remain_on_channel':
| vf610_adc.c:(.text+0x1bb5a0): undefined reference to `ieee80211_frequency_to_channel'
| vf610_adc.c:(.text+0x1bb730): undefined reference to `cfg80211_ready_on_channel'
| vf610_adc.c:(.text+0x1bba3c): undefined reference to `ieee80211_frequency_to_channel'
| drivers/built-in.o: In function `wl_cfg80211_scan_stop':
| vf610_adc.c:(.text+0x1bde04): undefined reference to `cfg80211_scan_done'
| drivers/built-in.o: In function `wl_notify_rx_mgmt_frame':
| vf610_adc.c:(.text+0x1be078): undefined reference to `ieee80211_channel_to_frequency'
| vf610_adc.c:(.text+0x1be0cc): undefined reference to `cfg80211_rx_mgmt'
| drivers/built-in.o: In function `wl_chspec_chandef':
| vf610_adc.c:(.text+0x1beb68): undefined reference to `ieee80211_channel_to_frequency'
| vf610_adc.c:(.text+0x1beb74): undefined reference to `__ieee80211_get_channel'
| vf610_adc.c:(.text+0x1beb84): undefined reference to `cfg80211_chandef_create'
| drivers/built-in.o: In function `wl_cfg80211_ch_switch_notify':
| vf610_adc.c:(.text+0x1bec30): undefined reference to `cfg80211_ch_switch_notify'
| drivers/built-in.o: In function `wl_cfgp2p_listen_complete':
| vf610_adc.c:(.text+0x1c2504): undefined reference to `cfg80211_remain_on_channel_expired'
| drivers/built-in.o: In function `wl_cfgp2p_down':
| vf610_adc.c:(.text+0x1c36ac): undefined reference to `cfg80211_remain_on_channel_expired'
| drivers/built-in.o: In function `wl_cfgp2p_del_p2p_disc_if':
| vf610_adc.c:(.text+0x1c4424): undefined reference to `cfg80211_unregister_wdev'
| vf610_adc.c:(.text+0x1c4478): undefined reference to `cfg80211_unregister_wdev'
| drivers/built-in.o: In function `wl_cfgvendor_priv_string_handler':
| vf610_adc.c:(.text+0x1c75f8): undefined reference to `__cfg80211_alloc_reply_skb'
| vf610_adc.c:(.text+0x1c7614): undefined reference to `cfg80211_vendor_cmd_reply'
| drivers/built-in.o: In function `wl_cfgvendor_send_async_event':
| vf610_adc.c:(.text+0x1c77cc): undefined reference to `__cfg80211_alloc_event_skb'
| vf610_adc.c:(.text+0x1c77ec): undefined reference to `__cfg80211_send_event_skb'
| make[2]: *** [vmlinux] Error 1
| make[1]: *** [sub-make] Error 2
| make: *** [__sub-make] Error 2
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (log file is located at /home/firstview/surag_python_packges_build/firstview/Linux/ul-evk-build/tmp/work/imx6ulevk-poky-linux-gnueabi/linux-imx/4.1.15-r0/temp/log.do_compile.8549)

Is it possible with sudo modprobe mac80211 ieee80211_disable_40mhz_24ghz=1 command? or any other way to disable one frequency band.

Thanks,#

Outcomes