Ok, I’ll be the first one to admit that my dismissal of Ubuntu as, shall we say “not too good” was a bit premature. I eventually found the cause and fix to my network problem. It is not a fix for what I consider a big flaw in Linux’s handling of DNS-servers, but it is a workaround that should be sufficient for most people, including those that spend considerable time on the go, like me.

So, to not let anyone else suffer from the same problems as me, I thought I’d write up the short of how I got my machine to work cleanly..

What works perfectly

Ubuntu is able to detect most of the goodies immediately: bluetooth, network card, wireless card, sound and graphics work perfectly out of the box. The only thing you are required to do to get full use of the NVidia 7400Go graphics card is to install the proprietary NVidia driver.
To do this, you have to go to “System -> Administration -> Software Sources” and check all the packages as available. After the Source manager has updated when you close it, you should be free to go into “System -> Administration -> Restricted Drivers” and just check the NVidia card. This should get your card going.

Networking issues

I had some network issues that almost put me off trying Linux, these included not being able to update or install packages, not being able to download e-mails and so on. These are two-fold:

IPV6 might cause you some trouble. If your router does not support IPV6 (or still supports IPV4, which is 99% of all routers), you will have no use for IPV6, so the best and easiest thing is to disable it by doing the following:

Do a “sudo gedit /etc/modprobe.d/aliases”
from a terminal window.
Add the following line, and comment out the line that is commented out below:
alias net-pf-10 ipv6 off
alias net-pf-10 off
alias ipv6 off
#alias net-pf-10 ipv6

This should get your browser going, and if you are lucky, everything else. If you ever run into problems in another network location, try reverting back to the original settings with IPV6 enabled.

The second part of my problems was as easy to fix, but a bit hard to spot: Apparently some broadband routers (a bunch of D-Link routers among others) don’t play very nicely with Linux, they will announce themselves as DNS servers, rather than do DNS forwarding, which makes Linux think the actual router is a DNS server. This is reflected by having an address of something like “192.168.1.1″ as a nameserver in /etc/resolv.conf and every hostname resolving to an IP of “1.0.0.0″ when using apt-get from a terminal window.
There is no fix for this problem, but luckily there is a brilliant free service out there that can help you anyway: OpenDNS. The fix is simply to use their servers as the default DNS servers if you are using DHCP. This should be good enough for anyone who doesn’t have a need to define their own DNS servers anyway. You can find simple step-by-step advice on how to do this on Ubuntu here that makes the change permanent (very simple). Point of note: the addition to your /etc/dhcp3/dhclient.conf file goes at the very end of the file.

External screen and docking station

I have a tasty 24″ Benq external screen with a 1920×1200 resolution that is hooked up to a Sony docking station through DVI. To get this working, simply hook up your machine the docking station, turn it on, and once logged in do the following (assuming you installed the nvidia proprietary drivers):

sudo nvidia-settings

This should open up a graphical interface much like the Windows screen settings dialog. I simply chose to disable the laptops screen, and make the external screen the primary one (I have not tried having them on at the same time, because I have plenty of space on the external one, neither have I tried hotdocking the machine!)
After a logout and login, the external screen jumps in to play, and the external goes blank, just as expected. Shutting down and restarting the machine out of the dock makes the integrated screen work as expected again, and ditto putting it back in the dock and starting it again.

There are a few gotchas here though:

  • Do NOT use the default Ubuntu screen config tools, this will most likely cause crashes. Use nvidia-settings.
  • Resolution behaviour can sometimes be a bit erratic (about once every ten reboots), so you might have to go in and fix the resolution in nvidia-settings.
  • Panel behaviour can be a bit erratic (once every ten boots): upper or lower toolbar can go missing. A restart fixes this.

Summary

Most of the hardware works fine out of the box. IPV6 and your router may or may not make you stumble, but the above advice should fix your problems. Docking station and external screens work fine, so long as you use the NVidia proprietary driver and its related tools.

I have not tried the bluetooth connection, but the Bluetooth Manager is running when it is on, so I presume it works fine. I have not tried the webcam, the fingerprint reader or the dial-up modem, because I do not envision needing to use them.

I have not tested the HSDPA 3G card (Merlin XU870) that comes with the laptop, but I have found documentation that indicates it should work, and describes how to get it working.

The overall verdict is that Ubuntu is really easy to install even with the gotchas, as long as you know what the problems are. However, if you are not aware of these gotchas (in which case you probably haven’t read this..), you are in for a very frustrating time: I was struggling for about 8 hours, at which point I wrote a pretty vitriolic post about my pains getting the networking running. Hopefully though, I won’t have any more problems, and the switch is definitely worth it when comparing to the painful experience of using Windows Vista every day..