Differences between revisions 40 and 41
Revision 40 as of 2009-01-01 06:47:13
Size: 13783
Editor: GeoffSimmons
Comment: Add 4320 chipset information.
Revision 41 as of 2009-01-02 16:10:29
Size: 13802
Editor: FranklinPiat
Comment: formating
Deletions are marked like this. Additions are marked like this.
Line 63: Line 63:
1. Add the Debian Volatile repository (including the "contrib" component) to your {{{/etc/apt/sources.list}}} file, for example:

{{{
 1. Add the Debian Volatile repository (including the "contrib" component) to your {{{/etc/apt/sources.list}}} file, for example: {{{
Line 69: Line 67:
2. Update the list of available packages and install the DebPkg:etch-volatile/bcm43xx-fwcutter and DebPkg:etch/wireless-tools packages:
{{{
 1. Update the list of available packages and install the DebPkg:etch-volatile/bcm43xx-fwcutter and DebPkg:etch/wireless-tools packages: {{{
Line 76: Line 73:
3. The necessary kernel module should be [:Modules:automatically loaded]. If necessary, it can be manually loaded via:
{{{
 1. The necessary kernel module should be [:Modules:automatically loaded]. If necessary, it can be manually loaded via: {{{
Line 80: Line 76:
4. Verify your device has an available interface:
{{{
iwconfig
}}}
5. Raise the interface to activate the radio, for example:
{{{
 1. Verify your device has an available interface: {{{
iwconfig
}}}
 1. Raise the interface to activate the radio, for example: {{{
Line 88: Line 82:
6. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.  1. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.
Line 107: Line 101:
1. Add a "contrib" component to {{{/etc/apt/sources.list}}} for your Debian version, for example:
{{{
 1. Add a "contrib" component to {{{/etc/apt/sources.list}}} for your Debian version, for example: {{{
# Debian Lenny
deb http://ftp.us.debian.org/debian lenny main contrib non-free
}}} ''or'' {{{
Line 112: Line 108:
{{{
#
Debian Lenny
deb http://ftp.us.debian.org/debian lenny main contrib non-free
}}}
2
. Install the DebPkg:b43-fwcutter and DebPkg:wireless-tools packages:
{{{
 1. Install the DebPkg:b43-fwcutter and DebPkg:wireless-tools packages: {{{
Line 120: Line 111:
}}}
If you have an Internet connection available, allow the DebPkg:b43-fwcutter package to fetch and extract firmware.

3. The necessary kernel module should be [:Modules:automatically loaded]. If necessary, it can be manually loaded via either:
{{{
}}} [[BR]] If you have an Internet connection available, allow the DebPkg:b43-fwcutter package to fetch and extract firmware.

 1. The necessary kernel module should be [:Modules:automatically loaded]. If necessary, it can be manually loaded via either: {{{
Line 126: Line 115:
}}}
{{{
}}} ''or'' {{{
Line 130: Line 118:
4. Verify your device has an available interface:
{{{
iwconfig
}}}
5. Raise the interface to activate the radio, for example:
{{{
 1. Verify your device has an available interface: {{{
iwconfig
}}}
 1. Raise the interface to activate the radio, for example:  {{{
Line 138: Line 124:
6. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.  1. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.
Line 153: Line 139:
1. Install the DebPkg:wireless-tools package:
{{{
 1. Install the DebPkg:wireless-tools package: {{{
Line 158: Line 143:
2. Physically connect the device to your system.

3. The necessary kernel module should be [:Modules:automatically loaded]. If necessary, it can be manually loaded via:
{{{
 1. Physically connect the device to your system.

 1. The necessary kernel module should be [:Modules:automatically loaded]. If necessary, it can be manually loaded via: {{{
Line 164: Line 148:
4. Verify your device has an available interface:
{{{
iwconfig
}}}
5. Raise the interface to activate the radio, for example:
{{{
 1. Verify your device has an available interface: {{{
iwconfig
}}}
 1. Raise the interface to activate the radio, for example: {{{
Line 172: Line 154:
6. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.  1. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.
Line 224: Line 206:
1. Install the DebPkg:unzip package:
{{{
 1. Install the DebPkg:unzip package: {{{
Line 228: Line 209:
2. Acquire an archive containing the NDIS driver from Dell's FTP site:
{{{
 1. Acquire an archive containing the NDIS driver from Dell's FTP site: {{{
Line 232: Line 212:
3. Extract its contents:
{{{
 1. Extract its contents: {{{
Line 236: Line 215:
4. Install the NDIS driver:
{{{
 1. Install the NDIS driver: {{{
Line 240: Line 218:
5. To verify NDIS driver installation, list the currently installed drivers:
{{{
 1. To verify NDIS driver installation, list the currently installed drivers: {{{
Line 243: Line 220:
}}}
You should receive the following output:
{{{
}}} You should receive the following output: {{{

Broadcom 43xx wireless devices

This page describes how to enable support for WiFi devices based on Broadcom 4303, 4306, 4309, 4311, 4312, 4318 and 4320 wireless chipsets on Debian systems.

?TableOfContents(3)

Device Identification

PCI (includes PCIe, Mini PCI, Cardbus)

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

update-pciids
lspci -nn

Your Broadcom PCI wireless device should be listed:

0c:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN [14E4:4311] (rev 01)

<!> The [:HowToIdentifyADevice/PCI#pci-id:PCI-Id] isn't sufficient to determine the Broadcom chipset within. The relevant driver has built-in logic to probe the actual chipset.

USB

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

update-usbids
lsusb

Your Broadcom USB wireless device should be listed:

Bus 003 Device 006: ID 050d:7051 Belkin Components F5D7051 54g USB Network Adapter

Drivers

There are multiple drivers supporting Broadcom wireless LAN chipsets.

Linux native drivers:

The bcm43xx driver is no longer developed. More information on the b43/b43legacy drivers can be found on the Linux Wireless [http://wireless.kernel.org/en/users/Drivers/b43#b43andb43legacy b43 driver page]. Note that bcm43xx, b43 and b43legacy do not support any USB devices based on Broadcom wireless chipsets.

Using Windows' binary drivers:

  • [#ndiswrapper NDISwrapper] plus the relevant Windows NDIS driver. This is a workaround for devices not supported natively by Linux, such as USB devices based on Broadcom wireless chipsets (other than the BCM4320 USB).

?Anchor(bcm43xx)

bcm43xx (Etch with 2.6.18 kernel only)

Using [:Lenny:]? Skip to the [#b43 b43/b43legacy] section.

For kernels earlier than 2.6.24. This is included as a module in Debian kernel images. The bcm43xx driver requires firmware which must be downloaded separately (can be performed by the etch-volatile/bcm43xx-fwcutter package during installation).

  • <!> You are required to install the etch-volatile/bcm43xx-fwcutter package from the [:DebianVolatile:Debian Volatile] repository due to bug 437488. Installing the etch/bcm43xx-fwcutter package will fail to download firmware if requested.

  • Add the Debian Volatile repository (including the "contrib" component) to your /etc/apt/sources.list file, for example:

    # Debian Volatile (Etch/4.0)
    deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
  • Update the list of available packages and install the etch-volatile/bcm43xx-fwcutter and etch/wireless-tools packages:

    aptitude update
    aptitude install bcm43xx-fwcutter wireless-tools

If you have an Internet connection available, allow the etch-volatile/bcm43xx-fwcutter package to fetch and extract firmware.

  1. The necessary kernel module should be [:Modules:automatically loaded]. If necessary, it can be manually loaded via:

    modprobe bcm43xx
  2. Verify your device has an available interface:

    iwconfig
  3. Raise the interface to activate the radio, for example:

    ifconfig eth1 up
  4. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.

?Anchor(bcm43xx_troubleshoot)

Troubleshooting

  • Examine the kernel ring buffer (dmesg) to verify the required firmware files are being loaded by the driver. Lack of firmware is the usual reason for the "SIOCSIFFLAGS: No such file or directory" error message.
  • Ensure that you have installed the etch-volatile/bcm43xx-fwcutter package from [:DebianVolatile:Debian Volatile].

  • Run dpkg-reconfigure -plow bcm43xx-fwcutter to fetch and extract firmware again. Firmware will only be fetched if not already present in the /lib/firmware directory on your system.

  • Your device may be detected (or better supported) through the b43 or b43legacy drivers. Install an [:EtchAndAHalf:] kernel image (apt-cache search linux-image-2.6.24-etchnhalf and install a package appropriate for your system), restart your system to boot using this kernel, then follow the [#b43 b43/b43legacy] driver procedure below.

?Anchor(b43)

b43 and b43legacy

For 2.6.24 and later kernels. Both drivers are included as modules in Debian kernel images.

  • <!> Etch users: These drivers are not present in the stock 2.6.18 kernel. Install and boot an [:EtchAndAHalf:] kernel (apt-cache search linux-image-2.6.24-etchnhalf and install a package appropriate for your system) before continuing.

The b43 driver supports modern Broadcom 802.11g wireless chipsets. The b43legacy driver supports Broadcom 802.11b-only devices and BCM4306 revision 2 chipsets.

The b43 driver requires version 4 firmware, whereas the b43legacy driver requires version 3 firmware. All firmware must be downloaded separately, which can be performed by the b43-fwcutter package during installation.

  1. Add a "contrib" component to /etc/apt/sources.list for your Debian version, for example:

    # Debian Lenny
    deb http://ftp.us.debian.org/debian lenny main contrib non-free

    or

    # Debian Etch/4.0
    deb http://ftp.us.debian.org/debian etch main contrib non-free
  2. Install the b43-fwcutter and wireless-tools packages:

    aptitude update
    aptitude install b43-fwcutter wireless-tools

    ?BR If you have an Internet connection available, allow the b43-fwcutter package to fetch and extract firmware.

  3. The necessary kernel module should be [:Modules:automatically loaded]. If necessary, it can be manually loaded via either:

    modprobe b43

    or

    modprobe b43legacy
  4. Verify your device has an available interface:

    iwconfig
  5. Raise the interface to activate the radio, for example:

    ifconfig wlan0 up
  6. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.

Troubleshooting

  • Examine the kernel ring buffer (dmesg) to verify the required firmware files are being loaded by the driver. Lack of firmware is the usual reason for the "SIOCSIFFLAGS: No such file or directory" error message.
  • Run dpkg-reconfigure -plow b43-fwcutter to fetch and extract firmware again. Firmware will only be fetched if not already present in the /lib/firmware/[b43|b43legacy] directories on your system.

  • If necessary, firmware can be manually acquired and extracted using the b43-fwcutter utility, see http://wireless.kernel.org/en/users/Drivers/b43#firmwareinstallation

?Anchor(rndis_wlan)

rndis_wlan

For 2.6.25 and later kernels. This is included as a module in Debian kernel images.

The rndis_wlan driver supports wireless RNDIS?FootNote(Microsoft's unofficial CDC ACM variant. See [wiki:WikiPedia:USB_communications_device_class USB CDC on Wikipedia]) chipsets, of which the Broadcom 4320 USB chipset is the only one known at this time. This driver does not require firmware to be installed.

  • {i} Belkin F5D7051 users: Due to the inclusion of its vendor and device IDs, an Ralink RT2501 USB driver will be incorrectly loaded for this device. Please blacklist the rt2500usb module before continuing, see KernelModuleBlacklisting.

  1. Install the wireless-tools package:

    aptitude update
    aptitude install wireless-tools
  2. Physically connect the device to your system.
  3. The necessary kernel module should be [:Modules:automatically loaded]. If necessary, it can be manually loaded via:

    modprobe rndis_wlan
  4. Verify your device has an available interface:

    iwconfig
  5. Raise the interface to activate the radio, for example:

    ifconfig wlan0 up
  6. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.

Troubleshooting

  • This driver does not support connections to hidden ["WPA"] networks at this time.
  • If you are attempting to use a Belkin F5D7051 device, [:KernelModuleBlacklisting:blacklist] the rt2500usb module as advised earlier and execute modprobe -r rt2500usb to unload it.

  • [http://wireless.kernel.org/en/users/Drivers/rndis_wlan#knownproblems Known problems] with this driver are documented on its homepage.

?Anchor(ndiswrapper)

NDISwrapper

  • This should only be used as a last resort, if the device is not supported by the native drivers (eg. Broadcom USB devices, other than the BCM4320 USB).
  • Etch users: Before resorting to NDISwrapper, try using the b43/b43legacy drivers via an [:EtchAndAHalf:] kernel, as described in the [#bcm43xx_troubleshoot bcm43xx troubleshooting] section.
  • [:NdisWrapper:More information] on NDISwrapper is available on this wiki.

Blacklist native driver

If loaded, the native bcm43xx driver will conflict with NDISwrapper. To unload and disable:

modprobe -r bcm43xx
echo blacklist bcm43xx >> /etc/modprobe.d/blacklist.local

Module installation (via module-assistant)

aptitude install module-assistant wireless-tools && m-a prepare && m-a a-i ndiswrapper
modprobe ndiswrapper
echo ndiswrapper >> /etc/modules

NDISwrapper is now installed on your system. Install the required [#ndisdriver NDIS driver] as necessary.

Module Installation (manual)

<!> The following procedure is only necessary for Etch systems which require a version of NDISwrapper greater than 1.28.

Install necessary development packages, along with wireless-tools:

aptitude install build-essential linux-headers-$(uname -r) wireless-tools

Download and compile the NDISwrapper [http://sourceforge.net/project/showfiles.php?group_id=93482 source code]. For example, to acquire and build NDISwrapper version 1.53:

mkdir tmp && cd tmp
wget http://superb-east.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.53.tar.gz
tar xvf ndiswrapper-1.53.tar.gz
cd ndiswrapper-1.53
make
su
make install
modprobe ndiswrapper
echo ndiswrapper >> /etc/modules

NDISwrapper is now installed on your system. Install the required [#ndisdriver NDIS driver] as necessary.

?Anchor(ndisdriver)

Install NDIS driver

<!> The following procedure is specific to the "Dell Wireless Card 1390" (man: 14e4, dev: 4311) device and is provided as an example only. Consult the [:NdisWrapper:NDISwrapper page] for links to further information on your specific device.

  1. Install the unzip package:

    aptitude install unzip
  2. Acquire an archive containing the NDIS driver from Dell's FTP site:

    wget http://ftp.us.dell.com/network/R151517.EXE
  3. Extract its contents:

    unzip -a R151517.EXE
  4. Install the NDIS driver:

    ndiswrapper -i DRIVER/bcmwl5.inf
  5. To verify NDIS driver installation, list the currently installed drivers:

    ndiswrapper -l

    You should receive the following output:

    bcmwl5 : driver installed
            device (14E4:4311) present

Examine the device

Verify that your device now has an available interface:

iwconfig

You should receive output similar to:

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

You are now able to [:WiFi/HowToUse:configure] your wireless interface as appropriate.

Troubleshooting

  • Ensure the bcm43xx driver is unloaded and blacklisted as described earlier.
  • Read the [:NdisWrapper:NDISwrapper page] on this wiki.

?Anchor(use)

Connecting to the network

See [:WiFi/HowToUse:How To use Wifi network adapter].

See Also