Monday, 7 September 2009

Ethernet in Compaq Mini 700

As noted below, I have a Compaq Mini 700. It is a great little machine, useful keyboard, good screen, plenty of storage and decent battery life. I just use it with my wireless connection at home, and it works flawlessly.

In the office though, I appear to sit in a wireless dead sport, which obliges me to use an ethernet cable to get access to the network.

In a spirited attempt to bring some unpredictability and surprise to my life, plugging in the ethernet cable does nothing, while unplugging the cable instantly crashes the whole machine. Genius, absolute genius. Apparently, what you need to do, is plug the cable in, turn on the machine, use the network connection, turn off the machine and THEN unplug the cable. Oh, unless you have the power cable plugged in, in which case it won't instantly crash when you unplug the cable, but it still won't work when you plug it in when on.

This is, of course, all designed to make me swear and throw the machine out of the window, at one stroke invalidating the warranty AND increasing Compaq's profits when I go to buy another one.

It turns out there is an actual proper solution to this problem. You need to tell the operating system that it can use acpi. Or that acpi can use the OS. Or something to do with acpi anyway; the whole thing is as transparent as a foot thick sheet of fucking lead. Whatever it is you need to do you do it by adding a setting to your boot configuration. You need to run this command:

sudo cp /boot/grub/menu.lst /boot/grub/menu.backupincasethisfuckseverythingup
sudo gedit /boot/grub/menu.lst
You then look for this section, about halfway down the file:
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=long-string-of-letters-and-numbers ro
What you want to do to fix the problem is to make the last line of this section look like this:
# kopt=root=UUID=long-string-of-letters-and-numbers ro acpi_os_name=Linux
The reason you do this is because ubuntu gets clever when it updates its kernel. It also re-writes the menu.lst file. If you just went through this list and changed the ACTUAL kernel settings then this fix would work. Until you downloaded a kernel update at which point it would instantly fubar. Having made the change to the default options section, you can force a rebuild of the menu.lst by using this command:
sudo update-grub
Now, even if the kernel is updated the acpi (whatever that is) change will remain in place. Once you reboot your machine, you will find the ethernet cable slips in and out easier than some disgusting sexual metaphor.

No comments:

Post a Comment