Hey man, cut me some SLACK!

I realize that this is not the forum for bragging about silly accomplishments, but after spending nearly two insanely difficult days of trying this and trying that, I was finally able to get my Broadcom 4318 wireless card (the BCM43xx chipset is notoriously difficult, and that's in the "easy" Linux distros) to work in Slackware Linux version 13.1.

Big deal, you say?

Consider these words from a real geek (not a dilettante like yours truly):

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.

To say it isn't supposed to work is an understatement. It's fiendish, and the number of different opinions and approaches are daunting to say the least. Every Slacker has a different tale to tell about how he did it, and none of them are the same.

Basically (this is in the new, "post-ndiswrapper era"), you have to download the following:

- the Linux BCM 43xx driver from Broadcom (which comes with misleading instructions);

- firmware drivers from Slackbuild repository;

- something called the BCMxx-fwcutter, the Slackware version of which can be downloaded here;

- the Wicd Network manager (available from Slackware, but which doesn't come preinstalled).

All of the above have to be installed and configured by hand with command lines, as Slackware is not a GUI-based world. But knowing the command lines and figuring out where to install the files, where to copy them, experimenting to see which modules and dependencies have to be associated and de-associated, over and over until you get it right -- none of that can start unless the drivers are installed and compiled. Following all of the instructions as carefully as I could, I kept getting a very annoying error message. I know you just can't wait to see it, so here it is:
make -C /lib/modules/2.6.33.3-smp/build M=`pwd`
make: Entering directory `/usr/src/linux-2.6.33.3'
CC [M] /root/hybrid_wl/src/shared/linux_osl.o
In file included from /root/hybrid_wl/src/shared/linux_osl.c:19:
/root/hybrid_wl/src/include/linuxver.h:23:28: error: linux/autoconf.h: No such file or directory
make[1]: *** [/root/hybrid_wl/src/shared/linux_osl.o] Error 1
make: *** [_module_/root/hybrid_wl] Error 2
make: Leaving directory `/usr/src/linux-2.6.33.3'
root@cocoru:~/hybrid_wl# make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-2.6.33.3'
CC [M] /root/hybrid_wl/src/shared/linux_osl.o
In file included from /root/hybrid_wl/src/shared/linux_osl.c:19:
/root/hybrid_wl/src/include/linuxver.h:23:28: error: linux/autoconf.h: No such file or directory
make[2]: *** [/root/hybrid_wl/src/shared/linux_osl.o] Error 1
make[1]: *** [_module_/root/hybrid_wl] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.33.3'
make: *** [all] Error 2
That makes about as much sense as a lot of the MSM nonsense I have ridiculed in this blog, but the difference is that at least in the geek world, errors can be corrected, and it turns out it was a coding error emanating from Broadcom. To get rid of it, you have to open the modules and alter the code, and only then will it compile. A guy in Liverpool was nice enough to explain:
In your source directory in the file hybrid_wl/src/include/linuxver.h change line 23 from "#include " to "#include " and rerun make clean then make.
Was I ever delighted to see it install. But then the real work began, of painstakingly configuring the rest. Making the firmware and the damnably difficult BCM43xx-fwcutter work, which took forever, and had to be accomplished largely by trial and error, and by imitating what other people said had worked for them. But what works for others does not work for everyone else, and part of the reason is that there are so many BCM43xx chipset versions. It's a horror story.

I was just about ready to call it quits when I tried again something that had been tried and failed before, when I suddenly saw an alert flashing on the WICD, and to my utter amazement, instead of the "no networks found" that it had been displaying for a day and a half, my neighborhood networks were listed!

I cautiously tried my own router, it asked for the password, and I'm on!

I decided to write post about this in case people are wondering whether I died and went to Hell, and in case anyone else wants to try this.

Back to what this guy said:

One thing for sure ...it is worth it.
Escaping from such self-inflicted torture is an accomplishment of sorts. A bit like getting out of Hell. So you could say it is worth it in that way. Plus, I'm sure it's an invaluable learning experience. And when you're done, you feel as if you really own your OS and your computer.

I'm writing this running Slackware, logged into my router on my front porch.

As the following links were all very helpful, I thought I would share them:

http://www.linuxforums.org/forum/wireless-internet/161983-wireless-wicd-hp-pavilion-dv5000-ubuntu-3.html

http://www.linuxquestions.org/questions/linux-newbie-8/trouble-installing-fwcutter-783876/

http://www.linuxquestions.org/questions/slackware-14/wireless-help-broadcom-4312-a-793674/

http://www.linuxquestions.org/questions/slackware-14/broadcom-sta-wont-build-with-2-6-33-1-kernel-801660/

http://www.linuxquestions.org/questions/slackware-14/slackware-13-0-rc2-x86_64-broadcom-bcm4312-problems-749958/

http://forums.fedoraforum.org/showthread.php?t=192412

http://linuxwireless.org/en/users/Drivers/b43/devices

http://www.linuxquestions.org/questions/linux-hardware-18/broadcom-bcm4318-%5Bairforce-one%5D-54g-802-11-wlan-card-support-on-fedora-10-a-715207/

http://www.linuxquestions.org/questions/slackware-14/configure-wireless-driver-for-dell-wireless-1397-bcm-4312-a-752389/#post3681099

MORE: A screenshot:

connected.jpeg

posted by Eric on 05.09.10 at 04:56 PM





TrackBack

TrackBack URL for this entry:
http://classicalvalues.com/cgi-bin/pings.cgi/9658






Comments

Thanks Eric. I've long been a Slackware lover, but getting by Broadcom chipset to work in it-or almost any other distro- has made my head hurt. Time to get back to work, now that someone else has solved the problem for me.

physics geek   ·  May 10, 2010 11:27 AM

Broadcom is a closed source blob. Hence the problem.

I don't mean to bust your ass.

I recently bought a new laptop. It took a lot of work to figure out what hardware would work with open source software. Yes, I'm that kind of sick bastard.

Freedom is hard. Weather in computers or real life. Eternal vigilance and all...

anonymous   ·  May 14, 2010 01:26 AM

Post a comment

You may use basic HTML for formatting.





Remember Me?

(you may use HTML tags for style)


May 2010
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

ANCIENT (AND MODERN)
WORLD-WIDE CALENDAR


Search the Site


E-mail



Classics To Go

Classical Values PDA Link



Archives



Recent Entries



Links



Site Credits