|
> Slackware 11 on a Dell Latitude C640 laptop <
In this article, I will share my experience related to installing and running Slackware Linux 11.0 on
a Dell Latitude C640 laptop. Slackware 11 runs fine on this particular Dell model, after some
configuration adjustments and tweaking.
I bought this laptop on Ebay in September 2006, to replace my still going strong, but nevertheless aging Toshiba Satellite Pro 6000.
Compared to the Toshiba, this Dell is a small laptop: smaller keyboard, less whrist space, but also somewhat less heavy.
The Dell is also a lot faster than the Toshiba, and that's why I bought it.
Even though it is no longer state of the art technology, with a 2.0 GHz Pentium 4, 1 GB of RAM, a 40 GB disk and an
ATI Radeon 7500, it packs a lot of power and storage, and has no problems handling most desktop tasks.
The battery of the Dell is a welcome surprise: it packs a whopping 66 Whrs of power, yielding a battery autonomy of at least 3 Hrs, even reaches 4 Hrs when not performing
"heavy" work.
I also submitted this document on the Linux on Laptops site
and on Tuxmobil.org.
Technical overview
| CPU type |
Intel Pentium 4 Mobile |
| CPU speed |
2.0 GHz |
| BIOS |
Revision A010 |
| Chipset |
Intel 845 (Brookdale) |
| Memory |
1024 MB DDR SDRAM, PC2700 (2x512) |
| Harddisk |
Hitachi DK23EB-40, 40.0 GB, 5400 rpm |
| CDROM |
Toshiba CDRW/DVD-ROM SD-C2612, 24x |
| Display |
14" Color TFT, 1400x1050, 16M colors |
| Video card |
ATI Radeon Mobility M7 (Radeon 7500), AGP, 32 MB |
| Network card #1 |
3Com 3C905C-TX Tornado (onboard) |
| Network card #2 |
SMC 2835W V2, 54 Mbps Wifi Cardbus adapter |
| Sound Card |
Intel 82801 AC97 |
| Keyboard |
full size Qwerty |
| Pointing device |
"joystick" in keyboard + Touchpad |
| I/O ports |
1 x serial, 1 x parallel, VGA, TV-out, 1 x USB, 1 x PS/2,
RJ-45, RJ-11, 2 x PCMCIA/Cardbus, Mic in, Line out, Ir |
| Installed OS'es |
Slackware 11 + WinXP Prof. |
| Linux kernel |
2.6.18 (at date of article) |
Pictures
Installation
When I got the laptop, it came with a French version of Winblows XP Home installed. I replaced it with an English version
of Windows XP Prof, on a 9 GB partition. I also upgraded the BIOS from rev. A07 to A010.
The remaining 30 GB of the disk are used by a Slackware 11 (RC5) installation.
As usual, the Slackware setup went like a breeze. I partioned the harddisk with cfdisk for use with Linux.
All partitions are formatted with Ext3. Here is the partition table :
Filesystem Type Size Used Avail Use% Mounted on
/dev/hda6 ext3 1019M 90M 876M 10% /
/dev/hda5 ext3 46M 8.7M 35M 21% /boot
/dev/hda7 ext3 7.0G 2.0G 4.6G 31% /usr
/dev/hda10 ext3 17G 924M 15G 6% /home
/dev/hda8 ext3 1019M 39M 928M 4% /var
/dev/hda9 ext3 1.4G 401M 912M 31% /tmp
/dev/hda11 swap 1.4G 0M 1.4G 0%
As you can see, most of the disk space is devoted to /home. Since I don't use KDE nor Gnome, 7GB is largely enough for /usr.
I assigned 1.4GB to the swap partition, because I would like to try suspend-to-disk.
The Slackware setup application completed the installation without problems. After the initial installation, it was necessary
to configure X11 manually (defaults to vesa).
Harddisk/IDE controller
The IDE controller is an Intel Corporation 82801 IDE controller (ICH3). It is supported by the
Intel PIIX IDE UDMA driver, present since long time in Linux kernel 2.4 and 2.6 series.
This controller enables the HD at UDMA-100.
Here are the hdparm benchmarks :
[root@porty /home/david]# hdparm -Tt /dev/hda
/dev/hda:
Timing buffer-cache reads: 1444 MB in 2.00 seconds = 720.96 MB/sec
Timing buffered disk reads: 86 MB in 3.05 seconds = 28.21 MB/sec
The harddisk is a 40.0 GB Hitachi Travelstar, runs at 5400 rpm, and is equiped with 2MB cache:
[root@porty /home/david]# hdparm -i /dev/hda
/dev/hda:
Model=HITACHI_DK23EB-40, FwRev=00K0A0C0, SerialNo=8J9471
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78140160
IORDY=yes, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=yes: mode=0x80 (128) WriteCache=enabled
Drive conforms to: ATA/ATAPI-5 T13 1321D revision 3: ATA/ATAPI-2 ATA/ATAPI-3
ATA/ATAPI-4 ATA/ATAPI-5
* signifies the current active mode
It works fine, and pretty fast too, as does the CDRW/DVD-ROM drive.
X11/Framebuffer
The video controller is an ATI Radeon 7500 Mobility. It is supported by Xorg, using the
radeon driver. It is connected to the AGP bus and has access to 32MB dedicated memory.
Performance is very good, both for 2D and 3D stuff. Remember to enable DRI in the kernel and X for full acceleration.
I run X11 in 1400x1050, the native resolution of the LCD panel, in 24bit colordepth. The quality of the LCD panel is
very good : very bright, good contrast and rich colors.
The Radeon chip is also VESA compliant, so I use 1024x768x8 VESA framebuffer mode in console, giving me a full screen
console, with 128 colums x 48 rows of sharp text. If you don't use the VESA framebuffer, you're stuck with 80x25 text mode,
and a thick black border.
Here is my xorg.conf, so you can use it too.
Sound
The sound controller is an Intel 82801CA AC97 audio controller. This sound controller
gives you full duplex sound, so you don't need Esound or Arts. It is supported by the ALSA snd_intel8x0 driver.
Networking
The onboard Ethernet controller is a 3Com 3C905C-TX.
This controller gives you 10/100Mbps full duplex networking. The connector is a regular RJ-45.
It is supported by the 3c59x drive. It works fine.
I also use an SMC2835W Wifi Cardbus adapter. It gives me 54Mbps wireless networking.
I use Ndiswrapper to drive the SMC.
USB
The USB controller is an Intel 82801CA USB rev 02. This controller powers
1 lonely USB port. It is supported by the UHCI USB driver and works fine.
I use 4 USB devices with this laptop :
- a Microsoft Optical WheelMouse (Microsoft makes great hw ;-)
- an external floppy drive
- a 64MB Memory Stick
- a Canon EOS 300D digital camera
For the mouse to work, you need the usbhid driver.
For the floppy and the stick, you need the USB Mass Storage driver and SCSI Disk support.
Cardbus/PCMCIA controller
The Cardbus controller is a Texas Instruments PCI1420. This controller powers
2 slots. It is supported by the Yenta Cardbus driver and works fine with all the PCMCIA or
Cardbus adapters I have at my disposal. No problems detected.
Mouse/Pointing Device
I use 3 mice on this laptop :
an external Microsoft Optical USB WheelMouse
the built-in joystick thingie
the buitt-in touchpad.
The joystick mouse and touchpad are recognised as a regular PS/2 Mouse. For the USB mouse, the usbhid driver is
needed. All mice work fine simulteanously in X11, but the touchpad does not seem to work in console mode.
For the console, I start gpm like this:
/usr/sbin/gpm -m /dev/mouse -t imps2
ACPI
The laptop supports both APM and ACPI. That's nice but you can use only 1 of them. If your kernel has support for
both, it will use ACPI. As mentioned, this laptop supports APM but I did not bother to test it: I use ACPI only.
ACPI
ACPI support under 2.6.18 appers to be very good. Status and presence reporting of the
batteries, AC adapter, power button, etc . . . , seems ok, only the fan is missing.
The ACPI driver reports that this laptop supports sleep states S0, S3, S4 and S5.
S0 (laptop is powered on) and S5 (powered off) seem obvious.
S3 (suspend to memory) works, but some nasty side-effects are spoiling the fun:
- sound doesn't work anymore
- the 3Com905 Ethernet adapter connects at only 10Mbit half-duplex instead of 100Mbit full duplex ?
- video is not restored properly
I haven't tried S4 (suspend to disk) yet.
ACPI is configured by a so-called ACPI event handler which is invoked by the acpid daemon, whenever this
user space daemon receives ACPI events from the kernel. Frankly, this means you must run acpid in order
to make your laptop do something usefull with those event notifications, without manual intervention. The default
acpi handler from Slackware doesn't do much, except initiating a shutdown sequence when you hit the powerbutton.
Well, it's a start. Here is my acpi_handler.sh script, which does a bit more.
Other hardware
internal modem : never used it, so I can't say if it works
Ir receiver : idem as above
serial port : OK, tested with a serial mouse
parallel port : OK, tested with a printer
Some files
kernel config, kernel 2.6.18
dmesg, kernel 2.6.18
lspci
see X11 section for xorg.conf
|