Differences between revisions 26 and 27
Revision 26 as of 2008-09-23 16:22:12
Size: 9153
Comment: minor formatting change
Revision 27 as of 2008-10-28 18:58:33
Size: 9194
Editor: FranklinPiat
Comment: link to WiFi/HowToUse
Deletions are marked like this. Additions are marked like this.
Line 285: Line 285:
== External Links == == See Also ==
 * * [:WiFi/HowToUse:HowToUse] Wifi adapter.

Broadcom 43xx wireless devices

This page describes how to install and configure WiFi devices based on Broadcom chipsets 4303, 4306, 4309, 4311, 4312, and 4318, and Dell Wireless Card 1390.

?TableOfContents(3)

Drivers

There are multiple drivers for those Broadcom chips :

Linux native drivers (Visit their [http://wireless.kernel.org/en/users/Drivers/b43#supported supported devices]) :

Using Windows' binary blobs :

  • Linux [#ndiswrapper ndiswrapper] plus the windows binary driver. (this is a workaround for devices not supported natively by Linux).

Device Identification

The page ["HowToIdentifyADevice/PCI"] explains how to identify a PCI device. For example :

update-pciids
lspci -nn

You should see your Broadcom Device

0c:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN [14E4:4311] (rev 01)
or 
0c:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)
  • <!> The [:HowToIdentifyADevice/PCI#pci-id:PCI-Id] isn't sufficient to determine the broadcom chipset. : The driver have built-in logic to probe the actual chipset.

    <!> 1390 is working with ndiswrapper unless you have a kernel 2.6.20 then you can use bcm43xx-fwcutter)

?Anchor(b43)

Native b43 driver

On kernels 2.6.24 and newer, you should use the b43 driver, which is included as a module in Debian kernel images.

You must also install the firmware for this driver.

  • Add contrib section to your apt sources.list
  • Install the b43-fwcutter package

aptitude update
aptitude install b43-fwcutter
  • Make sure driver is loaded

modprobe b43
  • Verify that your card works

ifconfig -a
iwconfig
ifconfig wlan0 up

If everything goes okay, you should see the wlan0 interface in the output of "ifconfig -a", wireless extensions for that interface in the output of "iwconfig", and no output at all from "ifconfig wlan0 up". If "ifconfig wlan0 up" gives you a message "SIOCSIFFLAGS: No such file or directory", then probably you don't have the proper firmware. Look [http://www.linuxwireless.org/en/users/Drivers/b43#devicefirmware here] for more information, and also consider filing a bug against the b43-firmware package.

?Anchor(b43_legacy)

Native b43_legacy

  • If your card is a BCM4306 Rev 2, or a Broadcom based 11Mbits only, then you should use b43legacy driver. First you should

modprobe b43legacy
  • Normaly, the kernel 2.6.25 detect if your 43xx card need to use b43legacy driver instead of b43, the installation require to extract the firmware with version 11 of b43-fwcutter http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2 (not bcm43xx-fwcutter!), these extracted firmware files need to be placed in /lib/firmware/b43legacy/

  • The b43legacy driver need the firmware to be extracted from broadcom's driver version 3.130.20.0, for example this (proprietary) one "http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o".

  • If ifconfig respond "SIOCSIFFLAGS: No such file or directory" then it's probably that the driver didn't found a good firmware. You might also install wireless-tools in order to use your wireless card

aptitude install wireless-tools

?Anchor(bcm43xx)

Native bcm43xx driver

On kernels older than 2.6.24, you should use the bcm43xx driver, which is included as a module in Debian kernel images. The bcm43xx driver requires a firmware package which must be downloaded separately.

Installing the firmware (option 1)

  • Add contrib section to your apt sources.list

aptitude update
aptitude install bcm43xx-fwcutter

*Now test if drivers work

modprobe bcm43xx
  • Verify that your card is there:

iwconfig

Installing the firmware (option 2)

If failed, Download this script which was taken from lenny package:

http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=19;filename=install_bcm43xx_firmware.sh;att=1;bug=445133
  • Remove old script and place a new one.

rm /usr/share/bcm43xx-fwcutter/install_bcm43xx_firmware.sh
cp install_bcm43xx_firm
ware.sh /usr/share/bcm43xx-fwcutter/
chmod u+x /usr/share/bcm43xx-fwcutter/install_bcm43xx_firmware.sh
  • Retry install

apt-get install bcm43xx-fwcutter
  • Now test if drivers work

modprobe bcm43xx
  • Verify that your card is there:

iwconfig

Installing the firmware (option 3)

  • If iwconfig is not showing your card that means the drivers are not correct. We will need to try few sources of drivers.
  • First source is dell site.
  • Download dell drivers,

mkdir tmp
cd tmp
wget http://ftp.us.dell.com/network/R151517.EXE
  • unzip

unzip R151517.EXE
  • Extract drivers

bcm43xx-fwcutter -w /lib/firmware bcmwl5.sys
  • Now test if drivers work

modprobe bcm43xx
  • Verify that your card is there:

iwconfig

Installing the firmware (option 4)

bcm43xx-fwcutter -w /lib/firmware bcmwl5.sys
  • Now test if drivers work

modprobe bcm43xx
  • Verify that your card is there:

iwconfig

Installing the firmware (option 5)

  1. [http://www.learnaboutlinux.net/files/wl_apsta.o wl_apsta.o from source 3] (treat wl_apsta.o just like bcmwl5.sys)

  2. Extract drivers

bcm43xx-fwcutter -w /lib/firmware wl_apsta.o
  • Now test if drivers work

modprobe bcm43xx
  • Verify that your card is there:

iwconfig

?Anchor(ndiswrapper)

Ndiswrapper

  • If the generic bcm43xx driver didn't work.
  • Usually because you don't have kernel version 2.6.20, you will have to use ndiswrapper.
  • But because we already went through so many problems we will use the latest source code for ndiswrapper to make sure it works with our current kernel.

Install ndiswrapper

  • Install what is neccessary:

aptitude install build-essential
aptitude install linux-headers-`uname -r` 
  • uninstall all versions you might have:

aptitude remove ndiswrapper-common
aptitude remove ndiswrapper-utils

mkdir tmp
cd tmp
wget http://superb-east.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.52.tar.gz
tar -xzvf ndiswrapper-1.52.tar.gz

Prevent conflict with bcm43xx

  • Now to make sure there is no conflic with generic bcm43xx driver do this:

echo blacklist bcm43xx >> /etc/modprobe.d/blacklist

  • Go to your ndiswrapper directory and compile the source:

cd ndiswrapper-1.52
make
make install
make distclean

Install driver

  • We already download this file R151517.EXE if not wget it again:

wget http://ftp.us.dell.com/network/R151517.EXE
  • Unzip:

unzip -a R151517.EXE
  • Install driver. This time we use .inf file, and not the sys file.

ndiswrapper -i bcmwl5.inf
  • List devices:

ndiswrapper -l
  • You should see:

bcmwl5 : driver installed
        device (14E4:4311) present
  • Do final steps:

ndiswrapper -m
modprobe ndiswrapper
echo ndiswrapper >> /etc/modules

Check the device

  • Check if device is in a list:

iwconfig
  • You should see something like:

wlan0     IEEE 802.11g  ESSID:off/any
          Mode:Managed  Frequency:2.462 GHz  Access Point: Not-Associated
          Bit Rate:54 Mb/s   Tx-Power:32 dBm
          RTS thr:2347 B   Fragment thr:2346 B
          Encryption key:off
          Power Management: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

?Anchor(use)

Connect to network

  • Gnome- Double click on Network Connection (If you don't have an icon click on add to panel, then Select "Network Monitor" and click add)
  • Name: Wlan0
  • Click on configure
  • Select Wireless connection
  • Properties
  • Pick a network, add a password, select dhcp and click ok
  • You should be connected.

See Also


CategoryWireless