Last Change: 17 Jun 2009, Upgrade to kernel 2.6.30 (Changes are
marked by a bar at the right)
Author: Lars Bamberger
URI of original document: http://lars-bamberger.gmxhome.de/linux/2155us.html
For questions concerning this document, contact me at:
l a r s [DoT} b a m b e r g e r {At) gmx (dOT} d e(Please read the note at the end of the document before you do!)
SUMMARY:
This document describes how I installed Linux on the Compaq
Presario 2155US Model Laptop.
TABLE OF CONTENTS:
Part One describes the laptop and its factory
configuration.
Part Two is about how I installed Red Hat Linux
9.
Part Three goes into the details of getting the
hardware to work as I install a LFS-System.
Part Four summarizes the most important
configuration files and lists some initialisation scripts.
Part Five is a list of helpful links
The Compaq comes with a pre-configured Windows XP operating system and a set of other applications. There is an OEM recovery CD that simply restores the hard drive factory image which consists of only one single 30 GB NTFS partition. Needless to say that this will destroy any Linux installation. There's also a Compaq Operating System CD with which it is possible to re-install the OS on a user created partition after you have set up sensible partitions.
If you would like to continue to use Windows and want to configure your laptop as a dual boot machine, you could try either
First, disable the Legacy USB support in the BIOS or neither the
keyboard or the touch pad will function. The installation process
runs uneventfully. Select text login when prompted for type of
login, as XFree will not work out of the (Red Hat) box. At the
first boot press 'I' to enter the interactive boot
process and do not start the PCMCIA service. The PCMCIA
service will lock up your system. To prevent this service from
getting started on subsequent boots, edit the file
/etc/sysconfig/pcmcia so that the first line reads
PCMCIA=no.
The interactive configuration program xf86config will not create a working configuration file for XFree86. Instead, run XFree86 -configure and use that configuration file. I did not give this any further testing, so YMMV.
Here is the stock Red Hat kernel's ring buffer: RH-dmesg
Now with a basic Linux system installed, I will build my own Linux-From-Scratch-System.
The LFS installation (version udev_update-20060413) went fine, so now comes the part where I try to get everything to work and fine tune all the hardware.
| Hardware | Status (Fully, Limited or Not Operational; WIP = Work in Progress) |
|---|---|
| Console | FULL OP |
| Keyboard | LIM OP, no special keys, WIP |
| Hard Disk Drive | FULL OP |
| Touch Pad | FULL OP |
| CD-RW/DVD | LIM OP, CD-RW-Burning and encrypted DVD reading untested, WIP |
| Ethernet | FULL OP |
| Graphics | LIM OP, no 3D acceleration, WIP |
| Modem | FULL OP |
| Sound Card | LIM OP, external buttons NON OP, recording untested, WIP |
| ACPI Power Management | FULL OP, not all features are tested, WIP |
| PCMCIA | Unknown, WIP |
| Video Port (Sub-D) | FULL OP |
| S-Video Port | Unknown, WIP |
| Serial Port | FULL OP |
| Parallel Port | FULL OP |
| USB | FULL OP |
| PS/2 Port | Unknown, WIP |
| CPU | FULL OP |
Only a portion in the center of the screen is actually used for the standard 80 x 25 text console and the virtual consoles if you don't configure the framebuffer device. I got a hint from Tony A. Edmond on how to configure the kernel properly for this to work. Take a look at my kernel configuration in part 4.
The 'special' keys on top of the main keyboard need special
attention. Some combinations of the 'Function' key (the one with
the blue 'fn' on it) and others keys don't work or give strange
results.
Also see the ACPI section.
Thank you Doug Palmer for the hints on how to configure keyboards under X. Check his Unreliable Guide to XKB Configuration at http://www.charvolant.org/~doug/xkb/. This should help getting all the keys to work properly. WIP.
Standard IDE Drive, works.
This is the Synaptics Touchpad, model: 1, Firmware: 5.8, Sensor: 35 with new absolute packet format. The Touchpad has the following extended capability bits set: - multifinger detection and - palm detection.
You might be interested in a specialized X11 driver at http://w1.894.telia.com/~u89404340/touchpad/index.html and a new version of GPM at http://www.geocities.com/dt_or/gpm/gpm.html.
To use the Touchpad with gpm (e.g. on text only consoles in runlevels 2 or 3), you need to get the patches for gpm (see above). You then need to create at least '/dev/input/event0' and '/dev/input/event1'. Before you start gpm, you need the kernel modules 'evdev.ko' and 'psmouse.ko' installed or built into the kernel.
The specialized X11 driver mentioned above works perfectly, just make sure you have the required kernel modules installed or built in before starting the X server. Check my system configuration for the appropriate XFree configuration.
Straight from the kernel documentation:
ide-scsi is no longer needed for cd writing applications! The 2.6 kernel supports direct writing to ide-cd, which eliminates the need for ide-scsi + the entire scsi stack just for writing a cd. The new method is more efficient in every way.
The drive works with the the kernel's IDE/ATAPI CDROM driver (ide-cd.ko as a module). If you use this as a kernel module, put 'alias block-major-3 ide-probe' in /etc/modprobe.conf.
The eject utility runs fine. Make sure that eject finds the correct drive to eject. Either define a default at compile time, link /dev/cdrom to the drive, modify your /etc/fstab file (eject also looks in this file for the default drive to be ejected) or define an alias in your shell. Also make sure that you have the proper permissions to read /dev/hdc or eject will not be able to eject the drive.
CDDA operations run OK.
CD writing at 8 times speed works with cdrecord 2.01 for data CD-ROMs TAO mode. The command line I use is: cdrecord -v speed=8 dev=ATA:1,0,0 -data cd_image. Audio CD buring not yet tested. DAO mode is not supported.
Works fine. Remember to configure the kernel for the UDF filesystem but note that there are also DVDs with a ISO9660 filesystem.
You need software capable of playing back DVDs (e.g. mplayer). Unencrypted DVDs without region code are not a problem.
The DVD drive is a RPC-2 drive and has a hardware protection
that allows 5 changes of region code only. You can flash the
firmware of the drive and upgrade it to an RPC-1 drive.
See the following sites for more information:
Note that I have not flashed the firmware on my computer. Use caution!
ToDo:
Compile support for National Semiconductor DP8381x series PCI
Ethernet as a kernel module and put 'alias eth0
natsemi' in your modprobe.conf file. If you
hard-code it into the kernel, Ethernet will not work should you
unplug the network cable and reconnect it again. 10 MBit
Ethernet as well as 100 MBit Ethernet works fine.
The Video card works with X-org's X11R6.8.1 using the radeon driver which does not support 3D acceleration. Alternatively you can also specify the vesa driver or the ati driver (which will load the radeon driver).
X11R6.8.2 is out. There is a new ATI radeon driver.
I received a nice email from Philippe Coval, he tells me that accelerated 3D works. Check out http://rzr.online.fr/linux.htm. This is a site about Linux on Fujitsu/Siemens Amilo A7614-09GD with similar graphic hardware.
To get 3D hardware acceleration to work the first step is to configure the kernel for AGP and DRM. During kernel configuration, in the Character Devices section, enable AGP support ('agpgart.ko' if you choose modules) and ATI chipset support ('agp_ati.ko'). Also, enable either built-in or as modules the Direct Rendering Manager and ATI Readeon ('radeon.ko').
Read about the whole scoop at the DRI WIKI.
This is my current X11 configuration file: xorg.conf
ToDo:
The modem's PCI_ID is 10b9:5457, the subSystemID is 103c:0024, and the AC97 Modem codec ID is CXT41.
The Linux drivers for the Conexant (formerly Rockwell) Soft-modem HSF modem family from http://www.linuxant.com work.
Make sure that you get the very latest version of the driver (and all available patches) before upgrading your kernel. If you don't, you might be stranded with a non functional modem (or keep the old kernel around).
The latest hsfmodem driver version as of 18th May 2007 is: 7.60.00.09 and there are no patches.
Note that this driver is not published under the GPL. It's a proprietary driver and you have to pay to use the full modem speed. See the link above for further details.
You need to chmod +x /usr/lib/hsfmodem/modules/kernelcompiler.sh or hsfconfig will fail.
There seems to be a conflict with the pre 2.6.0 linux kernel's sound drivers. I have not had any problems with the now kernel ALSA's 'snd-ac97-codec.ko' driver module.
See also the Conexant+Rockwell-modem-HOWTO from The Linux Documentation Project.
The ALSA sounddrivers now come with the linux kernel. The module will be called 'snd-ali5451.ko'. Individual left/right muting is not possible, and the neither the external buttons nor the special keyboard sound control buttons work.
ToDo:
Simply configure your kernel for ACPI. The system fan is now nice and quiet :-)
Since ACPI is enabled, some of the special key-combinations (with the blue 'fn') started working, more testing is in progress.
The acpid daemon is considered to be outdated (by me). Many user space programms use ACPI's procfs and/or sysfs interfaces.
Check http://acpi.sourceforge.net/ for latest information on ACPI for linux.
ToDo:
In the BIOS, select either AUTO or BOTH for the external monitor. Just plug in you monitor and enjoy :-) Note that the laptop only detects the external monitor at system startup, so the monitor is not hot-pluggable.
Just compile the serial driver(s) you want. If you use modules,
it's propably a good idea to put
'alias char-major-4 serial' in
/etc/modprobe.conf. Don't forget the serial mouse driver
if you want to use a serial mouse on this port.
The standard parallel port works OK. You need parallel port
support (parport) and PC-style hardware (parport_pc) compiled into
the kernel or the kernel modules parport.ko and
parport_pc.ko. Put
'alias parport_lowlevel parport_pc' in your
/etc/modprobe.conf file if you use kernel modules.
NOTE: If you want to use the port for printing, also put
'alias char-major-6 lp' in
/etc/modprobe.conf and compile parallel printer support
(lp.ko as a module) with the kernel. See the documentation
of your printing system (e.g. CUPS) for further details.
You need at least 'Support for Host-Side USB'
(usbcore.ko as a module) and 'OHCI HCD'
(ohci_hcd.ko as a module) configured in the kernel.
Depending on what you want to connect to the USB ports, additional
software is required. See the Linux USB Project for more
information on USB. Note that the Compaq does not support USB
2.0
CPU Frequency Scaling seems to work. Remember to configure the
kernel for the sysfs type filesystem, and mount it. Then
read the documentation that comes with the kernel in the
cpu-freq directory.
With the conservative governor the CPU stays at the
slowest speed when playing MP3s in the background and doing other
things (like writing this document). :-)
Look at the configuration below and also at the little scripts.
This is my current kernel configuration file: linux-2.6.30.config
This is the kernel's ring buffer right after booting has finished:
dmesg
This is my configuration file for the kernel module loader:
modprobe.conf
This is my current X11 configuration file (experimental!): xorg.conf
Some initialisation scripts I wrote:
I am not a Linux professional, I spend parts of my free time on Linux. This document is intended only to share my experience with other users. Please keep that in mind if you should mail me. You are always welcome to contribute to this document. I will update this document as I progress and hopefully get more and more hardware to work unter Linux. It may also help to consult other documents dealing with similar laptop models. Check out the Linux on Laptops website for more links.
With respect to German law, this is the 'Impressum'.