Slackware 13 Wireless
Desktop Apps Training - Wireless

Slackware is becoming a real favorite for me.  It's fast, nimble and rock solid. However, I have a HP Mini 100 with a Broadcom 4312 (rev.01) wireless card.  If you know anything about this card you know this is bad news....real bad news.  But I decided to write this article to create some encouragement to those of you who are ready to leave Linux because you cannot get wireless going.  It is possible, but it may not be easy.  One thing for sure ...it is worth it.

Not only is Slackware a more difficult distro to work with, it does not have many of the fancy tools that you get with other distros.  You may be able to add them, but in reality it all is easier to work with from the command line.  The Broadcom 4312 is notorious for being a real problem, almost impossible.  In fact on the Linux wireless site http://linuxwireless.org/en/users/Drivers/b43  the wireless support is supposed to not work, says it is in "progress". This at least explains why I wanted to try it because I figured it was possible but...had to see.

Check to See if the Hardware is Recognized

0:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
02:00.0 Ethernet controller: Attansic Technology Corp. Atheros AR8132 / L1c Gigabit Ethernet Adapter (rev c0)

 

Download The Drivers From Broadcom
Depending on your system download 32 or 64 bit package from http://www.broadcom.com/support/802.11/linux_sta.php

For Slackware 13 you will need to patch the drivers for the 2.6 kernel before you can install the wireless drivers. Untar and unzip the file.

tar -xvzf hybrid-portsrc-x86_32-v5_10_91_9.tar.gz

Download the patch file and unzip it in the directory you have for the drivers.

unzip 5_10_91_9_patch_2_6_29_kernel.zip

PATCH INSTALLATION INSTRUCTIONS
-------------------------------
1. cd to directory that  will already contain a Makefile and src and lib directories (assuming the initial tarball has been extracted).

2. Save the patchfile in this directory.

3. patch -p1 < patchfile.  This will upgrade the required files.

4. Clean and Build as contained in the original README.txt:

Clean up:            make -C /lib/modules/<2.6.xx.xx>/build M=`pwd` clean
Build:            make -C /lib/modules/<2.6.xx.xx>/build M=`pwd`

if There were no errors

5)Check if Compiled Module is working
insmod wl.ko

Now Probably a new interface will be there for wireless (wlan0 or eth1)

iwconfig

 

Use iwconfig to Add Your ESSID
iwconfig eth1 essid "mylan"

Check it is up with iwconfig

iwconfig eth1

eth1      IEEE 802.11bg  ESSID:"mylan"  Nickname:"c"
Mode:Managed  Frequency:2.437 GHz  Access Point: 00:14:BF:7F:59:B2   
Bit Rate=54 Mb/s   Tx-Power:32 dBm   
Retry min limit:7   RTS thr:off   Fragment thr:off
Power Managementmode:All packets received
Link Quality=5/5  Signal level=-39 dBm  Noise level=-92 dBm
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:0  Invalid misc:0   Missed beacon:0

 

Capture an IP Address from the Router
This command will acquire an IP Address from the router by making a request.
dhcpcd

 

Making it Load on boot

1)cp wl.ko /lib/modules/`uname-r`/kernel/net/wireless/

2)depmod -a

3)rmmod wl

4)modprobe wl

5)Add following Lines to /etc/rc.local
modprobe wl
iwconfig eth1 essid "mylan"
dhcpcd eth1

That capures an IP Address and we are off and running.  Not sweet, nor easy but it shows it can be done.  The unfortunate issue are all the command line skills that you must have.