Cannot use channels 12 and 13 on Raspberry Pi 3 in AP config


#1

Hi!
I'm trying to set up channel 12/13 on Raspberry Pi 3 in Wifi AP configuration. I get error "brcmfmac: brcmf_cfg80211_start_ap: Set Channel failed: chspec=4109, -20".
Tested on 17.01.1 and latest snapshot (r4117-deef713).
Raspbian works properly on 13 channel as AP.

Logs:

root@LEDE:~# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.hwmode='11g'
wireless.radio0.path='platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
wireless.radio0.htmode='HT20'
wireless.radio0.disabled='0'
wireless.radio0.country='PL'
wireless.radio0.channel='11'
wireless.default_radio0=wifi-iface
wireless.default_radio0.device='radio0'
wireless.default_radio0.network='lan'
wireless.default_radio0.mode='ap'
wireless.default_radio0.ssid='Dantooine'
wireless.default_radio0.encryption='psk2'
wireless.default_radio0.key='secret'

root@LEDE:~# wifi
[  828.291269] device wlan0 left promiscuous mode
[  828.301579] br-lan: port 2(wlan0) entered disabled state
[  830.594037] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  830.608333] br-lan: port 2(wlan0) entered blocking state
[  830.619697] br-lan: port 2(wlan0) entered disabled state
[  830.631336] device wlan0 entered promiscuous mode
[  830.911507] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  830.924197] br-lan: port 2(wlan0) entered blocking state
[  830.935606] br-lan: port 2(wlan0) entered forwarding state

root@LEDE:~# uci set wireless.radio0.channel=13
root@LEDE:~# uci commit wireless
root@LEDE:~# wifi
[  913.551274] device wlan0 left promiscuous mode
[  913.561751] br-lan: port 2(wlan0) entered disabled state
[  915.854693] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  915.869110] br-lan: port 2(wlan0) entered blocking state
[  915.880481] br-lan: port 2(wlan0) entered disabled state
[  915.892046] device wlan0 entered promiscuous mode
[  916.080443] brcmfmac: brcmf_cfg80211_start_ap: Set Channel failed: chspec=4109, -20
[  916.131249] device wlan0 left promiscuous mode
[  916.142014] br-lan: port 2(wlan0) entered disabled state
[  927.997654] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  928.012458] br-lan: port 2(wlan0) entered blocking state
[  928.024440] br-lan: port 2(wlan0) entered disabled state
[  928.036703] device wlan0 entered promiscuous mode
[  928.222287] brcmfmac: brcmf_cfg80211_start_ap: Set Channel failed: chspec=4109, -20
[  928.301237] device wlan0 left promiscuous mode
[  928.312608] br-lan: port 2(wlan0) entered disabled state

root@LEDE:~# uci set wireless.radio0.channel=11
root@LEDE:~# uci commit wireless
root@LEDE:~# wifi
[  990.032785] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  990.048153] br-lan: port 2(wlan0) entered blocking state
[  990.060246] br-lan: port 2(wlan0) entered disabled state
[  990.072619] device wlan0 entered promiscuous mode
[  990.351670] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  990.365070] br-lan: port 2(wlan0) entered blocking state
[  990.377132] br-lan: port 2(wlan0) entered forwarding state
[ 1000.491313] device wlan0 left promiscuous mode
[ 1000.502769] br-lan: port 2(wlan0) entered disabled state
[ 1002.676007] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 1002.691453] br-lan: port 2(wlan0) entered blocking state
[ 1002.703651] br-lan: port 2(wlan0) entered disabled state
[ 1002.716135] device wlan0 entered promiscuous mode
[ 1003.093512] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 1003.107183] br-lan: port 2(wlan0) entered blocking state
[ 1003.119522] br-lan: port 2(wlan0) entered forwarding state

root@LEDE:~# iw list
Wiphy phy0
	max # scan SSIDs: 10
	max scan IEs length: 2048 bytes
	max # sched scan SSIDs: 16
	max # match sets: 16
	max # scan plans: 1
	max scan plan interval: 508
	max scan plan iterations: 0
	Retry short limit: 7
	Retry long limit: 4
	Coverage class: 0 (up to 0m)
	Device supports T-DLS.
	Available Antennas: TX 0 RX 0
	Supported interface modes:
		 * IBSS
		 * managed
		 * AP
		 * P2P-client
		 * P2P-GO
		 * P2P-device
	Band 1:
		Capabilities: 0x1020
			HT20
			Static SM Power Save
			RX HT20 SGI
			No RX STBC
			Max AMSDU length: 3839 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: 16 usec (0x07)
		HT TX/RX MCS rate indexes supported: 0-7
		Frequencies:
			* 2412 MHz [1] (20.0 dBm)
			* 2417 MHz [2] (20.0 dBm)
			* 2422 MHz [3] (20.0 dBm)
			* 2427 MHz [4] (20.0 dBm)
			* 2432 MHz [5] (20.0 dBm)
			* 2437 MHz [6] (20.0 dBm)
			* 2442 MHz [7] (20.0 dBm)
			* 2447 MHz [8] (20.0 dBm)
			* 2452 MHz [9] (20.0 dBm)
			* 2457 MHz [10] (20.0 dBm)
			* 2462 MHz [11] (20.0 dBm)
			* 2467 MHz [12] (20.0 dBm)
			* 2472 MHz [13] (20.0 dBm)
			* 2484 MHz [14] (disabled)
	valid interface combinations:
		 * #{ managed } <= 1, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1,
		   total <= 3, #channels <= 1
		 * #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1,
		   total <= 4, #channels <= 1

It's LEDE bug or my config is wrong?

regards,
Waldek.


#3

I've finally discovered the issue. The country code setting under OpenWRT Does Not Work!
You need to download the latest Raspbian, set the Wifi country code (to the country that you're currently live in, some countries forbid the use of channel 12 and 13) on Pi under Raspbian, and go back to OpenWRT, select the same country code there.


#4

I reported a bug: link. Can you describe it this bug?


#5

Done reporting.