On Mon, Apr 21, 2008 at 3:38 PM, Miles Lane <miles.lane@xxxxxxxxx> wrote:>> On Mon, Apr 21, 2008 at 3:24 PM, Michael Buesch <mb@xxxxxxxxx> wrote:> >> > On Monday 21 April 2008 20:50:06 Miles Lane wrote:> > > On Mon, Apr 21, 2008 at 7:57 AM, Johannes Berg> > > <johannes@xxxxxxxxxxxxxxxx> wrote:> > > > Hi,> > > >> > > > Miles described a b43 speed problem in the thread> > > >> > > > 2.6.25-rc9 -- bcm4306 performance is in the toilet> > > >> > > > (over 2.6.24) and not being able to see anything from his logs/packet> > > > captures/... I asked him to bisect. This resulted in> > > >> > > > commit 61bca6eb85c863603d6054530e2f65c3b9aba85b> > > > Author: Stefano Brivio <stefano.brivio@xxxxxxxxx>> > > > Date: Tue Nov 6 22:49:05 2007 +0100> > > >> > > > b43: rewrite A PHY initialization> > > >> > > > which is a huge commit and hence a bit of a problem. Does anyone have> > > > suggestions how to proceed?> > > >> > > > I have very similar hardware, maybe this card is affected by the> > > > boardflags problems we found recently? Miles, can you give us> > > > * lspci -vn -s 01:06.0> > > > * the kernel init messages when ssb is built with debugging> > >> > > Here you go:> > >> > > # lspci -vn -s 01:06.0> > > 01:06.0 0280: 14e4:4320 (rev 03)> > > Subsystem: 1057:7110> > > Flags: bus master, fast devsel, latency 16, IRQ 5> > > Memory at ed000000 (32-bit, non-prefetchable) [size=8K]> > >> > > [ 3.977930] ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x04, vendor 0x4243)> > > [ 3.977942] ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x05,> > > vendor 0x4243)> > > [ 3.977952] ssb: Core 2 found: PCMCIA (cc 0x80D, rev 0x02, vendor 0x4243)> > > [ 3.977962] ssb: Core 3 found: V90 (cc 0x807, rev 0x02, vendor 0x4243)> > > [ 3.977971] ssb: Core 4 found: PCI (cc 0x804, rev 0x09, vendor 0x4243)> > > [ 3.993965] ssb: SPROM revision 2 detected.> > > [ 3.994816] ssb: Sonics Silicon Backplane found on PCI device 0000:01:06.0> > >> > > Thanks,> > > Miles> > >> >> > Can you also provide an SPROM dump?> > cat $(find /sys -name ssb_sprom)>> # cat $(find /sys -name ssb_sprom)> 014000001071571020430080020002000010001800000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF0C0053E53E2CFFFFFFFFFFFFFFFFFFFFFFFFFFFF3410A21585FA89FEFFFFFFFF4C00FFFFFFFFFFFF3E00490A02FF535510FFFFFFFFFF0225>> [ 38.678023] b43-phy0: Broadcom 4306 WLAN found> [ 38.701952] b43-phy0 debug: Found PHY: Analog 2, Type 2, Revision 2> [ 38.701977] b43-phy0 debug: Found Radio: Manuf 0x17F, Version> 0x2050, Revision 2> [ 38.726943] phy0: Selected rate control algorithm 'pid'> [ 39.268369] Broadcom 43xx driver loaded [ Features: PR, Firmware-ID: FW13 ]> [ 39.353043] wlan0 renamed to eth2> [ 39.353771] udev: renamed network interface wlan0 to eth2> [ 55.319666] input: b43-phy0 as /devices/virtual/input/input4> [ 55.682836] b43-phy0: Loading firmware version 351.126 (2006-07-29 05:54:02)> [ 55.683407] b43-phy0 warning: You are using an old firmware image.> Support for old firmware will be removed in July 2008.> [ 55.683992] b43-phy0 warning: You must go to> http://linuxwireless.org/en/users/Drivers/b43#devicefirmware and> download the latest firmware (version 4).>> NOTE: I see the same slowdown with the newer firmware.>> [ 55.795143] b43-phy0 debug: Chip initialized> [ 55.797086] b43-phy0 debug: 30-bit DMA initialized> [ 55.801727] b43-phy0 debug: Wireless interface started> [ 55.801737] b43-phy0 debug: Adding Interface type 2> [ 112.652322] eth2: Initial auth_alg=0> [ 112.652333] eth2: authenticate with AP 00:1b:2f:0e:ed:ba> [ 112.659665] eth2: RX authentication from 00:1b:2f:0e:ed:ba (alg=0> transaction=2 status=0)> [ 112.659673] eth2: authenticated> [ 112.659678] eth2: associate with AP 00:1b:2f:0e:ed:ba> [ 112.670019] eth2: RX AssocResp from 00:1b:2f:0e:ed:ba (capab=0x431> status=0 aid=8)> [ 112.670028] eth2: associated> [ 112.670050] eth2: switched to short barker preamble (BSSID=00:1b:2f:0e:ed:ba)> [ 112.906233] padlock: VIA PadLock not detected.> [ 112.964017] b43-phy0 debug: Using hardware based encryption for> keyidx: 0, mac: 00:1b:2f:0e:ed:ba> [ 112.964043] b43-phy0 debug: Using hardware based encryption for> keyidx: 1, mac: ff:ff:ff:ff:ff:ff> Here, I rebooted after swapping in the newer firmware. First, Itested throughput and confirmed that the throughput still variedbetween 5kB/s and 50kB/s. The average was around 16kB/s. Then I ran"modprobe -r b43" and got this in the logs: [ 474.372906] b43-phy0 debug: Disabling hardware based encryption forkeyidx: 0, mac: 00:1b:2f:0e:ed:ba[ 474.426267] b43-phy0 debug: Disabling hardware based encryption forkeyidx: 1, mac: ff:ff:ff:ff:ff:ff[ 474.426278] b43-phy0 debug: Removing Interface type 2[ 474.536431] b43-phy0 debug: Wireless interface stopped[ 474.536635] b43-phy0 debug: DMA-30 rx_ring: Used slots 3/64, Failedframes 0/0 = 0.0%, Average tries 0.00[ 474.538065] b43-phy0 debug: DMA-30 tx_ring_AC_BK: Used slots 0/128,Failed frames 0/0 = 0.0%, Average tries 0.00[ 474.543520] b43-phy0 debug: DMA-30 tx_ring_AC_BE: Used slots 0/128,Failed frames 0/0 = 0.0%, Average tries 0.00[ 474.558262] b43-phy0 debug: DMA-30 tx_ring_AC_VI: Used slots 0/128,Failed frames 0/0 = 0.0%, Average tries 0.00[ 474.566270] b43-phy0 debug: DMA-30 tx_ring_AC_VO: Used slots20/128, Failed frames 25/5302 = 0.4%, Average tries 1.21[ 474.574261] b43-phy0 debug: DMA-30 tx_ring_mcast: Used slots 0/128,Failed frames 0/0 = 0.0%, Average tries 0.00 When I reloaded the firmware, I got: [ 477.177793] b43-phy0: Broadcom 4306 WLAN found[ 477.198915] b43-phy0 debug: Found PHY: Analog 2, Type 2, Revision 2[ 477.198943] b43-phy0 debug: Found Radio: Manuf 0x17F, Version0x2050, Revision 2[ 477.226691] phy0: Selected rate control algorithm 'pid'[ 477.227473] Broadcom 43xx driver loaded [ Features: PR, Firmware-ID: FW13 ][ 477.271711] wlan0 renamed to eth2[ 477.287154] udev: renamed network interface wlan0 to eth2[ 478.093473] input: b43-phy0 as /devices/virtual/input/input5[ 478.515363] b43-phy0: Loading firmware version 410.2160 (2007-05-26 15:32:10)[ 478.659707] b43-phy0 debug: Chip initialized[ 478.661287] b43-phy0 debug: 30-bit DMA initialized[ 478.662021] b43-phy0 debug: Wireless interface started[ 478.662027] b43-phy0 debug: Adding Interface type 2[ 490.976810] eth2: Initial auth_alg=0[ 490.976820] eth2: authenticate with AP 00:1b:2f:0e:ed:ba[ 490.991048] eth2: RX authentication from 00:1b:2f:0e:ed:ba (alg=0transaction=2 status=0)[ 490.991057] eth2: authenticated[ 490.991061] eth2: associate with AP 00:1b:2f:0e:ed:ba[ 490.993749] eth2: RX AssocResp from 00:1b:2f:0e:ed:ba (capab=0x431status=0 aid=8)[ 490.993756] eth2: associated[ 490.993776] eth2: switched to short barker preamble (BSSID=00:1b:2f:0e:ed:ba)[ 491.031047] b43-phy0 debug: Using hardware based encryption forkeyidx: 0, mac: 00:1b:2f:0e:ed:ba[ 491.031072] b43-phy0 debug: Using hardware based encryption forkeyidx: 1, mac: ff:ff:ff:ff:ff:ff[ 637.670969] b43-phy0 debug: Using hardware based encryption forkeyidx: 2, mac: ff:ff:ff:ff:ff:ff��.n��������+%������w��{.n�����{���zW����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f