On Thu, 15 Nov 2018 13:45:47 -0500, Dennis New wrote:
> 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
Hm, after upgrading my wireless-regdb package (and/or maybe crda), it seems to
work now - I can create an IBSS and change channels. It appears to have been a
"regulatory" issue? I did notice that before I was missing
/lib/firmware/regulatory.db[.p7s]. Now my "iw reg get" values are slightly
different:
# iw reg get
global
country 00: DFS-UNSET
(2402 - 2472 @ 40), (N/A, 20), (N/A)
(2457 - 2482 @ 20), (N/A, 20), (N/A), AUTO-BW, NO-IR
(2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, NO-IR
(5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW, NO-IR
(5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW, NO-IR
(5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, NO-IR
(5735 - 5835 @ 80), (N/A, 20), (N/A), NO-IR
(57240 - 63720 @ 2160), (N/A, 0), (N/A)
I'm still not sure exactly what the problem was. The error message "Invalid
argument -22" was also less than helpful. Any way that message can be made more
helpful to avoid this confusion?
_______________________________________________
b43-dev mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/b43-dev