This tutorial is written for setting up wireless on Slackware on laptops with Broadcom wireless cards. It deals with installing Boradcom's official proprietary wl driver for Linux that includes support for Broadcom's BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224-, and BCM43225-, BCM43227- and BCM43228-based hardware.
This tutorial assumes a full Slackware installation. There should also be a way to transfer files to the target laptop - it can either be a working internet connection using the laptop's ethernet card, or a different machine with internet access and a USB thumb drive to transfer the files. The regular user account on the laptop must also be a part of the netdev group.
The first thing is to check if the user is part of the netdev group :
If the output does not contain
netdev, then as
root, enter the following command :
usermod -a -G netdev username
username is the name of your user account.
Installing the driver
If a working internet connection is available on the laptop (say a wired connection), use sbopkg to install the drivers :
sbopkg -i broadcom-sta
Navigate to the slackbuilds.org's broadcom-sta page and build the package according to the instructions given. Make sure to download the source code relevant to the architecture of your installation (32-bit or 64-bit).
If at any point you upgrade your kernel, you will have to do this process again, because the module is compiled against the running kernel only.
Blacklisting the b43 and ssb modules
wl driver conflicts with the kernel's
b43 driver, so create the
/etc/modprobe.d/b43-blacklist.conf file (name doesn't matter, but it's nice to have something intuitive) using the text editor of your choice as
root and add the following lines to it :
blacklist ssb blacklist b43 blacklist bcma
At this point, reboot your machine. The drivers should be installed and work now. To test this, enter the
iwconfig command. you should see an output like this :
$ iwconfig lo no wireless extensions. eth1 IEEE 802.11 Nickname:"lapto" Access Point: Not-Associated Link Quality:5 Signal level:217 Noise level:199 Rx invalid nwid:0 invalid crypt:31 invalid misc:0 eth0 no wireless extensions.
This output suggests that the drivers installed right and your wireless card is recognized as
eth1 by the kernel. Hooray!
If you still don't see the wireless extensions, check if any of the blacklisted modules are really not loaded:
lsmod | grep ssb lsmod | grep b43 lsmod | grep bcma
None of this commands should return anything. If any of the modules are still loaded, remove them manually:
rmmod ssb rmmod b43 rmmod bcma
You can also make sure that the "wl" module is properly loaded
lsmod | grep wl
If there is no output, you may load the "wl" module manually
You can now either use the
iwconfig tool to configure your wireless networks, or if you prefer to use a GUI, follow the next section for installing Wicd.
To make management of wireless connections easier, we will install Wicd network manager that provides a simple configuration GUI and system tray icon.
If a working internet connection is available on the laptop (say a wired connection), simply use
slackpkg to install wicd :
slackpkg install wicd
Using package tarball
Wicd package for your Slackware version from the extra/ section of your preferred Slackware mirror and install using
For example, on a 32-bit system running Slackware 13.37, as root:
wget http://slackware.dreamhost.com/slackware/slackware-13.37/extra/wicd/wicd-1.7.0-i486-2.txz installpkg ./wicd-1.7.0-i486-2.txz
Start the Wicd daemon :
Once its started, run
wicd-client and configure the network to your liking.
Wicd by default treats
wlan0 as the default wireless interface. Since the interface is
eth1 in our case, you might want to correct this in Wicd's Preferences.
In order to access the wicd client utilities, your user must also be in the netdev group. Add your user to the netdev group, logout and login to make it effective, then you can run the wicd client utilities as your user. For the CLI based tool, there is wicd-cli and wicd-curses. For the GUI client, ther is wicd-client and wicd-gtk.