Wireless Networking in (Ed)Ubuntu 6.10 (Edgy Eft)
Background
I originally wrote this several weeks ago when installing Ubuntu’s Edgy Eft on a defunct Windows laptop we had, but never got around to editing it properly. The laptop went belly-up again and just tonight I installed Edubuntu on the same machine and refined my documentation after going through the steps to get WPA2 WiFi working on Edubuntu’s Edgy Eft. All the steps were the same between the 2 distros except that in Edubuntu the default sources.list file has a line referencing the install CD which I commented out while enabling the universe packages.
Configuring WPA2 WiFi for Ubuntu 6.10 on an HP Pavilion ZE4805us with a Broadcom 4300 Wireless card
I spent a portion of my weekend restoring a DOA HP Laptop with Ubuntu’s 6.10 release. For the most part it went well; with the exception of wireless networking it installed seamlessly on the HP’s hardware. Wireless networking on a laptop in our house is, however, a critical feature, since we have only one hard-wired network connection in the living areas of our house. In fact, my inability to get wireless working on a Sony Vaio laptop running an earlier version of Ubuntu resulted in my forgoing Ubuntu on that machine.
The wireless networking this time was a little bit of a pain in the arse, but not nearly as bad as it was on the abortive Vaio install. Here’s my process, starting with my research process (such as it is) in case that helps someone else find the right bits for a different configuration or a later release and ending with a concise set of steps (with the actual commands I executed in parenthesis and colored red):
Starting here, I followed the directions to install wpasupplicant and Gnome NetworkManager. I then attempted to set up my wireless network with the appropriate settings (I’m using WPA2 for security), which failed. After checking the wireless configuration using iwconfig and iwlist scan, as well as some sloppy googling and following the steps outlined here, which caused me some minor problems later), I deduced that the driver for my wireless card (a Broadcom 4306) wasn’t correctly supported. Following the directions here (specifically starting here) I was able to get my wireless card correctly configured, though I still couldn’t connect to my network, largely because after a reboot I couldn’t see any wireless network configuration options in the NetworkManager icon in the toolbar. It turns out that the manual configuration data I had added per the WPA2 post linked above were gumming up the works; by removing that information and performing a sudo /etc/init.d/networking restart my wireless network was discovered and I was able to configure and connect to it without difficulty. The biggest problem now is that I have to type in a password for the default keyring (where NetworkManager stores the WPA2 encryption key) every time I boot up. Apparently there are some PAM solutions for this, but I haven’t had the time or energy to set them up. Since I don’t have to sit in my cold basement to connect to the internet anymore though, perhaps I will.
So, in short, the steps to get WPA2 wifi working in Ubuntu’s Edgy Eft on an HP Laptop with a Broadcom 4300 wireless card are:
- update sources, and enable universe in the sources list (uncomment the lines that end in ”universe” by removing the leading “#”). I believe this is necessary because one of the packages you’ll install later (bcm43xx-fwcutter) isn’t in the main sources.
- install or update wpasupplicant (sudo apt-get install wpasupplicant)
- install network-manager-gnome and network-manager (sudo apt-get install network-manager-gnome network-manager)
- obtain bcmwl5.sys, the windows driver for the Broadcom 4306 (I got mine from http://sidulus.textdrive.com/-31/bcmwl5sys and got it to the laptop using a usb stick)
- install the firmware cutter for the wireless driver (sudo apt-get install bcm43xx-fwcutter)
- determine which version of the kernel you’re running (uname -a)
- use the cutter to load the wireless firmware library (sudo bcm43xx-fwcutter /lib/firmware/%kernel_version% /path/to/bcmwl5.sys)
- restarting networking should be sufficient (sudo /etc/init.d/dbus restart), but I universally had better luck restarting the machine
<Rant>
I understand the essence of why, for the most part, this stuff just works in Windows (can you say “OS Bloat”?) and why it doesn’t do so even in Ubuntu, arguably the most user-friendly Linux distro. I’ve read plenty of the screeds about how (from one side of the “discussion”) these things need to work for users without all the hoops and (from the other side) how you shouldn’t be using Linux if you can’t get it running and if you’re not willing to learn the requisite knowledge. And admittedly my situation is a little out of the norm for a typical computer user, who would most likely buy their laptop with its OS pre-installed (and thus able to be optimized for that particular hardware configuration).
For my part, though, it seems likely that even average computer users will want to swap hardware: get a bigger hard drive, upgrade their networking components, switch video cards, add memory. With the current state of Linux distros, even the ones that target “regular” users and aim to be as user-friendly as possible, this is not a realistic expectation, and that ensures that Linux will remain, for the time being at least, a boutique operating system on the desktop.
</Rant>


March 5th, 2007 at 11:25 am
I fall solidly on the side of “This must work in Ubuntu” without me jumping through hoops. It’s absolutely ridiculous that something fault tolerant enough can’t be built to a) recognize the hardware and b) note when something isn’t working because you’ve changed hardware and then c) re-set the configuration to support the new hardware.
To say that someone has to know what they’re doing to have the honor of using wireless is stupid and elitist to say the least and it goes directly against everything that Ubuntu stands for.
March 25th, 2007 at 1:27 pm
I am a primary school teacher who is (supposedly) responsible for the delivery of ICt at our small school. I am not in any way an “expert”. I was looking into changing our laptops over from a windows platform to use edubuntu. However, they have to be able to connect to the web and to a printer wirelessly and having read the above and other postings about getting ubuntu to pick up a network make me shy away from even trying. Is it likely that a more “intuitive/automatic” method for locating and joining networks will be put into ubuntu?
March 27th, 2007 at 5:42 am
Hi Ian;
I don’t know for certain why Linux distros don’t include better support for a wider variety of wireless applications, as I’m not a developer for any distros, but I can surmise that it might partly be in the interests of combatting bloat and I also suspect that it’s partly due to the lack of support for Linux specific drivers for many wireless cards. As far as the first is concerned, I don’t expect that’s likely to change, although perhaps some intepid soul will bundle better support as an easier-to-install package, and as far as the second is concerned we may have to wait for the manufacturers to catch up.
If your security needs are less stringent than mine (I wanted to use WPA2 for security) and you’re satisfied with WEP for security, many wireless cards are already supported, so you might have better luck on that front. I’d also say that once you figure out what it is you need to do for the specific card you’re using, the process itself isn’t terribly onerous. So if you’re setting up a network with homogeneous machines it may well be worth your while.
March 31st, 2007 at 11:40 am
Hi Cori,
Thanks for the reply. As its Easter and I’m not at school for two weeks I’ll do some further investigations and see if things become a little clearer to me.