# [SOLVED] kernel 2.6.17-gentoo-r8 driver problmes for bcm4318

## koprimer

I cannot seem to connect to my wireless router using this in-kernel driver.  I know the driver is still in development, maybe this can help the developers.  The only real problem I seem to have with this driver is it's inability to scan properly...  I've tried with encryption and without, hidden and shown essid, 108Mbs support and without... Nothing seems to work.  I have been able to successfully connect to the router a couple of times...  as soon as I am able to, I shutdown my system and my router, and try reconnecting again... this of course fails.  My laptop has always been right next to my router so distance should not be an issue here.

Also, before I supply some information about my system, I would like to point out, the couple of times I was able to connect, I had another laptop running and connecting to the router at the same time.

System Information

Kernel:

```
# uname -r

2.6.17-gentoo-r8

```

Wireless device:

```
# lspci | grep Broadcom

00:0b.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)

```

```
# lspci -n | grep 14e4

00:0b.0 0280: 14e4:4318 (rev 02)

```

Firmware:

```
# bcm43xx-fwcutter -w /lib/firmware wl_apsta.o

bcm43xx-fwcutter can cut the firmware out of wl_apsta.o

  filename :  wl_apsta.o

  version  :  3.130.20.0

  MD5      :  e08665c5c5b66beb9c3b2dd54aa80cb3

```

Connection POC

Steps I took to scan for wireless aps:

```
# rmmod bcm43xx

# modprobe bcm43xx

# /etc/init.d/net.eth1 stop

 * Stopping eth1

 *   Bringing down eth1

 *     Shutting down eth1 ...                                         [ ok ]

 *     Stopping wpa_cli on eth1 ...                                   [ ok ]

 *     Stopping wpa_supplicant on eth1 ...                            [ ok ]

# ifconfig eth1 up

# iwlist eth1 scan

eth1      No scan results

```

dmesg:

```

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: 1/512

bcm43xx: DMA 0x0200 (TX) max used slots: 0/512

ACPI: PCI interrupt for device 0000:00:0b.0 disabled

bcm43xx driver

ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 17 (level, low) -> IRQ 22

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, enabled

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: 49, high: 0, index: 109)

 <e0c0dda1> bcm43xx_phy_lo_adjust+0xc1/0x3b0 [bcm43xx]  <e0c0b7d6> bcm43xx_phy_initb6+0x286/0xb50 [bcm43xx]

 <e0c0d04b> bcm43xx_phy_initg+0x32b/0x660 [bcm43xx]  <e0c10461> bcm43xx_phy_init+0xd1/0x190 [bcm43xx]

 <e0bfd05c> bcm43xx_chip_init+0xdc/0x4e0 [bcm43xx]  <e0bfdf4b> bcm43xx_wireless_core_init+0x6b/0x4e0 [bcm43xx]

 <e0bfafd7> bcm43xx_wireless_core_reset+0xd7/0x140 [bcm43xx]  <e0bfecb8> bcm43xx_init_board+0x98/0x4d0 [bcm43xx]

 <c03fa4b6> dev_open+0x76/0x90  <c03fe8d4> dev_mc_upload+0x24/0x40

 <c03fbcfc> dev_change_flags+0x5c/0x140  <c043bcce> devinet_ioctl+0x4ee/0x590

 <c043de96> inet_ioctl+0xa6/0xd0  <c03f01ea> sock_ioctl+0x1ba/0x270

 <c017cffe> do_ioctl+0x9e/0xb0  <c01177c0> do_page_fault+0x1c0/0x680

 <c017d1c5> vfs_ioctl+0x65/0x200  <c017d3a5> sys_ioctl+0x45/0x70

 <c010303b> sysenter_past_esp+0x54/0x75

bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()

bcm43xx: WARNING: Writing invalid LOpair (low: 49, high: 0, index: 109)

 <e0c0dda1> bcm43xx_phy_lo_adjust+0xc1/0x3b0 [bcm43xx]  <e0c0d026> bcm43xx_phy_initg+0x306/0x660 [bcm43xx]

 <e0c10461> bcm43xx_phy_init+0xd1/0x190 [bcm43xx]  <e0bfd05c> bcm43xx_chip_init+0xdc/0x4e0 [bcm43xx]

 <e0bfdf4b> bcm43xx_wireless_core_init+0x6b/0x4e0 [bcm43xx]  <e0bfafd7> bcm43xx_wireless_core_reset+0xd7/0x140 [bcm43xx]

 <e0bfecb8> bcm43xx_init_board+0x98/0x4d0 [bcm43xx]  <c03fa4b6> dev_open+0x76/0x90

 <c03fe8d4> dev_mc_upload+0x24/0x40  <c03fbcfc> dev_change_flags+0x5c/0x140

 <c043bcce> devinet_ioctl+0x4ee/0x590  <c043de96> inet_ioctl+0xa6/0xd0

 <c03f01ea> sock_ioctl+0x1ba/0x270  <c017cffe> do_ioctl+0x9e/0xb0

 <c01177c0> do_page_fault+0x1c0/0x680  <c017d1c5> vfs_ioctl+0x65/0x200

 <c017d3a5> sys_ioctl+0x45/0x70  <c010303b> sysenter_past_esp+0x54/0x75

bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()

bcm43xx: WARNING: Writing invalid LOpair (low: 49, high: 0, index: 109)

 <e0c0dda1> bcm43xx_phy_lo_adjust+0xc1/0x3b0 [bcm43xx]  <e0c08929> bcm43xx_phy_init_pctl+0x1a9/0x340 [bcm43xx]

 <e0c0cee0> bcm43xx_phy_initg+0x1c0/0x660 [bcm43xx]  <e0c10461> bcm43xx_phy_init+0xd1/0x190 [bcm43xx]

 <e0bfd05c> bcm43xx_chip_init+0xdc/0x4e0 [bcm43xx]  <e0bfdf4b> bcm43xx_wireless_core_init+0x6b/0x4e0 [bcm43xx]

 <e0bfafd7> bcm43xx_wireless_core_reset+0xd7/0x140 [bcm43xx]  <e0bfecb8> bcm43xx_init_board+0x98/0x4d0 [bcm43xx]

 <c03fa4b6> dev_open+0x76/0x90  <c03fe8d4> dev_mc_upload+0x24/0x40

 <c03fbcfc> dev_change_flags+0x5c/0x140  <c043bcce> devinet_ioctl+0x4ee/0x590

 <c043de96> inet_ioctl+0xa6/0xd0  <c03f01ea> sock_ioctl+0x1ba/0x270

 <c017cffe> do_ioctl+0x9e/0xb0  <c01177c0> do_page_fault+0x1c0/0x680

 <c017d1c5> vfs_ioctl+0x65/0x200  <c017d3a5> sys_ioctl+0x45/0x70

 <c010303b> sysenter_past_esp+0x54/0x75

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: 49, high: 0, index: 109)

 <e0c0dda1> bcm43xx_phy_lo_adjust+0xc1/0x3b0 [bcm43xx]  <e0c0ee83> bcm43xx_phy_lo_g_measure+0x723/0xe00 [bcm43xx]

 <c0118900> enqueue_task+0x20/0x40  <e0bfcd9f> bcm43xx_mac_suspend+0x6f/0xa0 [bcm43xx]

 <e0bfe726> bcm43xx_periodic_every120sec+0x46/0xc0 [bcm43xx]  <e0bfe9ee> bcm43xx_periodic_task_handler+0x9e/0x100 [bcm43xx]

 <c0139ade> hrtimer_run_queues+0xbe/0x100  <e0bfe950> bcm43xx_periodic_task_handler+0x0/0x100 [bcm43xx]

 <c012b54a> run_timer_softirq+0xda/0x1d0  <c0126bd2> __do_softirq+0x72/0xf0

 <c0126c85> do_softirq+0x35/0x40  <c0126d65> irq_exit+0x45/0x50

 <c0103afc> apic_timer_interrupt+0x1c/0x24  <c01542a2> copy_pte_range+0x192/0x2b0

 <c0154467> copy_page_range+0xa7/0xe0  <c011e8f4> dup_mm+0x294/0x3a0

 <c011ea65> copy_mm+0x65/0x90  <c011f4a3> copy_process+0x453/0xe60

 <c011ffbd> do_fork+0x7d/0x1e0  <c02417b2> copy_to_user+0x42/0x60

 <c012e549> sys_rt_sigprocmask+0xa9/0x120  <c0101bce> sys_clone+0x3e/0x50

 <c010303b> sysenter_past_esp+0x54/0x75

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: 1/512

bcm43xx: DMA 0x0200 (TX) max used slots: 0/512

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: 49, high: 0, index: 109)

 <e0c0dda1> bcm43xx_phy_lo_adjust+0xc1/0x3b0 [bcm43xx]  <e0c0b7d6> bcm43xx_phy_initb6+0x286/0xb50 [bcm43xx]

 <e0c0d04b> bcm43xx_phy_initg+0x32b/0x660 [bcm43xx]  <e0c10461> bcm43xx_phy_init+0xd1/0x190 [bcm43xx]

 <e0bfd05c> bcm43xx_chip_init+0xdc/0x4e0 [bcm43xx]  <e0bfdf4b> bcm43xx_wireless_core_init+0x6b/0x4e0 [bcm43xx]

 <e0bfecb8> bcm43xx_init_board+0x98/0x4d0 [bcm43xx]  <c03fa4b6> dev_open+0x76/0x90

 <c03fe8d4> dev_mc_upload+0x24/0x40  <c03fbcfc> dev_change_flags+0x5c/0x140

 <c043bcce> devinet_ioctl+0x4ee/0x590  <c043de96> inet_ioctl+0xa6/0xd0

 <c03f01ea> sock_ioctl+0x1ba/0x270  <c017cffe> do_ioctl+0x9e/0xb0

 <c01177c0> do_page_fault+0x1c0/0x680  <c017d1c5> vfs_ioctl+0x65/0x200

 <c017d3a5> sys_ioctl+0x45/0x70  <c010303b> sysenter_past_esp+0x54/0x75

bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()

bcm43xx: WARNING: Writing invalid LOpair (low: 49, high: 0, index: 109)

 <e0c0dda1> bcm43xx_phy_lo_adjust+0xc1/0x3b0 [bcm43xx]  <e0c0d026> bcm43xx_phy_initg+0x306/0x660 [bcm43xx]

 <e0c10461> bcm43xx_phy_init+0xd1/0x190 [bcm43xx]  <e0bfd05c> bcm43xx_chip_init+0xdc/0x4e0 [bcm43xx]

 <e0bfdf4b> bcm43xx_wireless_core_init+0x6b/0x4e0 [bcm43xx]  <e0bfecb8> bcm43xx_init_board+0x98/0x4d0 [bcm43xx]

 <c03fa4b6> dev_open+0x76/0x90  <c03fe8d4> dev_mc_upload+0x24/0x40

 <c03fbcfc> dev_change_flags+0x5c/0x140  <c043bcce> devinet_ioctl+0x4ee/0x590

 <c043de96> inet_ioctl+0xa6/0xd0  <c03f01ea> sock_ioctl+0x1ba/0x270

 <c017cffe> do_ioctl+0x9e/0xb0  <c01177c0> do_page_fault+0x1c0/0x680

 <c017d1c5> vfs_ioctl+0x65/0x200  <c017d3a5> sys_ioctl+0x45/0x70

 <c010303b> sysenter_past_esp+0x54/0x75

bcm43xx: Chip initialized

bcm43xx: DMA initialized

bcm43xx: 80211 cores initialized

bcm43xx: Keys cleared

```

If anyone has any suggestions or would like to help... please let me know.

[Edit] Just wanted to mention I'm using UDev 087-r1 and to thank the developers of the bcm43xx driver.Last edited by koprimer on Mon Sep 25, 2006 7:35 am; edited 1 time in total

----------

## koprimer

Besides the errors, I fixed the scanning problem, though I haven't had much luck connecting to my router still.

I have an acer, and like some posts I've read, you need a program to turn on your wireless card.  What fixes this is:

```
# emerge acerhk

# modprobe acerhk
```

Also added "acerhk" to my /etc/autoload.modules.d/kernel-2.6 file.

----------

## koprimer

I'm finally able to successfully connect to my Access Point.  There are still a few things wrong with this driver, but glad it works none the less.  Below are a few tips for those of you to try if you're having problems as well:

Tip 1

Compile the driver as a module with debug support.

Tip 2

Make sure you install firmware using bcm43xx-fwcutter, you can get the firmware here.

Tip 3

If the firmware isn't loading, then check to see if you have udev 96 and if so try an older version.

Tip 4

If you have an acer laptop, emerge acerhk and add it to your autoload.modules.  (might have to do the same with other software for different laptops)

Tip 5

Make your essid shown (non hidden).  I had a hell of a time trying to connect to my ap when the essid was hidden.  I tried everything, even setting the ap_scan = 2 in my wpa_supplicant.conf.  I don't see why everyone believes a hidden essid isn't secure when it's virtually impossible for linux users to connect to it (I had the same problem with the hostap and orinico driver with my old prism2 card).

Tip 6

rmmod bcm43xx; modprobe bcm43xx; everytime you disconnect from your ap and reconnect.  I would just make it a habbit to do this for every attempt to connect and associate, else you won't get far.

Tip 7

This was another odd problem I had but if you do try to connect to an AP with WPA-PSK using wpa_supplicant and you have problems associating, try only to include in your settings: ssid, psk, and maybe priority.

I hope this will help some.

----------

## JoseJX

Re: Hidden SSIDs, they're not secure, it's just that SoftMAC requires the AP to be found by a regular scan before connecting.  Since they don't broadcast their SSID, SoftMAC can't connect.  It's a design limitation of SoftMAC (well, not really, not broadcasting your SSID is a broken interpretation of the 802.11 spec), not a security feature working.

----------

## Poe

@koprimer.. The adress is not found. Have you got other adress or can you send firmware to me?

thanks

Poe

I found and downloaded it - http://sidulus.textdrive.com/bcmwl5sys.zip

----------

