# Broadcom wireless help

## thrashpirate

Allright, I hate having to post for help but I've been troubleshooting this for hours. Ifconfig will not bring up the wlan0 interface but it shows in iwconfig and ifconfig -a. See outputs below.

lspci:

Broadcom bcm4306

00:0a.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)

thrashpirate linux # lspci -n | grep 14e4:43

00:0a.0 0280: 14e4:4320 (rev 03)

dmesg:

bcm43xx: Chip ID 0x4306, rev 0x3

bcm43xx: Number of cores: 5

bcm43xx: Core 0: ID 0x800, rev 0x4, vendor 0x4243

bcm43xx: Core 1: ID 0x812, rev 0x5, vendor 0x4243

bcm43xx: Core 2: ID 0x80d, rev 0x2, vendor 0x4243

bcm43xx: Core 3: ID 0x807, rev 0x2, vendor 0x4243

bcm43xx: Core 4: ID 0x804, rev 0x9, vendor 0x4243

bcm43xx: PHY connected

bcm43xx: Detected PHY: Analog: 2, Type 2, Revision 2

bcm43xx: Detected Radio: ID: 2205017f (Manuf: 17f Ver: 2050 Rev: 2)

bcm43xx: Radio turned off

bcm43xx: Radio turned off

thrashpirate linux # ifconfig wlan0 up

SIOCSIFFLAGS: No such file or directory

thrashpirate linux # iwlist wlan0 scan

wlan0     Interface doesn't support scanning : No such device

iwconfig:

wlan0     IEEE 802.11b/g  ESSID:"******"  Nickname:"Broadcom 4306"

          Mode:Managed  Access Point: Invalid

          RTS thr:off   Fragment thr:off

          Encryption key:********   Security mode:open

          Link Quality=0/100  Signal level=0 dBm  Noise level=0 dBm

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

ifconfig -a:

snip*

wlan0     Link encap:Ethernet  HWaddr 00:90:96:8F:1F:F6

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

          Interrupt:5 Base address:0x8000

I've done the install with the firmware from Here

Asterisks in iwconfig are replacing real ssid and wep key for this forum post.

I'm running out of ideas... Thanks in advance. 

Thrashpirate   No wireless for me   :Crying or Very sad: 

----------

## NeddySeagoon

thrashpirate,

What driver are you using ?

The testing vanilla-sources has bc43 included and its reported to work well - I don't have on to test.

----------

## thrashpirate

I started with genkernel but have since recompiled and disabled some unneeded things. I'm not 100% sure as I've always used ndiswrapper but after this new install... in dmesg it was giving an error about microcode (I don't recall exact error but it gave a link for firmware)... that's when I followed the link (b43legacy, b43-fwcutter). 

here's my lsmod output:

```
thrashpirate ~ # lsmod

Module                  Size  Used by

rtc                     5656  0

usbhid                 15872  0

video                  10896  0

backlight               1924  1 video

output                  1408  1 video

battery                 6536  0

ac                      2180  0

bcm43xx               384416  0

ieee80211softmac       13952  1 bcm43xx

ehci_hcd               19084  0

uhci_hcd               14220  0

thermal                 8220  0

pcmcia                 19604  0

processor              14000  1 thermal

button                  3728  0

firmware_class          3840  2 bcm43xx,pcmcia

usbcore                73624  4 usbhid,ehci_hcd,uhci_hcd

via_rhine              12936  0

mii                     2688  1 via_rhine

yenta_socket           14604  1

rsrc_nonstatic          5248  1 yenta_socket

pcmcia_core            18192  3 pcmcia,yenta_socket,rsrc_nonstatic

```

----------

## NeddySeagoon

thrashpirate,

What kernel are you using ?  

uname -a will show you.

What drivers did you emerge ?

You need to get rid of the firmware error or it cannot work regardless of any of the above.

What *exactly* did the error say ?

----------

## thrashpirate

Hey, thanks for the reply. The error is gone after I followed the link the error gave to download the b43legacy firmware. Are there additional drivers I need to use? 

Kernel:

```
thrashpirate ~ # uname -a

Linux thrashpirate 2.6.23-gentoo-r3 #2 Fri Dec 28 17:35:36 EST 2007 i686 mobile AMD Athlon(tm) XP-M 2400+ AuthenticAMD GNU/Linux
```

Here is what dmesg shows now after downloading the b43legacy firmware and b43-fwcutter(no longer an error).

dmesg:

```
bcm43xx: Chip ID 0x4306, rev 0x3

bcm43xx: Number of cores: 5

bcm43xx: Core 0: ID 0x800, rev 0x4, vendor 0x4243

bcm43xx: Core 1: ID 0x812, rev 0x5, vendor 0x4243

bcm43xx: Core 2: ID 0x80d, rev 0x2, vendor 0x4243

bcm43xx: Core 3: ID 0x807, rev 0x2, vendor 0x4243

bcm43xx: Core 4: ID 0x804, rev 0x9, vendor 0x4243

bcm43xx: PHY connected

bcm43xx: Detected PHY: Analog: 2, Type 2, Revision 2

bcm43xx: Detected Radio: ID: 2205017f (Manuf: 17f Ver: 2050 Rev: 2)

bcm43xx: Radio turned off

bcm43xx: Radio turned off

```

Since the error is gone, I assume it can now deal with the wireless card. Now what I don't understand is why wlan0 shows up in ifconfig -a but when I try to bring it up, I get:

```
thrashpirate ~ # ifconfig wlan0 up

SIOCSIFFLAGS: No such file or directory

```

Thanks again.

----------

## thrashpirate

I just  noticed one other thing in regards to wireless in dmesg:

```
ieee80211: 802.11 data/management/control stack, git-1.1.13

ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>

ieee80211_crypt: registered algorithm 'NULL'

ieee80211_crypt: registered algorithm 'WEP'
```

Any ideas?

----------

## NeddySeagoon

thrashpirate,

Are there any errors in dmesg after you give the

```
ifconfig wlan0 up
```

command ?

----------

## thrashpirate

Yes, thanks for the tip.  I didn't check after I tried but also checking syslog the error is there:

 /var/log/messages.

error:

```
bcm43xx: PHY connected

bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.

bcm43xx: core_up for active 802.11 core failed (-2)

```

----------

## NeddySeagoon

thrashpirate,

The device needs the file bcm43xx_microcode5.fw to be installed in /lib/firmware.

Thats were the kernel looks for the firmware when the module loads.

If the file is missimg, or called something else, it will not be found. A compressed file will not work either.

----------

## thrashpirate

Thanks! that worked to get it to come up in ifconfig. 

Now I'm trying to get it to recognize my wireless network. 

```
thrashpirate ~ # iwlist scan

lo        Interface doesn't support scanning.

eth0      Interface doesn't support scanning.

wlan0     No scan results
```

The reason I never got the bcm43xx_microcode5.fw into /lib/firmware was because the site says if you have the 4306 Broadcom model you should use the b43legacy firmware with b43-fwcutter. But since it needed bcm43xx_microcode5.fw I had to use the b43 firmware with bcm43xx-fwcutter to get it to work. 

Now that the int comes up with ifconfig hopefully I can get it to recognize my network. 

One other thing that I'm not sure is important... the light on the wireless card (laptop) is not on. 

dmesg output:

```
bcm43xx: PHY connected

bcm43xx: Microcode rev 0x127, pl 0xe (2005-04-18  02:36:27)

bcm43xx: Radio turned on

bcm43xx: Radio disabled by hardware

bcm43xx: Chip initialized

bcm43xx: 30-bit DMA initialized

bcm43xx: Keys cleared

bcm43xx: Selected 802.11 core (phytype 2)

bcm43xx: set security called, .active_key = 0, .level = 1, .enabled = 1, .encrypt = 1

```

closer and closer

Any reason I wouldn't get any results from a scan? I know the signal strength is good because the windoze box next to this laptop gets a signal strength around 70%

----------

## NeddySeagoon

thrashpirate,

A few things.  The firmware you require is determined by the kernel module you build. The filename is hard coded into it.

If you have chosen the wrong kernel module, it will ask for the firmware it wants, not the firmware your device actually needs.

Many wireless interfaces need to be up before they will admit to being wireless. 

```
ifconfig wlan0 up
```

fixes that.

Now you can drive the wireless extensions with ifwconfig.  See

```
ifwconfig --help
```

iwspy is also useful.

```
bcm43xx: Radio disabled by hardware
```

suggests that your system has a Radio on/off button too.

----------

## thrashpirate

I finally got iwlist scan to show my network but upon a reboot I'm back at 

```
iwlist scan

No scan results
```

The driver appears to be working and the radio is now enabled ... any reason after a reboot I would get No scan results?

ifconfig will let me bring up the interface and it shows in iwconfig

The driver is loaded   :Mad: 

Thanks!

----------

## thrashpirate

Some additional information... I configured /etc/conf.d/net 

```
essid_eth1="wireless"

config_eth1=( "dhcp" )

dhcpd_eth1="-t 15"

```

Note that my wireless interface is no longer wlan0, not a big deal but too long to explain.  

When I try to start the interface I receive:

```
thrashpirate init.d # /etc/init.d/net.eth1 start

 * Starting eth1

 *   Configuring wireless network for eth1

 *   Failed to configure wireless for eth1                                [ !! ]

```

I tailed /var/log/messages and saw:

```

Jan  1 22:08:59 thrashpirate bcm43xx: PHY connected

Jan  1 22:08:59 thrashpirate bcm43xx: Microcode rev 0x127, pl 0xe (2005-04-18  02:36:27)

Jan  1 22:08:59 thrashpirate bcm43xx: Radio turned on

Jan  1 22:08:59 thrashpirate bcm43xx: Radio enabled by hardware

Jan  1 22:08:59 thrashpirate bcm43xx: Chip initialized

Jan  1 22:09:00 thrashpirate bcm43xx: 30-bit DMA initialized

Jan  1 22:09:00 thrashpirate bcm43xx: Keys cleared

Jan  1 22:09:00 thrashpirate bcm43xx: Selected 802.11 core (phytype 2)

Jan  1 22:09:00 thrashpirate ADDRCONF(NETDEV_UP): eth1: link is not ready

Jan  1 22:09:00 thrashpirate bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0

Jan  1 22:09:10 thrashpirate rc-scripts: Failed to configure wireless for eth1

Jan  1 22:09:10 thrashpirate bcm43xx: Radio turned off

Jan  1 22:09:10 thrashpirate bcm43xx: Radio turned off

Jan  1 22:09:10 thrashpirate bcm43xx: DMA-32 0x0200 (RX) max used slots: 0/64

Jan  1 22:09:10 thrashpirate bcm43xx: DMA-32 0x02A0 (TX) max used slots: 0/512

Jan  1 22:09:10 thrashpirate bcm43xx: DMA-32 0x0280 (TX) max used slots: 0/512

Jan  1 22:09:10 thrashpirate bcm43xx: DMA-32 0x0260 (TX) max used slots: 0/512

Jan  1 22:09:10 thrashpirate bcm43xx: DMA-32 0x0240 (TX) max used slots: 0/512

Jan  1 22:09:10 thrashpirate bcm43xx: DMA-32 0x0220 (TX) max used slots: 63/512

Jan  1 22:09:10 thrashpirate bcm43xx: DMA-32 0x0200 (TX) max used slots: 0/512

```

----------

## NeddySeagoon

thrashpirate,

You may need some extra commands in /etc/conf.d/net

It may need some pauses after scanninig and so on.

Some examples are given in /etc/conf.d/net.example, others in The Hanbook

----------

