Differences between revisions 14 and 15
Revision 14 as of 2008-06-11 13:01:40
Size: 6942
Editor: ?AndrewMoise
Comment:
Revision 15 as of 2008-09-12 09:26:02
Size: 7959
Editor: FranklinPiat
Comment: Add a "Drivers" section, plus multiple improvements.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This page describes how to install and Configure your Broadcom Device. Broadcom: 4311, 4312, or 4318 (1390 is working with ndiswrapper unless you have a kernel 2.6.20 then you can use bcm43xx-fwcutter)

[[TableOfContents(2)]]
= Device Identification =
This is a 1390 card but yours might have a different name.
{{{
lspci
0c:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)
}}}

 *If you are not sure what hardware you have visits this site: [http://kmuto.jp/debian/hcl/ Hardware Identification]

= Native b43 driver =
#language en
= Broadcom 43xx wireless devices =
''This page describes how to install and Configure your Broadcom Device. (like Boradcom 4303, 4306, 4309, 4311, 4312, or 4318).''

## [[TableOfContents(2)]]
== 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
0c:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN [14E4:4311] (rev 01)
}}}
This is a ''BCM4311 802.11b/g WLAN'' card but yours might have a different one.

 <!> '''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.

[[Anchor(b43)]]
== Native b43 driver ==
Line 38: Line 58:
= Native bcm43xx driver = [[Anchor(b43_legacy)]]
== Native b43_legacy ==
 ''Not written yet.''


[[Anchor(b43xx)]]
== Native bcm43xx driver ==
Line 42: Line 68:
== Installing the firmware (option 1) == === Installing the firmware (option 1) ===
Line 58: Line 84:
== Installing the firmware (option 2) == === Installing the firmware (option 2) ===
Line 85: Line 111:
== Installing the firmware (option 3) == === Installing the firmware (option 3) ===
Line 112: Line 138:
== Installing the firmware (option 4) == === Installing the firmware (option 4) ===
Line 129: Line 155:
== Installing the firmware (option 5) == === Installing the firmware (option 5) ===
Line 145: Line 171:
= Ndiswrapper = [[Anchor(ndiswrapper)]]
=
= Ndiswrapper ==
Line 149: Line 176:
== Install ndiswrapper ==
=
== Install ndiswrapper ===
Line 167: Line 195:
== Prevent conflict with bcm43xx ==
=
== Prevent conflict with bcm43xx ===
Line 179: Line 208:
== Install driver ==
=
== Install driver ===
Line 207: Line 237:
== Check the device ==
=
== Check the device ===
Line 225: Line 256:
= Connect to network = [[Anchor(use)]]
=
= Connect to network ==
Line 234: Line 266:
= External Links =
 1. [http://www.learnaboutlinux.net/wireless_1390.htm generic bcm43xx and ndiswrapper (Explains it all)]
 1. [http://ubuntuforums.org/showthread.php?t=297092 ndiswrpapper for 1390 only]
== 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]-~

Broadcom 43xx wireless devices

This page describes how to install and Configure your Broadcom Device. (like Boradcom 4303, 4306, 4309, 4311, 4312, or 4318).

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
0c:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN [14E4:4311] (rev 01)

This is a BCM4311 802.11b/g WLAN card but yours might have a different one.

  • <!> 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.

?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

  • Not written yet.

?Anchor(b43xx)

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.


CategoryWireless