Fedora Core 3 Linux on a Dell Inspiron 600m

in

The system has a Pentium M 725 (1.6GHz/400MHz) processor. I upgraded the base system to 512MB memory and 60GB disk. If you plan to preserve the Windows XP partition, I recommend the disk upgrade.

My initial research indicated that the built-in wireless may be a problem. I chose to upgrade the wireless NIC from the Dell 1350 to the Intel 2200 (at no charge!) under the assumption that the Intel chipset would be supported most quickly. That was a good idea.

Here is the lspci listing:

0:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03)
00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03)
00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corp. 82801 Mobile PCI Bridge (rev 81)
00:1f.0 ISA bridge: Intel Corp. 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4-M) IDE Controller (rev 01)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9] (rev 02)
02:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
02:01.0 CardBus bridge: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller (rev 20)
02:01.1 CardBus bridge: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller (rev 20)
02:03.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05)

(Click the "printable format" link at the end of this article if listing above is obscured.)

Disk

The system shipped with a small diagnostics partition (/dev/hda1), a 3GB system recovery partition (/dev/hda3), and the remainder of the disk allocated to Windows XP (/dev/hda2). I booted the system with a Knoppix disk and ran qtparted to squeeze the Windows partition to 20GB. This left about 35GB for Linux.

I then rebooted the system and ran the Fedora Core 3 installation as usual. At first, I tried installing the GRUB boot block on the /boot partition (/dev/hda5) and marking that active, but that didn't work. So I rebooted with the Fedora rescue CD and moved GRUB to the /dev/hda master boot record .

Video

The only problem with the video system is that Fedora didn't recognize the LCD panel, and so it maxed out at 800x600 resolution. Once I manally set the display to a 1024x768 panel, I was able to get 1024x768x24.

The text mode display can be improved by going into BIOS setup and disabling display expansion. Then, you go into /boot/grub/grub.conf and add vga=792 to the end of the kernel line, so the entire display is used.

Touchpad

The touchpad is being recognized as an imps2 mouse. This is a problem for me, because if I swap buttons for left-handed, then tapping no longer works. Fedora did install the Synaptics touchpad X driver, so I will need to go into /etc/X/xorg.conf file and manually tweak that.

Wired Ethernet

The built-in twisted pair Broadcom Ethernet controller was recognized and configured fine, using the b44 driver module.

The only problem is that if you configure the Ethernet to start automatically at boot, the system will hang for a long time at the eth0 initialization when you don't have that port connected. So, I modified the /etc/sysconfig/network-scripts/ifcfg-eth0 file to say:

ONBOOT=no
USERCTL=yes

(Or, use the GUI network configuration tool turn off "activate when computer starts" and turn on "allow all users to enable".)

This means when I'm on the wired network, I will need to manually start the network with ifup eth0. (Or, activate with the GUI.)

A better solution would be a startup that runs in background, and brings the interface up or down with the presence of carrier. I don't know if such a solution exists.

Wireless Ethernet

The Fedora Core 3 distribution does not include drivers for the built-in Intel ipw2200 controller. The kernel-2.6.10-1.770_FC3 update, however, does. The problem is that by the time I realized that, I had already installed the drivers that Intel publishes.

So, I would recommend doing the stock FC3 install, performing a yum update across the wired network, and then running the GUI network configuration tool. If it recognizes the Intel controller, then groovy. If not, then go ahead and install the Intel drivers.

The ipw2200 driver installation involved several steps. First, I had to download the firmware and install it. Next, I had to download the driver modules source and compile them. There is a load script in the package that loads up the driver modules. Or, you can do make install and they will load at next boot. The INSTALL file has pretty good directions on all this.

Power Management

The power management system is the one area where I am having significant difficulties. The stock FC3 system is getting the battery status just fine. Also, it is detecting power button press and launching shutdown correctly.

The first problem is that there is no action associated with lid close events. If you shut the lid the system keeps running.

The second—and larger—problem is that although I can do a manual suspend, I cannot get resume to work. I can, for instance, run:

echo mem > /sys/power/state

This will initiate a suspend-to-memory. When I push the button to resume the console displays:

Back to C!
(pauses a second)
Debug: sleeping function called from invalid context at mm/slab.c:2061
in_atomic():0, irqs_disabled():1
. __might_sleep (omitting addresses, just showing function name)
. __kmalloc
. acpi_os_allocate
. acpi_ut_callocate
. acpi_ut_initialize_buffer
. acpi_rs_create_byte_stream
. acpi_rs_set_srs_method_data
. recalc_task_prio
. acpi_pci_link_set
. irqrouter_resume
. sysdev_resume
. device_pwer_up
. suspend_enter
. enter_state
. state_store
. state_store
. subsys_attr_store
. flush_write_buffer
. sysfs_write_file
. vfs_write
. sys_write
. syscall_call
PCI: Setting latency timer of device 0000:00:1d.0 to 64
PCI: Setting latency timer of device 0000:00:1d.1 to 64
PCI: Setting latency timer of device 0000:00:1d.2 to 64

Then, the system hangs. All I can do is power cycle.

Other Devices

Sound works fine, except the volume/mute buttons don't seem to work.

The GUI network configuration tool did not recognize the modem.

The CD burner worked fine, with no special configuration. I used cdrecord to burn a backup copy of the Dell diagnostics partition.

USB memory worked fine. On insertion, a line is automatically added to /etc/fstab. You do have to mount it manually, though, before you can access it. I created a device icon on my KDE desktop for /dev/sda1, and use that for mounting.

Summary

The disk partition issue alone makes this a not-suitable-for-neophytes project. The ipw2200 configuration may sound daunting, but the instructions are good and the driver is on the verge of being supported by Fedora. The biggest difficulty is the power suspend issues. I will continue investigating that. That one issue aside, I'm satisfied with the behavior of Linux on the Dell Inspiron 600m.

April 3 update: Followup article posted here.

Comments

Comments have been closed for this entry.

re: Fedora Core 3 Linux on a Dell Inspiron 600m

Thanks for the info! To get past the eth0 hanging, turn off ONBOOT as you have done and use netplugd. Just start the service and voila... just what you wanted!