LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Wireless Networking (https://www.linuxquestions.org/questions/linux-wireless-networking-41/)
-   -   Broadcom 4318 woes (https://www.linuxquestions.org/questions/linux-wireless-networking-41/broadcom-4318-woes-486931/)

poblano 09-25-2006 07:13 PM

Broadcom 4318 woes
 
Once upon a time I managed to get my Dell Inspiron B130 laptop to access my home WLAN using the FC5 native bcm43xx driver that came with BLAG 50000. Then I brought it down to my son's college in Virginia, where the hotel's wireless network seemed impenetrable to it, while my son's Windows XP laptop had no issues. Since then I haven't been able to make a wireless connection to my Netgear WG102 access point. I've spent hours troubleshooting - even reinstalling BLAG and the bcm43xx firmware from scratch - to no avail.

A quick Google reveals that the error I see in /var/log/messages seems common enough:

Code:

pablo@grandpaboy=> dmesg | grep bcm43
bcm43xx driver
bcm43xx: Chip ID 0x4318, rev 0x2
bcm43xx: Number of cores: 4
bcm43xx: Core 0: ID 0x800, rev 0xd, vendor 0x4243, enabled
bcm43xx: Core 1: ID 0x812, rev 0x9, vendor 0x4243, disabled
bcm43xx: Core 2: ID 0x804, rev 0xc, vendor 0x4243, enabled
bcm43xx: Core 3: ID 0x80d, rev 0x7, vendor 0x4243, enabled
bcm43xx: PHY connected
bcm43xx: Detected PHY: Version: 3, Type 2, Revision 7
bcm43xx: Detected Radio: ID: 8205017f (Manuf: 17f Ver: 2050 Rev: 8)
bcm43xx: Radio turned off
bcm43xx: Radio turned off
bcm43xx: PHY connected
bcm43xx: Radio turned on
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()
bcm43xx: WARNING: Writing invalid LOpair (low: 53, high: 46, index: 134)
 <f8a423e6> bcm43xx_phy_lo_adjust+0x2cc/0x2f1 [bcm43xx]  <f8a41c56> bcm43xx_phy_initb6+0x72d/0x855 [bcm43xx]
 <c0405047> do_IRQ+0x75/0x80  <f8a4307e> bcm43xx_phy_initg+0x11e/0xdb5 [bcm43xx]
 <f8a44fb1> bcm43xx_phy_init+0x6dd/0x706 [bcm43xx]  <f8a3e123> bcm43xx_radio_turn_on+0x23d/0x244 [bcm43xx]
 <f8a337a9> bcm43xx_write_initvals+0x56/0x89 [bcm43xx]  <f8a34c61> bcm43xx_chip_init+0x6aa/0x979 [bcm43xx]
 <f8a36a76> bcm43xx_init_board+0x434/0xc00 [bcm43xx]  <c05b3176> rtnetlink_dump_ifinfo+0x72/0x80
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()
bcm43xx: WARNING: Writing invalid LOpair (low: 53, high: 46, index: 134)
 <f8a423e6> bcm43xx_phy_lo_adjust+0x2cc/0x2f1 [bcm43xx]  <f8a43bd8> bcm43xx_phy_initg+0xc78/0xdb5 [bcm43xx]
 <f8a44fb1> bcm43xx_phy_init+0x6dd/0x706 [bcm43xx]  <f8a3e123> bcm43xx_radio_turn_on+0x23d/0x244 [bcm43xx]
 <f8a337a9> bcm43xx_write_initvals+0x56/0x89 [bcm43xx]  <f8a34c61> bcm43xx_chip_init+0x6aa/0x979 [bcm43xx]
 <f8a36a76> bcm43xx_init_board+0x434/0xc00 [bcm43xx]  <c05b3176> rtnetlink_dump_ifinfo+0x72/0x80
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()
bcm43xx: WARNING: Writing invalid LOpair (low: 53, high: 46, index: 134)
 <f8a423e6> bcm43xx_phy_lo_adjust+0x2cc/0x2f1 [bcm43xx]  <f8a40e43> bcm43xx_phy_init_pctl+0x270/0x286 [bcm43xx]
 <f8a43cb7> bcm43xx_phy_initg+0xd57/0xdb5 [bcm43xx]  <f8a44fb1> bcm43xx_phy_init+0x6dd/0x706 [bcm43xx]
 <f8a3e123> bcm43xx_radio_turn_on+0x23d/0x244 [bcm43xx]  <f8a337a9> bcm43xx_write_initvals+0x56/0x89 [bcm43xx]
 <f8a34c61> bcm43xx_chip_init+0x6aa/0x979 [bcm43xx]  <f8a36a76> bcm43xx_init_board+0x434/0xc00 [bcm43xx]
bcm43xx: Chip initialized
bcm43xx: DMA initialized
bcm43xx: 80211 cores initialized
bcm43xx: Keys cleared
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()
bcm43xx: WARNING: Writing invalid LOpair (low: 53, high: 46, index: 134)
 <f8a423e6> bcm43xx_phy_lo_adjust+0x2cc/0x2f1 [bcm43xx]  <f8a3f32e> bcm43xx_phy_set_baseband_attenuation+0x84/0x108 [bcm43xx]
 <f8a42c8f> bcm43xx_phy_lo_g_measure+0x884/0xb55 [bcm43xx]  <c0423caf> __mod_timer+0x8a/0x94
 <f8a33542> bcm43xx_shm_read32+0x2c/0xa1 [bcm43xx]  <f8a3408d> bcm43xx_periodic_task_handler+0xf0/0x325 [bcm43xx]
 <c042372b> run_timer_softirq+0x10f/0x16b  <f8a33f9d> bcm43xx_periodic_task_handler+0x0/0x325 [bcm43xx]
bcm43xx: set security called
bcm43xx:    .level = 0
bcm43xx:    .enabled = 0
bcm43xx:    .encrypt = 0
bcm43xx: set security called
bcm43xx:    .level = 0
bcm43xx:    .enabled = 0
bcm43xx:    .encrypt = 0
bcm43xx: set security called
bcm43xx:    .level = 0
bcm43xx:    .enabled = 0
bcm43xx:    .encrypt = 0
bcm43xx: set security called
bcm43xx:    .level = 0
bcm43xx:    .enabled = 0
bcm43xx:    .encrypt = 0
bcm43xx: set security called
bcm43xx:    .level = 0
bcm43xx:    .enabled = 0
bcm43xx:    .encrypt = 0
bcm43xx: set security called
bcm43xx:    .level = 0
bcm43xx:    .enabled = 0
bcm43xx:    .encrypt = 0
bcm43xx: set security called
bcm43xx:    .level = 0
bcm43xx:    .enabled = 0
bcm43xx:    .encrypt = 0
bcm43xx: Radio turned off
bcm43xx: DMA 0x0200 (RX) max used slots: 0/64
bcm43xx: DMA 0x0260 (TX) max used slots: 0/512
bcm43xx: DMA 0x0240 (TX) max used slots: 0/512
bcm43xx: DMA 0x0220 (TX) max used slots: 2/512
bcm43xx: DMA 0x0200 (TX) max used slots: 0/512
bcm43xx: Radio turned on
bcm43xx: Chip initialized
bcm43xx: DMA initialized
bcm43xx: 80211 cores initialized
bcm43xx: Keys cleared

Unfortunately, based on what I've read here and elsewhere, the only remedy seems to be either hand patching the kernel or waiting until 2.6.19. The modules are there:

Code:

root@grandpaboy=> lsmod | grep bcm
bcm43xx              422209  0
ieee80211softmac      31553  1 bcm43xx
ieee80211              31625  2 bcm43xx,ieee80211softmac

but an iwconfig shows that the access point is "invalid".

Code:

root@grandpaboy=> iwconfig eth1
eth1      IEEE 802.11b/g  ESSID:off/any  Nickname:"Broadcom 4318"
          Mode:Managed  Frequency=2.484 GHz  Access Point: Invalid
          Bit Rate=11 Mb/s  Tx-Power=18 dBm
          RTS thr:off  Fragment thr:off
          Encryption key:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0

This is the case no matter how many times I reset the wireless router or reboot the PC. Worst of all, my wife keeps asking the question "why don't you just install Windows? You know it works." What's a poor Linux enthusiast to do? *sigh*

zetabill 09-25-2006 07:58 PM

First make sure you aren't overlooking and security keys.

The Broadcom 4318 chip is poorly supported by bcm43xx right now. I know this because I use the same chip myself. It's no surprise to me that it worked at one point and is giving you problems now. I bet if you stuck it right next to the router you would get a connection. :)

Anyway... As frustrating as it might be you probably want to grab the .inf and .sys driver files and use ndiswrapper. Though it's ndiswrapper it works better than bcm43xx. Be forewarned though that bcm43xx and ndiswrapper do not mix very well. Look up how to blacklist the bcm43xx module for your distro (it's as easy as adding two lines to a file but I don't have exact instructions) and install the driver with ndiswrapper. The repositories most likely have the ndiswrapper kernel module package for you so compiling and all that shouldn't be necessary. Also make sure you have the kernel headers, too.

On a side note... there's nothing more offensive than having someone tell you to install Windows. I've been known to snap at them people... loved ones included... :)

poblano 10-27-2006 03:25 PM

Mystery solved!
 
Mystery solved! I gave up on the bcm4318 card about a week ago and bought an Intel Pro Wireless 2200 card for about $30. I no longer saw kernel errors in the log, but the device kept complaining that the "radio kill switch was on". I went to the ipw2200 SourceForge site and found that my laptop (a Dell Inspiron B130) toggles the wireless connection on and off via the Fn+F2 key combination. And to think I've been racking my brain about this for over two months!

Shadow_7 11-13-2006 02:03 AM

I got mine working. After much grief, but it works. Somehow in the process of setting up the bcm43xx driver in the kernel, my ndiswrapper started working.

Anyway here's the related kernel .config options:
CONFIG_BCM43XX=m
CONFIG_BCM43XX_DEBUG=y
CONFIG_BCM43XX_DMA=y
CONFIG_BCM43XX_DMA_MODE=y
CONFIG_IEEE80211=m
CONFIG_IEEE80211_CRYPT_WEP=m
CONFIG_IEEE80211_SOFTMAC=m
CONFIG_NET_RADIO=y
CONFIG_NET_WIRELESS=y

And here's the related lsmod listing:
bcm43xx 420672 0
ieee80211softmac 31104 1 bcm43xx
ieee80211 32520 2 bcm43xx,ieee80211softmac
ieee80211_crypt 6016 1 ieee80211
ndiswrapper 179220 0

Although both bcm43xx and ndiswrapper are loaded, the ndiswrapper is the one in use. Since wlan0 is aliased to ndiswrapper and bcm43xx was wanting to use eth1. iwconfig only shows wlan0. I haven't tried unloading the bcm43xx driver to see if that affects it's operability. But so far it works with WEP and doesn't seem to have the limited range others seem to suffer from.

Previously my ndiswrapper attempt installed fine. And did all of the driver stuff. Only iwconfig wasn't able to change much for the device. And network operability was nill except for pinging the local device, which seemed to work. tcpdump on a receiving machine showed no input when trying to ping it. Along with a no route to host type error on the 4318 machine.

Hopefully this helps someone spend less time getting theirs going. I just got this laptop less than a week ago and have most things working. To include the dri for my ati Radeon XPress 200M with the fglrx driver. Special note on that one is make sure CONFIG_DRM=m and the module drm is NOT loaded.

Shadow_7 11-13-2006 02:12 AM

I guess I should add:

computer: Compaq Presario S5305WM (if my memory serves)
kernel: 2.6.18
distro: debian sarge 3.1r3 (as installed from the CD's)
distro: debian sid (still works after upgrade)
ndiswrapper: 1.28
win32 drivers: bcmwl5.inf bcmwl5.sys (as came with the original XP media edition for the machine)


All times are GMT -5. The time now is 07:12 AM.