Fix Networking in Ubuntu 10.04 Lucid Lynx on a Toshiba Portégé

It's been a while since I've written anything here, so I figured I'd start getting into the habit again with a quick note.

I recently got a new Toshiba Portégé laptop (Z835-ST6N03), onto which I immediately loaded Ubuntu 10.04. Unfortunately, 10.04 is getting a bit old, yet the hardware in the laptop is quite recent, so neither ethernet or wireless networking worked.

Now, I could have just put on 11.10, or even the 12.04 beta and it would work staight away (I know, because I tried). If you're happy to use later verions, then that's going to be the best way. Unfortunately, I cannot stand the direction Ubuntu has gone in. Despite being able to ditch Unity for Gnome, and to run Gnome in fallback mode so it's similar to Gnome 2, I still couldn't use the system the way I wanted to. Other applications had been "simplified" to such an extent that it was just excrutiating to use. So I resolved myself to using my favourite version and trying to get networking to work the hard way.

Since someone else may be just as crazy as me and want to get Ubuntu 10.04 up and running on their Portégé, I thought I'd document how I got it working.

Hardware


The ethernet adapter is a Intel 82579V Gigabit Ethernet, and the wireless is a Intel Centrino Advanced N 6230. It's worth making sure that you have this exact hardware if you're going to follow the steps below. If you have similar hardware, then you should be able to adjust the steps accordingly.

To find our your exact hardware, you can use lspci. You may get an unhelpful response if you haven't updated your PCI IDs though,
> lspci | grep 'Ethernet\|Network'
00:19.0 Ethernet controller: Intel Corporation Device 1503 (rev 04)
02:00.0 Network controller: Intel Corporation Device 0091 (rev 34)


Updating your IDs and running the command again will give you something more descriptive.
> sudo update-pciids
Downloaded daily snapshot dated ...
> lspci | grep 'Ethernet\|Network'
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04)
02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6230 (rev 34)


Fixing eth0


First things first, since there's no networking, you'll need access to another computer in order to download the ethernet drivers form Intel (or you can download them from SourceForge). At the time of writing, the latest version was 1.9.5.

Here's how to get your ethernet working once you have the file downloaded and moved to your laptop,
tar -xvf e1000e-1.9.5.tar.gz
cd e10001e-1.9.5
sudo make install
sudo modprobe -r e1000e; sudo modprobe e1000e


You can confirm it's loaded by running lsmod,
> lsmod | grep e1000e
e1000e                158424  0


Ethernet should start working straight away, so now you'll be able to at least connect to the internet.

Fixing wlan0


The wireless was a little more involved (I was hoping it would be as easy at the ethernet). As detailed on the Intel Wireless Networking page, you can download the wireless drivers from intellinuxwireless.org.

Originally I downloaded the microcode image (iwlwifi-6000g2b-ucode-18.168.6.1.tgz) and ran the following,
tar -vxf iwlwifi-6000g2b-ucode-18.168.6.1.tgz 
cd iwlwifi-6000g2b-ucode-18.168.6.1/
sudo cp iwlwifi-6000g2b-6.ucode /lib/firmware/
sudo modprobe -r iwlagn
sudo modprobe iwlagn


However, I later discovered you can do this more easily by just installing the linux-backports-modules-wireless-lucid-generic package. Ah well, live and learn.
sudo apt-get install linux-backports-modules-wireless-lucid-generic


At this point, lsmod will tell you that everything is loaded (iwlagn, iwlcore, mac80211 and cfg80211),
> lsmod | grep iwl
iwlagn                272480  0 
iwlcore               167474  1 iwlagn
mac80211              298255  2 iwlagn,iwlcore
cfg80211              182202  3 iwlagn,iwlcore,mac80211


Unfortunately, despite what lsmod says, I still had no wireless connectivity at this point. After a long and arduous search, I discovered this was because I was running the 2.6.32-38 kernel, and the wireless driver will only work properly for later kernels. So there's one last set of packages to install in order to update the kernel,
sudo apt-get install linux-image-generic-lts-backport-natty linux-headers-generic-lts-backport-natty


This will install 2.6.38.13.23 (or later), and after a reboot the wireless should start working straight away.

The later kernel also has the bonus of supporting two-finger scrolling and fixing a minor display issue for the encryption password prompt on the boot screen.

So there you have it, if you want to use Ubuntu 10.04 Lucid Lynx on your Toshiba Portégé laptop and would like networking to work, that's how I did it. Hopefully this will save someone else an hour or so of Googling.

Additional Reading

Other articles/posts on similar subject matter (some of these may be more recent than this one),

References

A list of all the links that appear in this note,

Picture of Rich Adams.

W(e)blinks is the personal site of Rich Adams (that rather handsome looking guy in the photo). I'm a British programmer living in San Francisco. By day I work with servers at PagerDuty, by night I write code and fight crime1. I'm @r_adams on Twitter if you want to get in touch.

1probably not true