Linux (Kernel 2.6.x) on Gericom X5 Force

For information on running Linux kernel 2.4.x on Gericom X5 Force, please refer to a separate documentation.

Preface and Warning

Installing and configuring Linux on a Gericom X5 Force requires some knowledge of Linux internals. You'll have to patch and re-compile the kernel, install additional kernel modules provided by third party vendors and you'll have to tweak your module and X11 configuration files.

Thus this document is not a "cookbook" but provides technical information and some additional hints which will ease your way to a full-featured Linux installation on the Laptop.

Just for the records: I'm using Debian GNU/Linux "SID" (the bleeding edge version of the distribution), a 2.6.3 kernel (compiled manually) and XFree86 4.3.0 (from SID).

Please note that all information and hints are provided "as is" without any warranty! If your Laptop or your installation is damaged, don't blame me! I've warned you!

Hardware Overview

Surprise: All devices are supported by Linux!

Important note: According to Ralf's Linux on Gericom X5 web page, there are other X5 models using a different graphics device. I don't know, if this is a difference between "X5" and "X5 force", so check the output of lspci before starting the configuration!

Software/Driver overview

USB

Only USB 1.1 using the UHCI driver (kernel configuration variable CONFIG_USB_UHCI) works fine (tested with USB mouse and mass storage device). The EHCI driver for USB 2.0 generates time outs and other problems, so don't use it.

Ethernet

The built-in 10/100 MBit LAN controller is supported by the VIA Rhine driver (CONFIG_VIA_RHINE).

Firewire

The built-in FireWire (IEEE 1394) hardware is supported by the OHCI driver (CONFIG_IEEE1394_OHCI1394). I was able to access a harddrive connected via IEEE 1394 at a speed of about 25 MByte/second.

PCMCIA/CompactFlash slot

The CompactFlash slot is supported by the kernel's CardBus driver (CONFIG_CARDBUS). I've successfully read CompactFlash memory cards and used a D-Link DCF-650W WLAN card.

To make CardBus work, two changes to the CardService configuration of the pcmcia-cs package are necessary:

  1. In /etc/pcmcia/config.opts the line exclude irq 7 must be commented out. The statement informs the CardService daemon to exlcude ISA IRQ 7 from the list of usable interrupts. On a "legacy" PC IRQ 7 is connected to the 1st parallel port. However, the Laptop does not have a parallel port and therefore, IRQ 7 can and will be used by PCMCIA/CompactFlash cards.
  2. For accessing compact flash cards, you have to enable the PCMCIA IDE support (CONFIG_BLK_DEV_IDECS).

Audio Support

The 2.6.x kernel's native ALSA support for VIA 82C686 hardware (CONFIG_SND_VIA82XX) works fine. However, it's necessary to restrict DSX support to 48KHz sampling rate or disable it completely (refer to Documentation/sound/alsa/ALSA-Configuration.txt in the kernel source distribution for more details).

Thus, you have to add this line to /etc/alsa/modutils/1.0:

options snd-via82xx dxs_support=3

and then run update-modules.

The CD-RW drive

With kernel 2.6.x it is possible for tools like cdrecord and cdrdao to operate directly on ATAPI IDE devices. CDrecord failed to blank CD-RWs, but cdrdao does the job. The only thing you have to do is to tell cdrecord and cdrdao, how to access the CD writer.

For cdrdao, write these two lines to /etc/default/cdrdao:

write_device: "/dev/cdroms/cdrom0"
write_driver: "generic-mmc"

For cdrecord, you have to change the line starting with CDR_CDROM= in /etc/default/cdrecord to:

CDR_DEVICE=/dev/cdroms/cdrom0

Both settings assume, that you are running the devfsd (I know its obsoleted, but udev is still under development). If you are not using devfsd you may trie something like /dev/hdc.

Modem Support

It's unbelievable, but the modem's vendor SmartLink provides a Linux driver for the modem in the download section (you'll first have to read and accept the license agreement).

After unpacking the driver (tested with slmodem-2.9.6) you have to invoke make and make install. This procedure requires access to the kernel source tree. Please note, that the driver compilation messes around with the kernel source itself (it compiles kernel modules there!). Thus, you should do a make clean in you kernel source directory after installing the modem driver.

The driver will install some additional kernel modules for modem and fax support, a user level deamon (slmodemd, and create appropriate device nodes. If you are using devfs, these device notes are gone after the next reboot. Copying the line

slamr0		c	212	0	root	dialout	0660

into the file /etc/devfs/devices.d/modem we recreate the devices nodes upon reboot.

For using the modem to connect to an ISP via ppp, these commands are necessary. The procedure on your system may differ!

# load smlink modem driver
modprobe slamr
# start user space daemon
slmodemd -c DE >&/dev/null &
# load ppp support
modprobe ppp_async
# connect
pppd call MyProvider

X11

The GeForce 4 is supported by XFree86 4.3.0. However, the standard installation does not produce a signal on the VGA connector (ok, I didn't try very hard). Thus, you can't connect the Laptop to a beamer or an external monitor.

Using the NVidia display driver

nVidia's XFree86 4.3.x driver is provided at their support web-site. It works fine with XFree86 4.3.x and supports an external monitor. However, if you leave X11 the text console is blank, but the system doesn't freeze.

After downloading the driver package just invoke it with sh NVIDIA-Linux-x86-1.0-5336-pkg1.run. If asked, don't download a precompiled kernel module from NVidia but let the installer compile a kernel module on its own. The installer will copy the kernel module to the appropriate location and install the X11 device driver in /usr/X11R6/lib/modules/drivers/nvidia_drv.o.

To activate the kernel module you'll have to add the line nvidia to /etc/modules. This will load the kernel driver at boot time.

Furthermore, the /etc/X11/XFree86-4 configuration file needs some tailoring. Otherwise, the LCD will stay empty or get screwed up and won't even return to text-mode. I've managed to generate a configuration which shows the X11 desktop after invoking startx and which returns to the text-console after killing the X11 server or switching to the console by Ctrl-Alt-F1. Tailoring is done in the Device-section of the configuration file:

Section "Device"
     Identifier  "GeForce4"
     Driver      "nvidia"
     Option      "UseEdidFreqs"              "false"
     Option      "TwinView"                  "true"
     Option      "MetaModes"                 "1024x768,1024x768"
     Option      "SecondMonitorHorizSync"    "47-55"
     Option      "SecondMonitorVertRefresh"  "60"
     Option      "TwinViewOrientation"       "clone"
     Option      "NoTwinViewXineramaInfo"    "false"
     Option      "NvAGP"                     "1"
     Option      "ConnectedMonitor"          "CRT, DFP"
EndSection

Of course, the Screen section must be adjusted to reference this device entry correctly:

Section "Screen"
     Identifier    "Default Screen"
     Device        "GeForce4"
     Monitor       "LCD"
     DefaultDepth  24
     SubSection    "Display"
       Depth       24
       Modes       "1024x768"
     EndSubSection
EndSection

I've not yet tried to connect the Laptop to a TV.

Using the native XFree86 4.3.0 driver

The XFree86's nVidia driver does not support all (3D-) acceleration features or nVidia's TwinView (to drive a second monitor/TV set). However, it is much smaller, does not require an kernel module and re-enables the console when exiting.

To use this driver, your device lines in the XFree86-4 configuration file should look like this:

Section "Device"
        Identifier      "GeForce4"
        Driver          "nv"
EndSection

On debian, the dpkg based X11 confiugration file generator will do the job, if you select the "nv" driver.

The Touchpad

The 2.6 kernel regocnizes the touch pad as a "Synaptics Touchpad model 1". When configured as a PS/2 mouse device, 3 buttons are supported. Advanced features of the touchpad are not available.

Power Management

With the native ACPI support of the 2.6 kernel, you are able to retrieve battery and AC adapter status. The CPU frequency driver recognize the ACPI processor throtteling states. However, I've neither tested Linux' suspend to disk or CPU frequency scaling yet.

IrDA Support

Haven't tried yet ....

Sample configuration files

Please note, that these files work well for my environment. I provide them as a starting point for your own customization. Please don't use them, if you do not understand, how these configuration files are interpreted by you system.

Contact Information

For questions, suggestions and enhancements, you can reach me at Please note that I do not have the time to provide basic Linux support (e.g. "How do I download and compile a kernel").




Last modified Saturday, 28-Feb-2004 17:50:49 CET