Installing Fedora Core 2 on Dell Inspiron 510m

   On this page I will explain my experience installing the Fedora Core 2 distribution on my laptop. First there is a list of technical specifications of the laptop, then there are a few points with the problems that I had solved. Finally all hardware works properly with Linux and his native drivers. The only really problem is the battery live, that is very poor compared by Windows. I'm trying with the new ACPI drivers.

Technical Specifications

CPUIntel Pentium M 735 1.7 Ghz (Dothan)
System Memory512 MB DDR 333 Mhz
VideoIntel 855 GME 64 MB Shared Memory
DisplaySXGA 1400x1050
Hard diskHitachi 60 GB 4200 RPM (IC25N060ATMR04)
DVDDVD+R/+RW 4x
Wired networkIntel 100 Mbps
Wireless network   Intel 2200 b/g 55 Mbps
ModemSoftmodem 56 Kbps v.92

Installation

First of all, how the Dell laptops have the Windows preinstalled, I had to resize the partition that contains this. The original partition table had two partitions, the first was about diagnostic utilities, and the second was the Windows partition. I had left the first equal and I had reduced the second (hda2).

To resize the partition I had used QtParted program included on System Rescue CD-Rom . I reduced the second partition to 19GB, then I had to reboot the system, boot with Windows and this correct some errors on it.

Then I boot with Fedora Core 2 DVD and I installed it without any problems (I listen that there is a bug on Fedora Core 2 that change the geometry of the hard disk and this makes that Windows can't boot, but I didn't have this trouble). Onto next sections I will explain the specific problems that I had to solve.

Video and display

How you could have seen on technical specifications, this laptop have an SXGA of 1400x1050 pixels. This standard resolution is not on the BIOS list of the Intel Graphical Adapter. That is a problem under Linux, because it's impossible to switch to this graphical mode, that is the optimum for the display.

Fortunately, Alain Poirier write a C program, the 855resolution , that allow to modify the memory copy of BIOS changing a graphical that isn't used by the 1400x1050 mode. I have to note that Intel has released BIOS updates with this standard graphical mode, but Dell and most laptop companies (as Asus) has not integrated in his laptop BIOS.

Once I downloaded the program I compiled it and put it on "rc.sysinit" to start it before X system.

Dothan Speedstep

With the kernel 2.6.6 provided by Fedora Core 2 the "speedstep-centrino" module exits with error "Found unsupported speedstep CPU". I downloaded the last kernel from Fedora and too downloaded the last sources (2.6.7) from kernel.org but I had same results. Next I email to people that contribute to do this module, but they didn't give me any immediatly solution. The problem was that without this module is impossible to throttle the CPU frequency, an important feature on a mobile system.

A month later, googling, I found a message in a forum about a person that had the same problem and that had correct it changing from the file speedstep-centrino.c of the linux kernel the ".x86mask" assigned for Dothan CPU. In this file the mask assigned is 1, but according to the information of /proc/cpuinfo the mask would be 6. This is my CPU info:

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 13
model name : Intel(R) Pentium(R) M processor 1.70GHz
stepping : 6
cpu MHz : 1698.751
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush
dts acpi mmx fxsr sse sse2 ss tm pbe tm2 est bogomips : 3375.10

Using 2.6.7 kernel sources I modified the "speedstep-centrino.c". This is the original code:

static const struct cpu_id cpu_id_dothan_a1 = {
.x86_vendor = X86_VENDOR_INTEL,
.x86 = 6,
.x86_model = 13,
.x86_mask = 1,
};

And the modified code:

static const struct cpu_id cpu_id_dothan_a1 = {
.x86_vendor = X86_VENDOR_INTEL,
.x86 = 6,
.x86_model = 13,
.x86_mask = 6,
};

Then I recompiled the linux kernel and the "speedstep-centrino" recognized my CPU and permits to throttle it's frequency, and therefore saves up battery and reduce temperature.

Now, with 2.6.9 linux kernel, this problem has been corrected and new ACPI features has been added.

Wireless network

NDISWrapper

First, when no native linux drivers exists I had to use the Windows driver with the NDISWrapper Project , a project that allows to use Windows wireless cards drivers.

First of all I downloaded the NDISWrapper sources, then I unpacked and compiled them. Next I gave the Windows drivers and I installed them with NDISWrapper, using the option parameter "-i" followed by the "inffile.inf" path. Unfortunately, with this driver my laptop freeze some times.

Native Linux Drivers

Recently, Intel has created the Intel PRO/Wireless 2200BG project to code an open source native linux driver. From 16th august of 2004, with the 0.4 driver version, the wireless card began to operate under linux. From that version to current, 0.13, a new firmware has been released and the 802.11g mode has been added.

This new driver works fine on my laptop, it doesn't freeze and, moreover, allow to contact with Access Points that under Windows don't work because an incompatibility with this Intel Wireless card. To install the module it's only needed to copy the latest firware to the /usr/lib/hotplug folder (I had to create because it wasn't by default), and to compile the module with a "make install" call. Next we can access to our wireless by the iw commands (iwconfig, iwlist...).

Modem

As in the most laptops, Inspiron 510m includes a soft modem. Accordingly to the labels under the laptop the modem included is a Broadcom Model managed throught Intel AC97 specifications, and listed as a SigmaTel. In order to do the modem works I installed the linux softmodem drivers provided on the download section of Smart Link . I had used the release 2.9.7, despite that currently there are newer releases that possible might work too.

To install the drivers first I downloaded the source from the last link, then I decompressed them. This drivers have kernel 2.6 support and Alsa support. In order to activate it you must compile with:

make SUPPORT_ALSA=1

Then, in order to load the Alsa modem driver, I had to load the intel8x0m module:

modprobe intel8x0m

Without this module "slmodem" software didn't work because was unable to contact with modem device. Then it is only necessary to load the binary result of the compilation. I load everything I need to use my modem. To run it you have to indicate by parameters the alsa device for the modem, that in general is hw:1. This is the call I used to use:

./slmodem --alsa hw:1 &

This leaves the "slmodem" on background serving on /dev/ttySL0 as a normal hardware modem. The only needed thing to do is to configure the pppd daemon or the Fedora Network Device Control to use it. I have to note that while the modem is dialing up it hears no sound, but modem works well.

ACPI, laptop-mode and suspend

I've configured the ACPI system according to the laptop mode 2.6.9 kernel included scripts and to the IBM ThinkPad T40p configuration page provided ACPI scripts.

For the laptop mode I had to include the laptop-mode configuration file on the /etc/sysconfig folder. Then I had created the control script on /sbin folder.
About laptop-mode I had encountered a bit hard disk incompatibility related to the spin down timeout setted with "hdparm" utility; it is a missfunction with the most Hitachi hard drives and has an easy solution. The problem is that hard drive ignores spin down timeout and it doesn't work. To make it works it is only needed to deactivate SMART offline tests with this command:

/usr/sbin/smartctl --smart=on --offlineauto=off /dev/hda

In order to do this every time that laptop-mode starts, I had modified laptop-mode supplied control script to add this line when it start, and other to stop it. Apart of this laptop-mode works fine.

Then I created the standard laptop events and his corresponding scripts on ACPI configuration folder, (/etc/acpi). An event for the "ac_adapter", "battery", "lid", "powerbtn" and "sleep" mode and his corresponding action scripts.

All things seem to go well, but William Hanwoody notice me that S3 mode (mode to suspend to RAM) didn't work well because the screen didn't wake up from sleep. Thanks to him and others the bug had been published on kernel bugzilla and they could get a solution. To solve it, it's only needed to run the VideoPost program, made by Venkatesh Pallipadi, after the computer wake up. To do this automatically you can patch the kernel or add a call on ACPI scripts that sleep your computer. I have used this last solution. My ACPI scripts could be downloaded from here .

Unfortunately, despite this ACPI tunning, by the moment my battery, while under Windows run 2h 30min, under Linux it only run for 1h 45 min.

Others

This had been the mainly troublest things, other as sound, CD, USB, Touchpad, etc. didn't do any problems to me. There are details as ACPI (mainly functions as level charge and CPU temperature works), laptop mode, suspend, etc. that I will comment in this page as it is them proving.

Jordi Cucurull Juan, November 2004


Get Firefox!