Dennis New
2018-11-15 18:45:47 UTC
b43: bcm4318 can't create ibss or set channel
I keep getting a "Invalid argument (-22)" error whenever I try to create an IBSS adhoc network or whenever I try to change the channel or frequency. "iw reg get" also gives me weird values, I think -- eg. lots of "N/As".
My card is BCM4318 (14e4:4318 (rev 02)). I'm using the latest working firmware for my wifi card (666.2, 2011-02-23), and the latest kernel (4.19.2). Thoughts?
# modprobe b43
kernel: b43-phy2: Broadcom 4318 WLAN found (core revision 9)
kernel: b43-phy2: Found PHY: Analog 3, Type 2 (G), Revision 7
kernel: b43-phy2: Found Radio: Manuf 0x17F, ID 0x2050, Revision 8, Version 0
kernel: b43-phy2 debug: DebugFS (CONFIG_DEBUG_FS) not enabled in kernel config
kernel: Broadcom 43xx driver loaded [ Features: P ]
kernel: ieee80211 phy2: Selected rate control algorithm 'minstrel_ht'
# iw wlan0 set type ibss
# ip link set wlan0 up
kernel: b43-phy2: Loading firmware version 666.2 (2011-02-23 01:15:07)
kernel: b43-phy2 debug: Chip initialized
kernel: b43-phy2 debug: 32-bit DMA initialized
kernel: b43-phy2 debug: QoS enabled
kernel: b43-phy2 debug: Wireless interface started
kernel: b43-phy2 debug: Adding Interface type 1
# iw --debug wlan0 ibss join blabla 2437
-- Debug: Sent Message:
-------------------------- BEGIN NETLINK MESSAGE ---------------------------
[NETLINK HEADER] 16 octets
.nlmsg_len = 72
.type = 22 <0x16>
.flags = 5 <REQUEST,ACK>
.seq = 1542305664
.port = 813726157
[GENERIC NETLINK HEADER] 4 octets
.cmd = 43
.version = 0
.unused = 0
[PAYLOAD] 52 octets
08 00 03 00 06 00 00 00 0a 00 34 00 62 6c 61 62 ..........4.blab
6c 61 00 00 08 00 26 00 85 09 00 00 08 00 9f 00 la....&.........
00 00 00 00 08 00 27 00 00 00 00 00 08 00 a0 00 ......'.........
85 09 00 00 ....
--------------------------- END NETLINK MESSAGE ---------------------------
-- Debug: Received Message:
-------------------------- BEGIN NETLINK MESSAGE ---------------------------
[NETLINK HEADER] 16 octets
.nlmsg_len = 92
.type = 2 <ERROR>
.flags = 0 <>
.seq = 1542305664
.port = 813726157
[ERRORMSG] 20 octets
.error = -22 "Invalid argument"
[ORIGINAL MESSAGE] 16 octets
.nlmsg_len = 16
.type = 22 <0x16>
.flags = 5 <REQUEST,ACK>
.seq = 1542305664
.port = 813726157
--------------------------- END NETLINK MESSAGE ---------------------------
command failed: Invalid argument (-22)
# iw reg get
global
country 00: DFS-UNSET
(2402 - 2472 @ 92), (N/A, 20), (N/A)
(2457 - 2482 @ 92), (N/A, 20), (N/A), PASSIVE-SCAN
(2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, PASSIVE-SCAN
(5170 - 5250 @ 160), (N/A, 20), (N/A), PASSIVE-SCAN
(5250 - 5330 @ 160), (N/A, 20), (0 ms), DFS, PASSIVE-SCAN
(5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, PASSIVE-SCAN
(5735 - 5835 @ 80), (N/A, 20), (N/A), PASSIVE-SCAN
(57240 - 63720 @ 2160), (N/A, 0), (N/A)
# iw --debug wlan0 set channel 6
-- Debug: Sent Message:
-------------------------- BEGIN NETLINK MESSAGE ---------------------------
[NETLINK HEADER] 16 octets
.nlmsg_len = 60
.type = 22 <0x16>
.flags = 5 <REQUEST,ACK>
.seq = 1542305850
.port = -939492680
[GENERIC NETLINK HEADER] 4 octets
.cmd = 2
.version = 0
.unused = 0
[PAYLOAD] 40 octets
08 00 03 00 06 00 00 00 08 00 26 00 85 09 00 00 ..........&.....
08 00 9f 00 00 00 00 00 08 00 27 00 00 00 00 00 ..........'.....
08 00 a0 00 85 09 00 00 ........
--------------------------- END NETLINK MESSAGE ---------------------------
-- Debug: Received Message:
-------------------------- BEGIN NETLINK MESSAGE ---------------------------
[NETLINK HEADER] 16 octets
.nlmsg_len = 80
.type = 2 <ERROR>
.flags = 0 <>
.seq = 1542305850
.port = -939492680
[ERRORMSG] 20 octets
.error = -22 "Invalid argument"
[ORIGINAL MESSAGE] 16 octets
.nlmsg_len = 16
.type = 22 <0x16>
.flags = 5 <REQUEST,ACK>
.seq = 1542305850
.port = -939492680
--------------------------- END NETLINK MESSAGE ---------------------------
command failed: Invalid argument (-22)
# ifconfig wlan0 down
kernel: b43-phy2 debug: Removing Interface type 1
kernel: b43-phy2 debug: Wireless interface stopped
kernel: b43-phy2 debug: DMA-32 rx_ring: Used slots 1/256, Failed frames 0/0 = 0.0%, Average tries 0.00
kernel: b43-phy2 debug: DMA-32 tx_ring_AC_BK: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
kernel: b43-phy2 debug: DMA-32 tx_ring_AC_BE: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
kernel: b43-phy2 debug: DMA-32 tx_ring_AC_VI: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
kernel: b43-phy2 debug: DMA-32 tx_ring_AC_VO: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
kernel: b43-phy2 debug: DMA-32 tx_ring_mcast: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
Even when I try to use the old iwconfig, I can't connect to an IBSS network with a slightly different error message, repeated over and over again:
# iwconfig wlan0 essid blabla
wlan0: Selected IBSS BSSID 52:fc:75:5d:a0:d4 based on configured SSID
wlan0: Failed to join IBSS, beacons forbidden
I keep getting a "Invalid argument (-22)" error whenever I try to create an IBSS adhoc network or whenever I try to change the channel or frequency. "iw reg get" also gives me weird values, I think -- eg. lots of "N/As".
My card is BCM4318 (14e4:4318 (rev 02)). I'm using the latest working firmware for my wifi card (666.2, 2011-02-23), and the latest kernel (4.19.2). Thoughts?
# modprobe b43
kernel: b43-phy2: Broadcom 4318 WLAN found (core revision 9)
kernel: b43-phy2: Found PHY: Analog 3, Type 2 (G), Revision 7
kernel: b43-phy2: Found Radio: Manuf 0x17F, ID 0x2050, Revision 8, Version 0
kernel: b43-phy2 debug: DebugFS (CONFIG_DEBUG_FS) not enabled in kernel config
kernel: Broadcom 43xx driver loaded [ Features: P ]
kernel: ieee80211 phy2: Selected rate control algorithm 'minstrel_ht'
# iw wlan0 set type ibss
# ip link set wlan0 up
kernel: b43-phy2: Loading firmware version 666.2 (2011-02-23 01:15:07)
kernel: b43-phy2 debug: Chip initialized
kernel: b43-phy2 debug: 32-bit DMA initialized
kernel: b43-phy2 debug: QoS enabled
kernel: b43-phy2 debug: Wireless interface started
kernel: b43-phy2 debug: Adding Interface type 1
# iw --debug wlan0 ibss join blabla 2437
-- Debug: Sent Message:
-------------------------- BEGIN NETLINK MESSAGE ---------------------------
[NETLINK HEADER] 16 octets
.nlmsg_len = 72
.type = 22 <0x16>
.flags = 5 <REQUEST,ACK>
.seq = 1542305664
.port = 813726157
[GENERIC NETLINK HEADER] 4 octets
.cmd = 43
.version = 0
.unused = 0
[PAYLOAD] 52 octets
08 00 03 00 06 00 00 00 0a 00 34 00 62 6c 61 62 ..........4.blab
6c 61 00 00 08 00 26 00 85 09 00 00 08 00 9f 00 la....&.........
00 00 00 00 08 00 27 00 00 00 00 00 08 00 a0 00 ......'.........
85 09 00 00 ....
--------------------------- END NETLINK MESSAGE ---------------------------
-- Debug: Received Message:
-------------------------- BEGIN NETLINK MESSAGE ---------------------------
[NETLINK HEADER] 16 octets
.nlmsg_len = 92
.type = 2 <ERROR>
.flags = 0 <>
.seq = 1542305664
.port = 813726157
[ERRORMSG] 20 octets
.error = -22 "Invalid argument"
[ORIGINAL MESSAGE] 16 octets
.nlmsg_len = 16
.type = 22 <0x16>
.flags = 5 <REQUEST,ACK>
.seq = 1542305664
.port = 813726157
--------------------------- END NETLINK MESSAGE ---------------------------
command failed: Invalid argument (-22)
# iw reg get
global
country 00: DFS-UNSET
(2402 - 2472 @ 92), (N/A, 20), (N/A)
(2457 - 2482 @ 92), (N/A, 20), (N/A), PASSIVE-SCAN
(2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, PASSIVE-SCAN
(5170 - 5250 @ 160), (N/A, 20), (N/A), PASSIVE-SCAN
(5250 - 5330 @ 160), (N/A, 20), (0 ms), DFS, PASSIVE-SCAN
(5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, PASSIVE-SCAN
(5735 - 5835 @ 80), (N/A, 20), (N/A), PASSIVE-SCAN
(57240 - 63720 @ 2160), (N/A, 0), (N/A)
# iw --debug wlan0 set channel 6
-- Debug: Sent Message:
-------------------------- BEGIN NETLINK MESSAGE ---------------------------
[NETLINK HEADER] 16 octets
.nlmsg_len = 60
.type = 22 <0x16>
.flags = 5 <REQUEST,ACK>
.seq = 1542305850
.port = -939492680
[GENERIC NETLINK HEADER] 4 octets
.cmd = 2
.version = 0
.unused = 0
[PAYLOAD] 40 octets
08 00 03 00 06 00 00 00 08 00 26 00 85 09 00 00 ..........&.....
08 00 9f 00 00 00 00 00 08 00 27 00 00 00 00 00 ..........'.....
08 00 a0 00 85 09 00 00 ........
--------------------------- END NETLINK MESSAGE ---------------------------
-- Debug: Received Message:
-------------------------- BEGIN NETLINK MESSAGE ---------------------------
[NETLINK HEADER] 16 octets
.nlmsg_len = 80
.type = 2 <ERROR>
.flags = 0 <>
.seq = 1542305850
.port = -939492680
[ERRORMSG] 20 octets
.error = -22 "Invalid argument"
[ORIGINAL MESSAGE] 16 octets
.nlmsg_len = 16
.type = 22 <0x16>
.flags = 5 <REQUEST,ACK>
.seq = 1542305850
.port = -939492680
--------------------------- END NETLINK MESSAGE ---------------------------
command failed: Invalid argument (-22)
# ifconfig wlan0 down
kernel: b43-phy2 debug: Removing Interface type 1
kernel: b43-phy2 debug: Wireless interface stopped
kernel: b43-phy2 debug: DMA-32 rx_ring: Used slots 1/256, Failed frames 0/0 = 0.0%, Average tries 0.00
kernel: b43-phy2 debug: DMA-32 tx_ring_AC_BK: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
kernel: b43-phy2 debug: DMA-32 tx_ring_AC_BE: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
kernel: b43-phy2 debug: DMA-32 tx_ring_AC_VI: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
kernel: b43-phy2 debug: DMA-32 tx_ring_AC_VO: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
kernel: b43-phy2 debug: DMA-32 tx_ring_mcast: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
Even when I try to use the old iwconfig, I can't connect to an IBSS network with a slightly different error message, repeated over and over again:
# iwconfig wlan0 essid blabla
wlan0: Selected IBSS BSSID 52:fc:75:5d:a0:d4 based on configured SSID
wlan0: Failed to join IBSS, beacons forbidden