9006
Comment:
|
9020
|
Deletions are marked like this. | Additions are marked like this. |
Line 68: | Line 68: |
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". | 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". |
Line 72: | Line 73: |
The b43legacy driver need the firmware to be extracted from the broadcom driver version 3.130.20.0, for example this one "http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o". | 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". |
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]) :
- Linux [#b43 b43] / [#bcm43xx bcm43xx] driver (the name changed in kernel 2.6.24)
Linux [#b43_legacy b43_legacy] driver (a split since 2.6.24, for older broadcom chipset. read [http://wireless.kernel.org/en/users/Drivers/b43#b43andb43legacy b43 and b43legacy]).
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 your 43xx 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.
?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 you experience an error 404, go here [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=445133 Bug 445133]
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)
- If that didn't work try following sources:
[http://www.learnaboutlinux.net/files/bcmwl5.sys bcmwl5.sys from source 2]
- 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 5)
[http://www.learnaboutlinux.net/files/wl_apsta.o wl_apsta.o from source 3] (treat wl_apsta.o just like bcmwl5.sys)
- 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
Download the source, or check their website for latest source code [http://sourceforge.net/project/showfiles.php?group_id=93482 check for new source code]
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.
External Links
Generic bcm43xx and ndiswrapper (Explains it all) ?BR. [http://www.learnaboutlinux.net/wireless_1390.htm]-~
Ndiswrpapper for 1390 only ~-?BR. [http://ubuntuforums.org/showthread.php?t=297092]-~