Differences between revisions 4 and 5
Revision 4 as of 2009-10-04 04:44:20
Size: 5561
Editor: GeoffSimmons
Comment: Amend example wget commands.
Revision 5 as of 2009-10-30 16:43:57
Size: 4964
Editor: GeoffSimmons
Comment: Amend installation instructions due to broadcom-sta's removal (BTS #551364).
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
<<TableOfContents(3)>> <<TableOfContents(2)>>
Line 13: Line 13:
  * Also known as "BCM 4310 USB"
  * [[http://wireless.kernel.org/en/users/Drivers/b43#fw-b43-lp|Initial support]] is available in wireless-testing/compat-wireless-2.6, to be released with kernel 2.6.32.
Line 16: Line 18:
Support of these chipsets is possible using a driver (wl) made available by the vendor, which includes a binary-only component targeted for the x86 or x86-64 architecture. Support of these chipsets is possible using a driver (wl) made available by the vendor, which includes a binary-only component targeted for the x86 or x86-64 architecture.  The vendor driver was previously packaged for Debian in non-free. __It was removed from the archive__ in October 2009 to resolve Debian bug DebianBug:551364.
Line 23: Line 25:
## note: loading wl via modprobe will first unload the b43 and ssb modules, as per the install command in /etc/modprobe.d/broadcom-sta-common.conf ## note: loading wl via modprobe will first unload the b43 and ssb modules, as per the install command in /etc/modprobe.d/local.conf
Line 26: Line 28:
=== Lenny === <<Anchor(squeeze)>>
=== Lenny, Squeeze ===
Line 28: Line 31:
 1. Install the DebianPkg:build-essential, DebianPkg:debhelper, DebianPkg:module-assistant, DebianPkg:quilt and DebianPkg:wireless-tools packages: {{{  1. Install the DebianPkg:build-essential, relevant linux-headers and and DebianPkg:wireless-tools packages: {{{
Line 30: Line 33:
# aptitude update
#
aptitude install build-essential debhelper module-assistant quilt wireless-tools
# aptitude update && aptitude install build-essential linux-headers-$(uname -r) wireless-tools
Line 34: Line 36:
 1. Manually acquire the DebPkg:squeeze/broadcom-sta-source package from http://packages.debian.org/squeeze/all/broadcom-sta-source/download. For example: {{{
$ wget http://ftp.us.debian.org/debian/pool/non-free/b/broadcom-sta/broadcom-sta-source_5.10.91.9-3_all.deb
 1. Acquire the driver applicable for your architecture from [[http://www.broadcom.com/support/802.11/linux_sta.php|Broadcom's website]], for example:
  32-bit driver (i386): {{{
$ wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz
}}} ''or'' 64-bit driver (amd64): {{{
$ wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_64-v5.10.91.9.3.tar.gz
Line 37: Line 42:
 1. Manually acquire the DebPkg:squeeze/broadcom-sta-common package from http://packages.debian.org/squeeze/all/broadcom-sta-common/download. For example: {{{
$ wget http://ftp.us.debian.org/debian/pool/non-free/b/broadcom-sta/broadcom-sta-common_5.10.91.9-3_all.deb
 1. Extract and compile the vendor driver: {{{
$ mkdir hybrid_wl && cd hybrid_wl
$ tar xvf ../hybrid-portsrc*
$ make
Line 40: Line 47:
 1. Install the DebianPkg:squeeze/broadcom-sta-common and DebianPkg:squeeze/broadcom-sta-source packages via [[dpkg]]: {{{  1. Install the kernel module: {{{
Line 42: Line 49:
# dpkg -i broadcom-sta-common*deb broadcom-sta-source*deb # mkdir -p /lib/modules/$(uname -r)/extra/wl && cp wl.ko /lib/modules/$(uname -r)/extra/wl
# depmod -a -F /boot/System.map-$(uname -r) $(uname -r)
Line 44: Line 52:
 1. Build and install a broadcom-sta-modules-* package for your system, using [[ModuleAssistant|Module-Assistant]]: {{{
# m-a a-i broadcom-sta
}}}
 1. Add wl to the list of kernel modules to be loaded at boot: {{{
# echo wl >> /etc/modules
 1. Ensure the b43 and ssb modules are unloaded prior to loading the wl module: {{{
# echo 'install wl /sbin/modprobe -qr b43 ssb; /sbin/modprobe --ignore-install wl $CMDLINE_OPTS' >> /etc/modprobe.d/local.conf
Line 53: Line 58:
 1. Verify your device has an available interface: {{{
# iwconfig
}}}
 1. Raise the interface to activate the radio, for example: {{{
# ifconfig wlan0 up
}}}
 1. [[WiFi/HowToUse|Configure]] your wireless interface as appropriate.
 This module will be automatically loaded when your system is restarted and the device is connected. If not already performed, connect the device to your system.
Line 61: Line 60:
<<Anchor(squeeze)>>
=== Squeeze ===

 1. Add a "non-free" component to {{{/etc/apt/sources.list}}}, for example: {{{
# Debian Squeeze
deb http://ftp.us.debian.org/debian squeeze main contrib non-free
}}}
 1. Update the list of available packages. Install the DebianPkg:module-assistant and DebianPkg:wireless-tools packages: {{{
# aptitude update
# aptitude install module-assistant wireless-tools
}}}
 1. Build and install a broadcom-sta-modules-* package for your system, using [[ModuleAssistant|Module-Assistant]]: {{{
# m-a a-i broadcom-sta
}}}
 1. Add wl to the list of kernel modules to be loaded at boot: {{{
# echo wl >> /etc/modules
}}}
 1. Load the wl module: {{{
# modprobe wl
}}}
Line 92: Line 71:
See bugs reported on DebianBug:broadcom-sta-source and DebianBug:broadcom-sta.

Important bug: #DebianBug:537554 ssb module obstructs loading the wl module.
Refer to http://www.broadcom.com/docs/linux_sta/README.txt.
Line 101: Line 78:
The following list is based on the ''alias'' fields of {{{modinfo wl}}} as of driver version 5.10.91.9: The following list is based on the ''alias'' fields of {{{modinfo wl}}} as of driver version 5.10.91.9.3:

Translation(s): none

(!) ?Discussion


Broadcom 4311, 4312, 4321, 4322 devices (wl)

This page describes how to enable support for WiFi devices based on Broadcom 4311/4312/4321/4322 chipsets - using Broadcom's hybrid device driver - on Debian systems.

Some Broadcom wireless LAN chipsets are unsupported by the reverse-engineered b43 and b43legacy drivers at this time, including:

  • BCM4312 low-power variant (PCI-ID: 14E4:4315)

    • Also known as "BCM 4310 USB"
    • Initial support is available in wireless-testing/compat-wireless-2.6, to be released with kernel 2.6.32.

  • BCM4321 (PCI-IDs: 14E4:4328, 14E4:4329)
  • BCM4322 (PCI-ID: 14E4:432B)

Support of these chipsets is possible using a driver (wl) made available by the vendor, which includes a binary-only component targeted for the x86 or x86-64 architecture. The vendor driver was previously packaged for Debian in non-free. It was removed from the archive in October 2009 to resolve Debian bug 551364.

{i} An alternate method of support for your device may be possible using NDISwrapper.

<!> The vendor driver depends on the x86 or x86-64 architecture (Debian i386 and AMD64 ports respectively) at this time.

Installation

Lenny, Squeeze

  1. Install the build-essential, relevant linux-headers and and wireless-tools packages:

    $ su
    # aptitude update && aptitude install build-essential linux-headers-$(uname -r) wireless-tools
    # exit
  2. Acquire the driver applicable for your architecture from Broadcom's website, for example:

    • 32-bit driver (i386):

      $ wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz

      or 64-bit driver (amd64):

      $ wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_64-v5.10.91.9.3.tar.gz
  3. Extract and compile the vendor driver:

    $ mkdir hybrid_wl && cd hybrid_wl
    $ tar xvf ../hybrid-portsrc*
    $ make
  4. Install the kernel module:

    $ su
    # mkdir -p /lib/modules/$(uname -r)/extra/wl && cp wl.ko /lib/modules/$(uname -r)/extra/wl
    # depmod -a -F /boot/System.map-$(uname -r) $(uname -r)
  5. Ensure the b43 and ssb modules are unloaded prior to loading the wl module:

    # echo 'install wl /sbin/modprobe -qr b43 ssb; /sbin/modprobe --ignore-install wl $CMDLINE_OPTS' >> /etc/modprobe.d/local.conf
  6. Load the wl module:

    # modprobe wl
    This module will be automatically loaded when your system is restarted and the device is connected. If not already performed, connect the device to your system.
  7. Verify your device has an available interface:

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

    # ifconfig wlan0 up
  9. Configure your wireless interface as appropriate.

Known Issues

Refer to http://www.broadcom.com/docs/linux_sta/README.txt.

Supported Devices

The page HowToIdentifyADevice/PCI explains how to identify a PCI device.

The following list is based on the alias fields of modinfo wl as of driver version 5.10.91.9.3:

  • PCI: 14E4:4311 Broadcom Corporation BCM4311 802.11b/g WLAN
    PCI: 14E4:4312 Broadcom Corporation BCM4312 802.11a/b/g
    PCI: 14E4:4313 Broadcom Corporation BCM4310 Ethernet Controller
    PCI: 14E4:4315 Broadcom Corporation BCM4312 802.11b/g
    PCI: 14E4:4328 Broadcom Corporation BCM4328 802.11a/b/g/n
    PCI: 14E4:4329 Broadcom Corporation BCM43XG
    PCI: 14E4:432A Broadcom Corporation (Device name unknown)
    PCI: 14E4:432B Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller
    PCI: 14E4:432C Broadcom Corporation (Device name unknown)
    PCI: 14E4:432D Broadcom Corporation (Device name unknown)
    PCI: 14E4:4353 Broadcom Corporation (Device name unknown)
    PCI: 14E4:4357 Broadcom Corporation (Device name unknown)

See Also


CategoryHardware | CategoryWireless