Puppy Linux Broadcom and Realtek networking not working

Q I have a HP Pavilion laptop with a Broadcom 802.11b/g WLAN and Realtek RTL8139/810X FamilyFast Ethernet NIC. I've fallen for Puppy Linux, but when I run the connection wizard and install a module, which I'm told is installed correctly, it asks me to try a new one when I try to connect. What do I do?

A Realtek cards use either the 8139too or 8139cp module, while Broadcom wireless cards usually use the b43 module. There are a couple of tests you can do to see which is running - all these commands should be typed in a root terminal and run as the root administrator, so type su first and give your root password. Then run:

modprobe -l | grep 8139
modprobe -l | grep b43
lsmod | grep 8139
lsmod | grep b43

Modprobe -l lists all the modules available on your system and lsmod lists all the modules that are currently loaded. Both are filtered by grep. Ideally, the b43 module should show up in both lists. If it's available but it isn't loaded, run this:

modprobe -v b43

followed by:

ifconfig -a

to see your network interfaces. If wlan0 shows up, proceed with the network config. If you don't have the b43 module available, or it doesn't work with your wireless card, you may have to use NdisWrapper instead. This is included with Puppy, you just need to set it up. Find the driver INF file on the CD that came with your computer or wireless adaptor, and then run the following:

ndiswrapper -i /path/to/driver.inf
ndiswrapper -l

The first command adds the driver, the second lists all loaded drivers and the one you just added should appear here. Now tell the system to not use the b43 driver by adding "blacklist b43" to /etc/modprobe.conf with:

echo "blacklist b43" >>/etc/modprobe.conf

Add "alias wlan0 ndiswrapper" in the same way. Your wireless card should now be called wlan0 and the changes you made to modprobe.conf means it will stay this way after a reboot.

Follow us on Identi.ca or Twitter

Username:   Password: