Re: b43/BCM4312 fails with DMA errors
Hi Chris -- Chris Vine wrote: > Hi, > > I have a Levono S-12 Netbook, which has the Atom N270 processor and a > Broadcom 14e4:4315 wireless chip with low power PHY. lspci -vnn | grep > 14e4 gives: > > 02:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM5906M > Fast Ethernet PCI Express [14e4:1713] (rev 02) > 03:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g > [14e4:4315] (rev 01) > Subsystem: Broadcom Corporation Unknown device [14e4:04b5] > > As suggested for this chip on the linux wireless b43 howto web page, I > am using firmware extracted from broadcom-wl-4.178.10.4.tar.bz2 using > the current b43-fwcutter in git. > > Although wireless works with the broadcom wl driver provided by > Broadcom in their hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz package up > to and including kernel 2.6.28 (but not afterwards, presumably because > of the replacement of ieee80211 by lib80211), the b43 driver in both > 2.6.32-rc4 and current compat-wireless fails on a cold boot with dma > errors (I use "cold boot" advisedly - see the working case 1 for b43 > mentioned at the end). > > Prior to failure, modprobe b43 && dmesg | egrep "ssb|b43" gives: > > b43-pci-bridge :03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > b43-pci-bridge :03:00.0: setting latency timer to 64 > ssb: Sonics Silicon Backplane found on PCI device :03:00.0 > b43-phy0: Broadcom 4312 WLAN found (core revision 15) > b43-phy0 debug: Found PHY: Analog 6, Type 5, Revision 1 > b43-phy0 debug: Found Radio: Manuf 0x17F, Version 0x2062, Revision 2 > Registered led device: b43-phy0::tx > Registered led device: b43-phy0::rx > Registered led device: b43-phy0::radio > > So far it looks normal. However, bringing up the wlan0 interface and > attempting to associate will shortly afterwards trigger DMA errors, and > any further use of the interface thereafter will fail. Sometimes > failure happens immediately the interface is brought up, usually I can > get as far as successfully scanning for APs with 'iwlist scan wlan0', > and sometimes it gets as far as negotiating association with the AP, > but it always ends at some point with logging output such as this > in /var/log/messages (with b43 debugging switched on): > > b43-phy0: Broadcom 4312 WLAN found (core revision 15) > b43-phy0 debug: Found PHY: Analog 6, Type 5, Revision 1 > b43-phy0 debug: Found Radio: Manuf 0x17F, Version 0x2062, Revision 2 > phy0: Selected rate control algorithm 'minstrel' > Registered led device: b43-phy0::tx > Registered led device: b43-phy0::rx > Registered led device: b43-phy0::radio > Broadcom 43xx driver loaded [ Features: PMLS, Firmware-ID: FW13 ] > b43 ssb0:0: firmware: requesting b43/ucode15.fw > b43 ssb0:0: firmware: requesting b43/lp0initvals15.fw > b43 ssb0:0: firmware: requesting b43/lp0bsinitvals15.fw > b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23) > b43-phy0 debug: b2062: Using crystal tab entry 19200 kHz. > b43-phy0 debug: RC calib: Failed to switch to channel 7, error = -5 > b43-phy0 debug: Chip initialized > b43-phy0 debug: 64-bit DMA initialized > b43-phy0 debug: QoS enabled > b43-phy0 debug: Wireless interface started > b43-phy0 debug: Adding Interface type 2 > ADDRCONF(NETDEV_UP): wlan0: link is not ready > b43-phy0 ERROR: Fatal DMA error: 0x0800, 0x, 0x, > 0x, 0x, 0x I had 0x0400, rather than 0x0800 > b43-phy0: Controller RESET (DMA error) ... > b43-phy0 debug: Wireless interface stopped > b43-phy0 debug: DMA-64 rx_ring: Used slots 1/64, Failed frames 0/0 = 0.0%, > Average tries 0.00 > b43-phy0 debug: DMA-64 tx_ring_AC_BK: Used slots 0/256, Failed frames 0/0 = > 0.0%, Average tries 0.00 > b43-phy0 debug: DMA-64 tx_ring_AC_BE: Used slots 0/256, Failed frames 0/0 = > 0.0%, Average tries 0.00 > b43-phy0 debug: DMA-64 tx_ring_AC_VI: Used slots 0/256, Failed frames 0/0 = > 0.0%, Average tries 0.00 > b43-phy0 debug: DMA-64 tx_ring_AC_VO: Used slots 2/256, Failed frames 0/11 > = 0.0%, Average tries 1.00 > b43-phy0 debug: DMA-64 tx_ring_mcast: Used slots 0/256, Failed frames 0/0 = > 0.0%, Average tries 0.00 > b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23) > b43-phy0 debug: b2062: Using crystal tab entry 19200 kHz. > b43-phy0 debug: Chip initialized > [ ... and so on ... ] > > The DMA error message repeats at approximately 5 second intervals (so > filling up /var/log/messages quite nicely after a while). > > Two other points which may help locate the problem, when b43 WILL work: > > 1. If I boot up ubuntu kernel-2.6.27 with the proprietary wl driver, > and then do a warm reboot to kernel 2.6.32-rc4, b43 works normally. > No DMA errors are reported. This may point to a firmware loading issue, > but see 2 below. I had similar problems, and was advised to try the full wireless-testing kernel, which worked OK for
Re: 14e4:4315 DMA Errors (still)
"Gábor Stefanik" wrote: > On Fri, Oct 2, 2009 at 11:04 PM, wrote: > > > > Hi Folks -- > > > > I've read in the archives about DMA errors with the LP-PHY, but there didn't > > seem to be any conclusion. Any guidance on what I can test to get it > > working? > > It's reproducable on my Lenovo G530 laptop. (Yes, I know forcing PIO works > > for > > others, and it works for me too, but I'd like to help testing if I can). > > > > Any guidance on which tests would be most likely to work? AFAIK, options to > > test include: > > * 64bit kernel (and userland?) > > * Hack b43/dma.c to force fallback to 32bit DMA (as a trial datapoint only) > > Won't work - LP-PHY only supports 64bit DMA. > > > * Boot with Mem=2G. Currently 4G ram is installed. > > * Firmware 5xx > > > > Or is this a HW design error in the laptop, and I should just live with > > forcing PIO? > > > > My system details: > > * Compat-wireless-2009-09-30 (and also back to 9-21) > > * Fedora Rawhide 32-bit, kernel 2.6.31.1-56.fc12.i686 > > * Firmware 478.104 > > * Fatal DMA error soon after heavy traffic starts > > > > Try installing a proper wireless-testing kernel (not just > compat-wireless). This issue seems to specifically affect > 2.6.31+compat-wireless users (probably something needs to be > backported). 2.6.32-rc1+compat-wireless shoud also work. Thanks! I cloned the latest wireless-testing from last night, 2.6.32-rc3 I think. That seems to work so far, with several hundreds of MB FTP transfers OK. Previously DMA errors would show up immediately after starting the transfer. Still get the "NOHZ: local_softirq_pending" stuff. I will test more transfers and a suspend/resume cycle later tonight, as Lance has reported. Any chance of finding out what needs to be fixed for 2.6.31? Fedora is about to release F12 with a 2.6.31 kernel, and it would be great to be able to backport a fix. I'm a git noob, but I don't see how to bisect between the wireless-testing tree and compat-wireless. Lance, you wrote that if you cold boot, then 'sometimes' you can connect. That means sometimes it *fails* after a cold boot too? Same DMA errors? regards, . Charlie > > > dmesg extract: > > > > ssb: Sonics Silicon Backplane found on PCI device :04:00.0 > > b43-phy0: Broadcom 4312 WLAN found (core revision 15) > > b43-phy0 debug: Found PHY: Analog 6, Type 5, Revision 1 > > b43-phy0 debug: Found Radio: Manuf 0x17F, Version 0x2062, Revision 2 > > phy0: Selected rate control algorithm 'minstrel' > > Registered led device: b43-phy0::tx > > Registered led device: b43-phy0::rx > > Registered led device: b43-phy0::radio > > Broadcom 43xx driver loaded [ Features: PML, Firmware-ID: FW13 ] > > b43 ssb0:0: firmware: requesting b43/ucode15.fw > > cfg80211: Calling CRDA for country: US > > cfg80211: Regulatory domain changed to country: US > >(start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) > >(2402000 KHz - 2472000 KHz @ 4 KHz), (300 mBi, 2700 mBm) > >(517 KHz - 525 KHz @ 4 KHz), (300 mBi, 1700 mBm) > >(525 KHz - 533 KHz @ 4 KHz), (300 mBi, 2000 mBm) > >(549 KHz - 571 KHz @ 4 KHz), (300 mBi, 2000 mBm) > >(5735000 KHz - 5835000 KHz @ 4 KHz), (300 mBi, 3000 mBm) > > b43 ssb0:0: firmware: requesting b43/lp0initvals15.fw > > b43 ssb0:0: firmware: requesting b43/lp0bsinitvals15.fw > > b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23) > > b43-phy0 debug: b2062: Using crystal tab entry 19200 kHz. > > b43-phy0 debug: RC calib: Failed to switch to channel 7, error = -5 > > b43-phy0 debug: Chip initialized > > b43-phy0 debug: 64-bit DMA initialized > > b43-phy0 debug: QoS enabled > > b43-phy0 debug: Wireless interface started > > b43-phy0 debug: Adding Interface type 2 > > ADDRCONF(NETDEV_UP): wlan0: link is not ready > > wlan0: deauthenticating from 00:0c:41:e2:f9:81 by local choice (reason=3) > > wlan0: direct probe to AP 00:0c:41:e2:f9:81 (try 1) > > wlan0: direct probe responded > > wlan0: authenticate with AP 00:0c:41:e2:f9:81 (try 1) > > wlan0: authenticated > > wlan0: associate with AP 00:0c:41:e2:f9:81 (try 1) > > wlan0: RX AssocResp from 00:0c:41:e2:f9:81 (capab=0x411 status=0 aid=2) > > wlan0: associated > > ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready > > b43-phy0 debug: Using hardware based encryption for keyidx: 0, mac: > > ff:ff:ff:ff:ff:ff > > NOHZ: local_softirq_pending 08 > > NOHZ: local_softirq_pending 08 > > NOHZ: local_softirq_pending 08 > > NOHZ: local_softirq_pending 08 > > NOHZ: local_softirq_pending 08 > > NOHZ: local_softirq_pending 08 > > NOHZ: local_softirq_pending 08 > > NOHZ: local_softirq_pending 08 > > NOHZ: local_softirq_pending 08 > > NOHZ: local_softirq_pending 08 > > wlan0: no IPv6 routers present > > CE: hpet increasing min_delta_ns to 15000 nsec > > b43-phy0 ERROR: Fatal DMA error: 0x, 0x0400, 0x, > > 0x, > > 0x, 0x > > b43-phy0: Con
14e4:4315 DMA Errors (still)
Hi Folks -- I've read in the archives about DMA errors with the LP-PHY, but there didn't seem to be any conclusion. Any guidance on what I can test to get it working? It's reproducable on my Lenovo G530 laptop. (Yes, I know forcing PIO works for others, and it works for me too, but I'd like to help testing if I can). Any guidance on which tests would be most likely to work? AFAIK, options to test include: * 64bit kernel (and userland?) * Hack b43/dma.c to force fallback to 32bit DMA (as a trial datapoint only) * Boot with Mem=2G. Currently 4G ram is installed. * Firmware 5xx Or is this a HW design error in the laptop, and I should just live with forcing PIO? My system details: * Compat-wireless-2009-09-30 (and also back to 9-21) * Fedora Rawhide 32-bit, kernel 2.6.31.1-56.fc12.i686 * Firmware 478.104 * Fatal DMA error soon after heavy traffic starts dmesg extract: ssb: Sonics Silicon Backplane found on PCI device :04:00.0 b43-phy0: Broadcom 4312 WLAN found (core revision 15) b43-phy0 debug: Found PHY: Analog 6, Type 5, Revision 1 b43-phy0 debug: Found Radio: Manuf 0x17F, Version 0x2062, Revision 2 phy0: Selected rate control algorithm 'minstrel' Registered led device: b43-phy0::tx Registered led device: b43-phy0::rx Registered led device: b43-phy0::radio Broadcom 43xx driver loaded [ Features: PML, Firmware-ID: FW13 ] b43 ssb0:0: firmware: requesting b43/ucode15.fw cfg80211: Calling CRDA for country: US cfg80211: Regulatory domain changed to country: US (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) (2402000 KHz - 2472000 KHz @ 4 KHz), (300 mBi, 2700 mBm) (517 KHz - 525 KHz @ 4 KHz), (300 mBi, 1700 mBm) (525 KHz - 533 KHz @ 4 KHz), (300 mBi, 2000 mBm) (549 KHz - 571 KHz @ 4 KHz), (300 mBi, 2000 mBm) (5735000 KHz - 5835000 KHz @ 4 KHz), (300 mBi, 3000 mBm) b43 ssb0:0: firmware: requesting b43/lp0initvals15.fw b43 ssb0:0: firmware: requesting b43/lp0bsinitvals15.fw b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23) b43-phy0 debug: b2062: Using crystal tab entry 19200 kHz. b43-phy0 debug: RC calib: Failed to switch to channel 7, error = -5 b43-phy0 debug: Chip initialized b43-phy0 debug: 64-bit DMA initialized b43-phy0 debug: QoS enabled b43-phy0 debug: Wireless interface started b43-phy0 debug: Adding Interface type 2 ADDRCONF(NETDEV_UP): wlan0: link is not ready wlan0: deauthenticating from 00:0c:41:e2:f9:81 by local choice (reason=3) wlan0: direct probe to AP 00:0c:41:e2:f9:81 (try 1) wlan0: direct probe responded wlan0: authenticate with AP 00:0c:41:e2:f9:81 (try 1) wlan0: authenticated wlan0: associate with AP 00:0c:41:e2:f9:81 (try 1) wlan0: RX AssocResp from 00:0c:41:e2:f9:81 (capab=0x411 status=0 aid=2) wlan0: associated ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready b43-phy0 debug: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff NOHZ: local_softirq_pending 08 NOHZ: local_softirq_pending 08 NOHZ: local_softirq_pending 08 NOHZ: local_softirq_pending 08 NOHZ: local_softirq_pending 08 NOHZ: local_softirq_pending 08 NOHZ: local_softirq_pending 08 NOHZ: local_softirq_pending 08 NOHZ: local_softirq_pending 08 NOHZ: local_softirq_pending 08 wlan0: no IPv6 routers present CE: hpet increasing min_delta_ns to 15000 nsec b43-phy0 ERROR: Fatal DMA error: 0x, 0x0400, 0x, 0x, 0x, 0x b43-phy0: Controller RESET (DMA error) ... b43-phy0 debug: Wireless interface stopped b43-phy0 debug: DMA-64 rx_ring: Used slots 8/64, Failed frames 0/0 = 0.0%, Average tries 0.00 b43-phy0 debug: DMA-64 tx_ring_AC_BK: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00 b43-phy0 debug: DMA-64 tx_ring_AC_BE: Used slots 256/256, Failed frames 0/7742 = 0.0%, Average tries 1.37 b43-phy0 debug: DMA-64 tx_ring_AC_VI: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00 b43-phy0 debug: DMA-64 tx_ring_AC_VO: Used slots 2/256, Failed frames 0/555 = 0.0%, Average tries 1.01 b43-phy0 debug: DMA-64 tx_ring_mcast: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00 b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23) b43-phy0 debug: b2062: Using crystal tab entry 19200 kHz. b43-phy0 debug: Chip initialized b43-phy0 debug: 64-bit DMA initialized b43-phy0 debug: QoS enabled b43-phy0 debug: Wireless interface started b43-phy0: Controller restarted b43-phy0 ERROR: Fatal DMA error: 0x0400, 0x, 0x, 0x, 0x, 0x b43-phy0: Controller RESET (DMA error) ... b43-phy0 debug: Wireless interface stopped b43-phy0 debug: DMA-64 rx_ring: Used slots 0/64, Failed frames 0/0 = 0.0%, Average tries 0.00 b43-phy0 debug: DMA-64 tx_ring_AC_BK: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00 b43-phy0 debug: DMA-64 tx_ring_AC_BE: Used slots 1/256, Failed frames 0/