Running Linux on a Dell Inspiron 1501 laptop

by Juan Carlos Borrás

(Update on Nov, 8th 2011)

Over time the keyboard keys start feeling soft but the biggest annoyance is definitely the power connector on both ends. The laptop uses a 3 contacts scheme: 2 for the regular DC power supply and a 3 central contact which is known to be set at some special voltage which if not met will trigger countermeasures by the laptop electronics refusing to load the battery. Over time mechanics get loose and sensing does not work as it should. The internet is full of unhappy people talking about it.

Not that the above has anything to do with running linux on this particular laptop model, but it summarizes my experiences with this laptop. And not, I do not plan to by from Dell again. Not that I foresee a need in the near term, either, but even if the time comes.

(Update on Apr, 2nd 2011)

In a nutshell: it works fine. There are at the time of this writing some issues with the Winbond PC87591 chipset and the lm_sensors project (see below) and the integrated modem.

I’m using Gentoo and Ubuntu, but all the information below should apply to any recent distro.

Overall features report

  • X11: working fine using the open source radeon driver. I haven’t tried the proprietary ones though. The touchpad must be configured as PS/2 mouse type.
  • Sound: working fine using HDA kernel support (snd-hda-codec.kosnd-hda-intel.ko). Just remember to unmute the Master channel using your favourite mixer.
  • Ethernet: working fine using Broadcom 4400 (b44.o module) kernel support.
  • WiFi: Reported success using kernel version 2.6.19.1 though I haven’t tried it myself. See the BCM43xx project for more information. I killed the wait by using in the interim an unexpensive 802.11g USB adaptor (i.e. ZD1211 based).
  • SATA: Works. My kernel compilation config says: (CONFIG_SATA_AHCI=y and CONFIG_SATA_INTEL_COMBINED=y).
  • SMBusATI SB600 supported in version 2.6.20 with patches. lm_sensors detects a Winbond PC87591 (formerly National Semiconductor) chip. Unfortunately developing a driver for it is difficult to achieve.
  • SD/SDIO/MMC/MS/MSPro card reader: Supported with modules mmc_core.kommc_block.ko and sdhci.ko. Device file /dev/mmcblk0p1created on the fly.
  • Modem: some sort of Winmodem with Conexant chipset that I haven’t tried though I suspect the Linux kernel lacks support for it.
  • In-kernel PCMCIA support is irrelevant since the laptop only has one ExpressCard slot (ExpressCard is not PCMCIA).
  • I haven’t tried yet any in-kernel power management features (suspend to disk, suspend to ram, and so on).
  • I haven’t tried yet the proprietary Dell “blue keys” (for Stand by, Hibernate, switch on and off the WiFi interface, checking the battery status and so on) and because of that I got into trouble the other day since I couldn’t drive a projector with the laptop due to the unresponsiveness of the key combination.

My compiler flags in /etc/make.conf when in i386 Gentoo are: 

CFLAGS="-march=k8 -O2 -pipe".

My compiler flags in /etc/make.conf when in amd64 Gentoo are: 

CFLAGS="-march=athlon64 -O2 -pipe".

In any case MAKEOPTS="-j4" speeds-up compilations quite a bit.

For the record, I spend most of my time running in 32 bits with some excursions on a 64 bits Gentoo installation on other partition.

Annoyances (a.k.a Before you start)

You need to upgrade your BIOS to the latest version in order to boot properly from USB external devices. I have got version 2.6.3 (17/07/07 08:49:59) and I can boot Slax absolutely fine.

Otherwise you may need to reconfigure your usbsticks if you want the laptop to be able to boot from them. Reading the “Problematic USB BIOSes” section of the Syslinux pages, or download Syslinux and read the file README.usbkey.

But even if you do that you may find afterwards that the usbstick you are using for booting will be /dev/sda which means that you hard disk will no longer be /dev/sda so you may need to pass extra parameters to the kernel.

For all the above, when it comes to installing Linux a painless solution is to install from a CD (/dev/hda)

Actual installation tips

If you want the hard disk to be recognized you may need to pass the following as a kernel parameter at boot time:

gentoo pci=nomsi

Installation keeping the preinstalled OS

Defragment the partition where the preinstalled and lame operating system was installed before using the repartitioning tool in the CD (Gparted).

The LiveCD allows you to install a stage3 system which is good enough to start with. The GRUB settings generated by the Gentoo installation are correct (they understood fine my repartitioning orgy), but I decided to keep the preinstalled boot sector installing grub in the root partition instead.

The preinstalled and lame operating system supports multi-OS boot, just follow the instructions on this link. I decided to stick to it since I must keep "hibernating" and "sleeping" features (not a single laptop user). Notice however that hibernating only works with a predetermined hard disk partition scheme. Some alterations to it will make "hibernating" capabilities vanish.