, , , , , , , , , , ,

e1000e driver in most recent Linux kernel causes corruption!

Before you try using Intrepid Ibex Alpha 6: there seems to be a problem with the e1000e driver that causes the hardware to be corrupted and could render the e1000e card useless – and even unrepairable. Even if you are using a Linux system that currently uses an e1000 driver, the new Linux kernel shifted some of the e1000 support to the e1000e driver. If you are using the Compaq nc4010 as this article describes, you should be fine: the nc4010 uses the tigon3 driver. There is a bug entry in the Ubuntu bug lists, and the linux-net mailing list has a thread on the bug. It also would appear that a fix went into the -mm kernel tree (a recognized Linus tree spinoff) as of 2.6.27-rc5-mm1. If you are hardy enough to run Ubuntu Intrepid, perhaps you could tangle with the experimental -mm kernel as well – and sleep better at night knowing your hardware won’t be wasted.

This turned out to be quite a challenge. Firstly, there was no way to install it directly – the previously mentioned Billix didn’t accomodate Intrepid and I didn’t have any large enough USB sticks to put a USB bootable image onto – assuming there is one for Intrepid.

However, remaining undaunted, I was able to install Intrepid without too much trouble – though any nontechnical user would have been stopped right up front. How’d I do it?

First, I installed VirtualBox onto another available system – using VirtualBox 2.0 – and then downloaded the Kubuntu install CD to that system. Installing Kubuntu Intrepid Ibis to VirtualBox was not a problem; everything went well. It was, however, quite slow! It turned out I had much less memory in the system than I thought – so between the 512 Mb in the system and the 300+ Mb that was allocated to the VirtualBox instance, I did a lot of waiting (sigh).

I made sure that the hard disk that was created in the virtual environment was smaller than the actual disk used by the system I was going to put Intrepid onto.

Once the virtual environment was complete and the install was finished, I stopped the environment and reconfigured for less memory. I then restarted the environment with a DSL disk (so as to not use the created virtual disk in any form).

I extracted the hard disk from the Compaq nc4010 that was to have Intrepid installed onto it, and removed it from the hard disk cage that notebooks like to use. I then connected the hard disk to a USB port using a cable adapter.

Now – with the virtual environment running DSL and a unused disk configured with Kubuntu Intrepid, and the host system running OpenSUSE 10.3 with the target disk attached via USB, the only thing left was a disk copy over the network. Using nc (or netcat) permitted the copy going direct from the virtual guest to the virtual host.

The networking had to be set up, and required the bridged mode. It appeared that the host had to already be configured for networking and active in order for the guest to be able to talk to the host (using NAT), but perhaps that was just me.

Once networking was set, the only thing that was needed was to copy from the guest:

# nc -p 4117 < /dev/hda

And copy to the host:

# netcat -l -p 4117 > /dev/sda

Note that this copy will copy the entire disk, including partition tables. This was by design and worked fine (apparently).

The biggest problem (aside from speed and memory overcommitment) was the fact that nc did not stop after copying all of the data from the hard drive – and there was no visible progress report anywhere. The destination disk had no activity light; nc had no progress report available; and so forth.

Another “problem” was the fact that the command nc did not exist on OpenSUSE but did in DSL: OpenSUSE used the full name for the command, netcat.

Once everything was copied, I could shutdown the virtual guest environment, and put the hard drive back into the original host (using the cage as mentioned before).

This did work and worked beautifully. The biggest problems came not from the installation, but from the fact that the installation is Alpha 6. Some of the programs on the task bar don’t have a proper background, several things crashed, icons are missing for some programs in the menu (including some programs that have icons shown elsewhere, like Amarok). I don’t know whether to be aghast or just patient – it is alpha software, after all. I’d just expected the most obvious bugs to be gone, but whatever.

Lastly, every time I hear that name…. am I the only one who thinks of the man called Intrepid?