Wednesday, January 07, 2009

Learn Something New, January 2009 Edition

For several years I've been tinkering with Linux. I'm not at all an expert, but I often have fun playing around with various distributions, and for the last few years I've tended to lean toward Suse (since Suse 9.0, I think).

My Dell Inspiron 8500 laptop came with a 30Gb drive, that I immediately re-partitioned when I received it, allotting 15Gb to Win XP, and 15Gb to Suse 9.1. Over the last several months the computer grew increasingly awkward to work with due to my filling the drive, and reluctance to delete things - I'm a pack-rat in the computer realm as well as in Real-Life&trade .

So after a great deal of searching, I recently managed to find a 2.5", non-SATA, 7200rpm hard drive I could use in my laptop. (I found the drive at Grassroots Computers in California. I think the man that helped me was named Jeff - very friendly, very helpful.)

I was too busy to do anything with the drive when it arrived in early-December, but about a week ago I installed the drive in the laptop, and decided to install the latest version of Ubuntu. For a few years now Ubuntu Linux has become very popular, and I've read many accounts of people having no trouble at all with it.

For about 5 years I've been installing various flavors of Linux on my laptop, and have always had difficulty getting the wireless network card to work properly and consistently. I hoped that the newest Ubuntu (v8.10) would detect and use my wireless card perfectly. To be fair to the community of Linux developers, as I understand the situation the manufacturer of my wireless card has obstructed the development of the necessary software to use the card with Linux.

My wireless card is a Dell TrueMobile 1300. The Dell TrueMobile 1300 is based upon the Broadcom 4306 chip, and the Broadcom company has obstinately refused to provide any technical information to the Linux community despite several years of requests. Broadcom won't provide the needed software themselves, and have refused to provide the information necessary for others to write the software.

This is a common aggravation among Linux users. The problem is so widespread that the Linux world developed a handful of software methods to use the Windows XP drivers in Linux. There is a commercial app called Linuxant. There is an opensource, no-cost app named NDISWRAPPER. I think there are a couple of other similar apps also. Each of these applications allow a user to use the driver that was written for Windows XP on his/her Linux-based system.

Unfortunately there is another wrinkle to be considered. Typical home and small business wireless networks use encryption (security) for the wireless connections. From least secure to most secure, the possible encryption schemes include: WEP (64 bit), WEP (128 bit), WPA, WPA2.

The wireless networks in my home and in my office are both WPA2.

After installing Ubuntu on the laptop, nearly everything worked perfectly. BUT, WPA2 did not work properly. I probably could have found a solution given enough time searching the 'net, but I didn't feel like putting in the required time and effort, and I'd read about the new OpenSuse 11.1 release, and was excited to give it a try.

So Sunday evening I installed OpenSuse 11.1 to the laptop. Almost everything on the laptop worked, but again the wireless card wasn't right. In fact, under OpenSuse 11.1 the card wouldn't work at all. This was very disappointing of course.

I spent some time last night and tonight trying to find a solution, and tonight came across something so simple I assumed there were additional required steps that had been left out of the instructions. I was wrong - the fix really was as simple as the document I found stated.

The solution was found here - http://linuxwireless.org/en/users/Drivers/b43. The wireless card on my system, running a brand-new install of OpenSuse 11.1 (32-bit), and using a Dell TrueMobile 1300 (Broadcom 4306 rev 02), worked immediately after entering the single command:
sudo /usr/sbin/install_bcm43xx_firmware

That's all I had to do. I didn't have to find the Windows driver and download it. I didn't have to manually edit any configuration files, or init.d files. I didn't have to mess around with modules, or install any extra applications. The default Suse installation already included whatever it needed, aside from the copyright-protected Broadcom firmware, which is obtained by using the command above.

I can now use my laptop, running OpenSuse, on my WPA2-encrypted wireless network in my home and office.

Pretty cool. If anyone from the B43 team read this, THANKS!

1 comment:

Matthew said...

Oddly enough, on my current Toshiba laptop the latest Ubuntu has no trouble using the wireless hardware, but I have been unable to make Ethernet work. My past experience on various systems has been that it was usually easier to get wired Ethernet working with Linux distros so I was mildly surprised to have it the other way around on this box.