Laptop and Linux: the fixes for a Dell Precision M4300

The Ubuntu Live CD worked straight away for the laptop: I was able to boot into a temporary copy of Linux using the VESA display drivers, and test sound, CD and other peripherals (obviously) and wired networking. However, optimising the system wasn’t so easy, and as I say Nick practically installed Ubuntu for me, fixing all that he could.

Below is a list of the main fixes and workarounds that Nick employed, for my reference as much as anything else.

Kernel

Gusty Gibbon kernel, headers etc. on a Feisty Fawn installation, mixed with apt-pinning; necessary to get the wireless to work.

Wireless

Bleeding-edge Intel wireless drivers were needed for the IPW 4965 chipset (they in turn need most recent kernel). Download the following:

  • mac80211 8.x driver
  • ipw4965 latest driver source
  • ipw4965 latest firmware

The 4695 is a firmware-less card, so you need a copy of the firmware in /lib/firmware/: it gets automagically flashed to the card on boot.

Then, the nastier bit,

  • install Gutsy kernel headers
  • patch kernel headers for mac80211
  • build ipw4965 module

Three lines, detailing so much pain. At least the kernel itself didn’t need recompiling.

Sound

Although ALSA is configured correctly, there’s some bug in the handling of this version of the 82801H chipset. I’m looking into it: there’s nothing more embarrassing than making your users choose between good networking and audio playback…!

Display

The most recent version of the linux-restricted-modules for Gutsy now makes this fix redundant, but initially we needed a bleeding-edge 100.14.09 version of the NVidia drivers to get the display working properly.

The hack to install that was originally accomplished by downloading a non-standard installer and crossing one’s fingers; it worked pretty well but the restricted modules kept trying to do their bit and had to be removed. If you’re sure you have a compatible, hacked-in NVidia module on your system but the restricted version keeps butting in, then sudo modprobe -r nvidia and then restarting X works: Xorg looks in the right place, whereas the kernel gets it wrong.

Edit (2.6.22-10): doesn’t seem to support 100.14.09, so back to the NVidia downloads again.

CDROM

There seems to be a recurring bug with the Linux kernel and SATA CDROM drives, frequently whacked but never fully squashed, that the Gutsy kernel has fallen prey to: my CD drive was not at /dev/scd0 by default. Running sudo lshw produced no details under “*-cdrom” There are a lot of solutions out there, but the one that seemed to work for me was to load the ide_cd module using modprobe.

This does seem to have put my CDROM at /dev/hda, which took a bit of finding, but at least as soon as I ran modprobe Sound Juicer spotted the audio CD in the drive. I’ve not yet tested CD writing, nor DVD writing, so I don’t know yet whether or not I actually need ide_scsi instead; Nick assures me that as most devices support ATAPI these days then the SCSI support shouldn’t be necessary.

Bluetooth

The Precision seems to have an internal USB bluetooth dongle! hcitool finds it with no trouble. I’ve not used it yet and might need to add hci_usb to /etc/modules.

Firewire/1394

As I don’t have any Firewire devices, I still have to have a poke around for this; might need the firewire host controller driver, or sbp2 (SCSI over firewire). Watch this space.