Re: Fwd: After kernel 6.3.7 or 6.3.8 b43 driver fails

From: Sardonimous
Date: Sun Jun 25 2023 - 12:58:24 EST


Hello Larry,

On 6/24/23 23:41, Larry Finger wrote:

Sardonimous,

The critical line is:
Jun 20 18:20:11 askasleikir kernel: b43_pio_tx+0x373/0x390

I certainly have not used PIO for a long time. I expect that your MacBook Pro should do DMA on the b43. Apple makes wierd hardware, but not likely that wierd.

I have been unable to get DMA to work in the past.  So I have been configuring it with PIO=1 (/etc/modprobe,d/b43.conf):

    options b43 pio=1 qos=0


Does dmesg offer any clues as to what is happening?

If I try with, say:

    options b43 pio=0 qos=0 verbose=3

Then

    rmmod b43
    rmmod ssb
    modprobe b43

I see the following:

    insmod /lib/modules/6.1.12-arch1-1/kernel/drivers/ssb/ssb.ko.zst
    insmod /lib/modules/6.1.12-arch1-1/kernel/drivers/net/wireless/broadcom/b43/b43.ko.zst pio=0 qos=0 verbose=3

...

[Jun25 11:51] ssb: Found chip with id 0x4322, rev 0x01 and package 0x0A
[  +0.096950] b43-pci-bridge 0000:02:00.0: Sonics Silicon Backplane found on PCI device 0000:02:00.0
[  +0.411653] b43-phy1: Broadcom 4322 WLAN found (core revision 16)
[  +0.038206] b43-phy1: Found PHY: Analog 8, Type 4 (N), Revision 4
[  +0.000032] b43-phy1: Found Radio: Manuf 0x17F, ID 0x2056, Revision 3, Version 0
[  +0.015660] Broadcom 43xx driver loaded [ Features: PNLS ]
[  +0.520933] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[  +0.726559] b43-phy1: Loading firmware version 784.2 (2012-08-15 21:35:19)
[  +0.276596] b43-phy1 debug: Chip initialized
[  +0.000562] b43-phy1 debug: 64-bit DMA initialized
[  +0.000013] b43-phy1 debug: QoS disabled
[  +0.023145] b43-phy1 debug: Wireless interface started
[  +0.056159] b43-phy1 debug: Adding Interface type 2
[  +0.086691] b43-phy1 debug: Removing Interface type 2
[  +0.000105] b43-phy1 debug: Wireless interface stopped
[  +0.099849] b43-phy1 ERROR: DMA RX reset timed out
[  +0.065067] b43 ssb0:0: Timeout waiting for bitmask 01800000 on register 0F90 to clear
[  +0.204905] b43-phy1: Loading firmware version 784.2 (2012-08-15 21:35:19)
[  +0.296681] b43-phy1 debug: Chip initialized
[  +0.000555] b43-phy1 debug: 64-bit DMA initialized
[  +0.000010] b43-phy1 debug: QoS disabled
[  +0.027099] b43-phy1 debug: Wireless interface started
[  +0.062503] b43-phy1 debug: Adding Interface type 2

The wlan0 device never seems to work, no IP address is obtained, etc.

If there is nothing shown in the log, you definitely need to do a proper bisection from the mainline git tree to isolate the change that led to this failure.

Still working on initial kernel build.

ADDED WITH EDIT: I looked at the code and b43 will not be built for any hardware without DMA, thus it appears that adding "b43.pio=1" is the only way to get PIO mode. Please check the output of dmesg for PIO messages.

Larry

Thanks & regards,

Sardonimous