This document describes the setup of Serenity, a Dell Inspiron 6000
| Item | Does it work? | How hard was it to make work? | Notes |
|---|---|---|---|
| CD/DVD | Kinda | Difficult | I had to roll my own kernel to get it to work at all; still cannot burn. |
| Sound | Yes | Easy | |
| Media Buttons | Yes | Medium | Use lineakd or similar |
| SD Reader | No | Ricoh won't release the specs. Hence, no drivers | |
| Wired NIC | Yes | Easy | |
| WiFi NIC | Yes | Medium | Upgrade from hotplug to the latest udev. Grab the ipw2200 firmware on http://ipw2200.sourceforge.net and place it into /usr/lib/hotplug/firmware/ |
| Bluetooth | Unknown | I don't have any devices with which to test it, but I've heard that it works | |
| Hibernation | Yes | Medium | I installed the suspend2 patch and built a kernel. Basic hibernation/resume works 100% |
| Touchpad | Yes | Easy | Grab the xfree86-driver-synaptics package to use the scrollers, tapping, etc. |
| Firewire | Unknown | I have no equipment with which to test it. | |
| TV Display | Kinda | The image is black and white, and there is no sound. Still troubleshooting. |
The machine came courtesy of the office. I get a notebook, in exchange for surrendering my desktop to a school. It came complete with Windows XP Home and the usual assortment of Dell crapware. That lasted about five minutes. I blew away Windows and the restore partition, and installed Windows XP Pro (Need it for work.) Then came the fun part.
The install process was pretty straightforward. The interesting stuff came afterward, when I upgraded my machine to Debian/Unstable.
Upgrading from linux 2.4 to linux 2.6
The first thing I did was upgrade to the latest Debian linux 2.6 image. This caused some problems. In linux-2.4, the SATA controller was configured as an IDE device. In linux-2.6, the SATA support is provided by the SCSI subsystem. Therefore, the first time booting into the new kernel, the system failed to find the real root FS and dropped to a shell in the initrd. I had to modify the kernel command line, and change root=/dev/hdx to root=/dev/sdx. Once I got into the system, I modified the kopt line in /boot/grub/menu.lst and ran update-grub so that the new root fs was remembered in future boots. After that, I purged the 2.4 kernel that was used for installation.
With the Debian stock kernel (2.6.14 in my case), the machine tries to initialize the SATA controller using the ahci driver. This works OK for the hard disk, but fails to enumerate the CDROM. (I would see the string ahci: probe of 0000:00:1f.2 failed with error -12 in my boot messages.) During my kernel rebuild, I disabled the ahci driver, and used the ata_piix driver. I also modified $SOURCEDIR/drivers/scsi/libata-core.c and changed int atapi_enabled = 0 to int atapi_enabled = 1. This gives me read support of the CD/DVD drive, but burning is another story. Currently, I have an ATAPI burner in a USB2 enclosure that I use for burning until I can get the internal burner working. Any process that attempts to burn just locks up.
As I was rebuilding the kernel, I added the latest software suspend patch from The Suspend2 page. The patch applies cleanly to the Debian sources, and after building the kernel and adding the relevant resume2=swap:/dev/sdax line to my GRUB config, hibernation worked. I was amazed; other Dells I have used have not been so successful. Note that my kernel recompile needed some tweaking; I removed initrd support because it doesn't play nice with suspend2, so I needed to be careful what I compiled in so that the machine would boot. You can see my kernel config at the bottom of this page.
I was completely stymied by the WiFi at first. The kernel I am using (A custom build based on the Debian linux-source-2.6.14 package) already incorporated the ipw2200 module; all I had to do was get the firmware and extract it into /usr/lib/hotplug/firmware. However, even after that, the interface wouldn't come up; it couldn't find the firmware or something. After some digging, I discovered that I should be using the udev package instead of the hotplug package. I removed hotplug and installed the latest udev, and voila! The WiFi card started working.
It turned out that I was also having trouble getting the sound to work, but I was more interested in getting WiFi working first. However, once I installed udev, the sound started working as well.
This machine has a nifty little feature that drove me nuts until I figured out how to fix it. When you close the lid, the panel blanks, just as with any other laptop. However, when the lid is opened again, the panel stays blank! The machine is not locked; input devices are responsive, and you can log in over the network. The screen is just black, and no amount of stabbing keys or wiggling mice will light it up. After a little Googling, I discovered that you can turn the display back on again with the vbetool program. Since ACPI generates a VID event when the lid is opened, but not closed, I wrote a little script that runs vbetool dpms on and dropped it into my acpid configuration, so that it is called whenever the lid is opened.
This is something that worked much more easily than I first expected. As I was installing Debian, I kept noticing "unknown scancode" messages on my console. At first I couldn't figure out what it was, until I discovered that I was accidentally bumping the media control buttons with my arm. Turns out, the keys work just like the easy access keys on a multimedia keyboard; I use lineakd to make them useful. Lineakd doesn't list the Inspiron 6000, but it does have an Inspiron 8600; this worked 100%.
As with other Dell Inspiron-series laptops I've used, the touchpad is a Synaptics model; I installed the xfree86-driver-synaptics package, and configured the advanced features of the touchpad using this driver.
I only recently started fiddling with this; the screen on this notebook is better than our television, so I haven't had much incentive to make this work. However, it turns out that simply hitting an Fn-key combo, as I've done in the past, is not sufficient to make this work. I began digging into the i810 driver documentation (that's the driver I use in X) and discovered that the TV, and the external VGA connector, can be configured as seperate heads. I seem to have had success setting up second video card, monitor, screen, and serverlayout sections in my xorg.conf file, so that I can start X with a different serverlayout, and get a good TV signal at 640x480. The only problem I have is that the signal between the computer and the TV has to be converted from S/Video to Composite Video, and something's lost in the translation; There is no colour in the TV image, and there are other artifacts in the signal. I believe this may be attributed to the cables I'm using, rather than the video chipset. More info as it becomes available.
Appendices
Kernel Config
You can view my kernel config here
You can view my xorg.conf file here
Recent comments
5 weeks 2 days ago
15 weeks 1 day ago
15 weeks 1 day ago
15 weeks 2 days ago
15 weeks 2 days ago
15 weeks 2 days ago
17 weeks 6 hours ago
17 weeks 2 days ago
20 weeks 3 days ago
20 weeks 5 days ago