Difference between revisions of "How to install b43 firmware for Broadcom Wireless cards"

From Salix OS
Jump to: navigation, search
(Supported devices)
(update instructions for Salix version 14.0 and 14.1)
 
(5 intermediate revisions by one user not shown)
Line 16: Line 16:
 
If you are a Salix 13.1 user please read the [http://www.salixos.org/forum/viewtopic.php?f=22&t=1313&hilit=b43 How to install b43 firmware for Broadcom wifi (Salix 13.1)] forum thread.
 
If you are a Salix 13.1 user please read the [http://www.salixos.org/forum/viewtopic.php?f=22&t=1313&hilit=b43 How to install b43 firmware for Broadcom wifi (Salix 13.1)] forum thread.
  
== Salix 13.37 (and above) ==
+
== Salix 13.37 ==
 
First you need to install the '''b43-fwcutter''' package from the Salix repository.
 
First you need to install the '''b43-fwcutter''' package from the Salix repository.
  
Line 24: Line 24:
 
Distributed with the b43-fwcutter package are a number of ready-made build scipts ([http://www.salixos.org/wiki/index.php/Building_packages_with_slkbuild SLKBUILD]) you can use to create a b43 or b43legacy firmware package. These scripts can be found in the '''/usr/share/b43-fwcutter/''' directory.
 
Distributed with the b43-fwcutter package are a number of ready-made build scipts ([http://www.salixos.org/wiki/index.php/Building_packages_with_slkbuild SLKBUILD]) you can use to create a b43 or b43legacy firmware package. These scripts can be found in the '''/usr/share/b43-fwcutter/''' directory.
  
To create a package copy the relevant build script to an empty directory then execute '''slkbuild -X''' as root (super user) from that directory. The source archive will be fetched from the the internet (you need an active internet connection) and the package created.
+
To create a package copy the relevant build script in to an empty directory then execute '''slkbuild -X''' as root (super user) from that directory. The source archive will be fetched from the internet (you will need an active internet connection) and the package created.
  
 
  mkdir b43
 
  mkdir b43
Line 35: Line 35:
 
  spkg -i b43-firmware-4.150.10.5-fw-1pw.txz
 
  spkg -i b43-firmware-4.150.10.5-fw-1pw.txz
  
With the addition of [http://www.salixos.org/wiki/index.php/Sourcery Sourcery] and [http://software.jaos.org/ slapt-src] to Salix 13.37 it is also possible to install similar packages from [http://slackbuilds.org/result/?search=b43&sv= SlackBuilds.org] quickly and easily.
 
  
Note: It is planned to distribute the above SLKBUILD scripts via the Salix slapt-src repository in the future.
+
== Salix 14.0 ==
 +
 
 +
First you need to install the '''b43-fwcutter''' package from the Slackbuid repository using slapt-src or it's graphical equivalent, Sourcery.  Then follow this by installing the b43-firmware package also available in the Slackbuild repository
 +
 
 +
slapt-src -u
 +
slapt-src -i b43-fwcutter
 +
slapt-src -i b43-firmware
 +
 
 +
That's it, now reboot
 +
 
 +
== Salix 14.1 ==
 +
 
 +
With the addition of dependency resolution in Sourcery and slapt-src all you need to do is to installed the b43-firmware package.  Sourcery /slapt-src will recognize the need to install the b43-fwcutter package and do it automatically for you.
 +
 
 +
slapt-src -u
 +
slapt-src -i b43-firmware.
 +
 
 +
That's it, now reboot
  
 
== Post-installation ==
 
== Post-installation ==
Line 52: Line 68:
 
  echo "blacklist wl" > /etc/modprobe.d/blacklist-wl.conf
 
  echo "blacklist wl" > /etc/modprobe.d/blacklist-wl.conf
  
Note: It is planned for the b43 firmware packages to automatically create this file in the future.
 
  
 
== Troubleshooting ==
 
== Troubleshooting ==
Line 59: Line 74:
 
Since this situation has been raised on the forum many times here are a few helpful hints.
 
Since this situation has been raised on the forum many times here are a few helpful hints.
  
*The firmware has no architecture so the packages can be created on either version of Salix, 32bit or 64bit, and installed on the other version.
+
*The firmware has no architecture so the packages can be created on either version of Salix (32bit or 64bit) and installed on the other version.
  
 
*The system you use to extract the firmware does not require a Broadcom wireless card to be connected to it.
 
*The system you use to extract the firmware does not require a Broadcom wireless card to be connected to it.
  
*Install Salix inside a virtual machine, create the firmware package while you have a working internet connection then retain it for use after you have installed Salix to your hard drive.
+
*Solution A: Install Salix inside a virtual machine before installing to your hard drive so you can create the firmware package while you still have a working internet connection.
  
*Use a Salix Live CD to create the firmware package on another system with a working internet connection then transport the package to your system.
+
*Solution B: Use a Salix Live CD to create the firmware package on another system with a working internet connection.
  
 
[[Category:User Documentation|B43]]
 
[[Category:User Documentation|B43]]

Latest revision as of 22:25, 29 November 2014

The Broadcom wireless chip needs proprietary software (called "firmware") that runs on the wireless chip itself to work properly. This firmware is copyrighted by Broadcom and must be extracted from Broadcom's proprietary drivers. To get such firmware on your system, you must download the driver from a legal distribution point, extract it, and install it.
http://linuxwireless.org/en/users/Drivers/b43

Here is a short guide on how to create a b43(legacy) firmware package for your system.

Contents

Supported devices

First you need to find out which firmware you require for your device. You can use the lspci command to display the Chip-ID of the wireless card which can then be compared against the Supported devices list at http://linuxwireless.org.

# lspci -vnn | grep 14e4
0001:01:01.0 Network controller [0280]: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller [14e4:4318] (rev 02)

The Chip-ID from the example above is [14e4:4318], using this information you should discover this card requires the b43 (as opposed to b43legacy) kernel module using version 4.150.10.5 of the firmware.

Salix 13.1

If you are a Salix 13.1 user please read the How to install b43 firmware for Broadcom wifi (Salix 13.1) forum thread.

Salix 13.37

First you need to install the b43-fwcutter package from the Salix repository.

slapt-get -u
slapt-get -i b43-fwcutter

Distributed with the b43-fwcutter package are a number of ready-made build scipts (SLKBUILD) you can use to create a b43 or b43legacy firmware package. These scripts can be found in the /usr/share/b43-fwcutter/ directory.

To create a package copy the relevant build script in to an empty directory then execute slkbuild -X as root (super user) from that directory. The source archive will be fetched from the internet (you will need an active internet connection) and the package created.

mkdir b43
cd b43
cat /usr/share/b43-fwcutter/b43-firmware-4.150.10.5.SLKBUILD > SLKBUILD
slkbuild -X

Once the package has been created you can install it with the package management tools.

spkg -i b43-firmware-4.150.10.5-fw-1pw.txz


Salix 14.0

First you need to install the b43-fwcutter package from the Slackbuid repository using slapt-src or it's graphical equivalent, Sourcery. Then follow this by installing the b43-firmware package also available in the Slackbuild repository

slapt-src -u
slapt-src -i b43-fwcutter
slapt-src -i b43-firmware

That's it, now reboot

Salix 14.1

With the addition of dependency resolution in Sourcery and slapt-src all you need to do is to installed the b43-firmware package. Sourcery /slapt-src will recognize the need to install the b43-fwcutter package and do it automatically for you.

slapt-src -u
slapt-src -i b43-firmware.

That's it, now reboot

Post-installation

Once the firmware has been installed you can load the b43 (or b43legacy) kernel module with the modprobe command. If the module doesn't load automatically on startup then you may want to add the command to /etc/rc.d/rc.local.

modprobe b43

If you have installed Broadcom's Hybrid Linux Driver then you will need to unload the wl module first.

modprobe -r wl

To perminently blacklist the wl module use the following command. This way you can easily delete /etc/modprobe.d/blacklist-wl.conf to remove the blacklist at a later date.

echo "blacklist wl" > /etc/modprobe.d/blacklist-wl.conf


Troubleshooting

There may be times when your target system doesn't have any access to the internet other than via a wireless connection which creates a "chicken and egg" situation when it comes to upgrading or changing the installed operating system.

Since this situation has been raised on the forum many times here are a few helpful hints.

  • The firmware has no architecture so the packages can be created on either version of Salix (32bit or 64bit) and installed on the other version.
  • The system you use to extract the firmware does not require a Broadcom wireless card to be connected to it.
  • Solution A: Install Salix inside a virtual machine before installing to your hard drive so you can create the firmware package while you still have a working internet connection.
  • Solution B: Use a Salix Live CD to create the firmware package on another system with a working internet connection.