Linuxinstallation (SUSE 9.0, 9.1, 9.2) on a Gericom X5

in deutsch
misc stuff

Links  Summary  Installation  XServer  TVout  Sound  Touchpad/Mouse  Keyboard  WLAN  Ethernet  Modem  IRDA  Firewire  Power/ACPI  DVD/CD-RW  Masstorage  PCMCIA  Console  Kernel  Downloads

Last change: 26 Nov 2020 14:17:58 GMT

Use at your own risk, be careful, always make a backup of your data.

If you experience problems mail me, there are also Google, mailinglists and newsgroups.
Hints, bugreports, corrections are welcome.

other X5 models:
X5 Force:
NVidia instead S3 graphic chip, a CF-slot instead PCMCIA, larger HD.
Chipset, WLAN, Modem are the same I believe.
Take a look at Rudolf Mittelmann's page.
X5 MC:
Based on the Centrino chipset, almost nothing in common with the older X5.

Last News/Changes:
05.03.06: Stefan Scheler wrote a program to use the hotkeys with linux!
27.11.05: since 2.6.15rc1 the savage-DRM stuff is in the kernel
13.11.05: slmodem-modules for SUSE 10.0
31.10.04: SUSE 9.2

Ralf Heiringhoff has also made a Page with Linux and a X5 (Debian).
And Rudolf Mittelmann wrote something for the X5 Force.
Gentoo on a X5 Force at Stefan Scheler (in german).
Debian (SID).
Debian once again.
Knoppix on a X5 (and wardriving in Münster) by Paul Porzky.
Tuxmobil is great site for laptops and linux
Linux on Laptops too. - the Linuxkernel, git - Kerneldevelopment - Linux Weekly News
Knoppix - Linux-Live-CD!
Playing video with MPlayer or Xine
Fli4l is a great routerprojekt.
Additional YaST package repositories


cool magnesiacase, built-in USB-WLAN, USB 2.0, Firewire, LAN, Modem, PCMCIA, TVout, IrDA, DVD/CD-RW

Runtime about 2h, systemcooler always running and it's on the downside so you can't take it in to bed or put it on any soft material like carpet, no built in floppy, no legacy ports

With Linux I got to work:
USB, LAN, PCMCIA, WLAN, accelerated Xserver (S3 ProSavage8 P4M266), modem, Firewire, TVout

Not yet:
IrDA, (hardware 3D), hotkeys

Output of lspci-v and lsusb -v.

The normal installation process is not very difficult, if you don't like the default settings you can choose other if you click of the one you want and change it to your needs. Windows can be booted with GRUB.
Yast2 configured XFree86, sound (via-8233 with alsa), touchpad (ps2), ethernet (via-rhine), GRUB
9.0: no problems, even resizes NTFS!
9.1: no real problems, I could format a new partition only after a reboot.
9.2: No problems

The graphic chip is a S3 Prosavage8 P4M266, XFree86 has native support for it. S3 released the sources for a 3D driver under GPL, so this will come sooner or later. It is in X.Org 6.8.1 but not built by default.
9.0: no problems
9.1: no problems
9.2: no problems, only sometimes some disturbed pixels on the left side
Mplayer or Xine RPMs with more codecs are at Packman.

With the s3switch-utility it is possible to switch between LCD, CRT and TV ("man s3switch"). Of course the normal function keys work too.
To change the resolution or size of the screen add in the XF86Config in the Screensection a few you like and switch between per Strg+Fn+Alt++ or - (the blue + und -). This way only the physical resolution is changed, the virtual remains the same. To change this define several layouts (example), change with "init 3" to runlevel 3 and start the xserver manually with "startx -- -layout [??]" (z.B. "startx -- -layout tv800").

In the laptop is a VIA VT8233 onboard. It is supported by ALSA and OSS. SUSE uses ALSA for longer time.
All in all the sound quality is not so good, especially the headphone makes a lot of noise.
Despite this it works well if you pay attention to a few things:
For older ALSA-versions one must use the module option dxs_support=1 (1-4, find the best for yourself).
The combination KDE/arts is often causing problems because arts blocks the soundcard. You can pipe all other programms through arts or you leave ALSA with dmix mix right in the kernel. My /etc/asound.conf.
Furthermore it seems to be better to not adjust the volumes to 100%.
Other options are fixing the samplerate to 48 kHz and rising the buffersize.
Seems to be a quite complex topic.
9.1: For the 9.1 is a SDB-entry regarding kmix and distorted sound.
9.2: Stupid arts. E.g. with XMMS no problems. Kernels 2.6.6+ are causing problems with the interrupt routing of the 8233A, working well with a kernel patch. Fixed in 2.6.10-rc2.
Update: If you have problems with interrupted sound it can help to augment the priority of the sound app: "renice -5 [PID]", maybe even priority -10 or -19.

Touchpaddriver for XFree.
Installing an additional USB-mouse is easy with SaX2, add under inputdevices a mouse via /dev/input/mice.
9.0: detected as ps2-mouse, driver is shipped, change in SaX2 to synaptics. A more recent driver (XF86Config has to be changed).
9.1: same as 9.0
9.2: no real progress
Update: with the new versions from 0.12.4 on it is easy to compile it yourself, you only need the XFree86-devel package installed.

The Quickstartbuttons are a little useless with linux, all four produce the same scancode, so you would have only one function for all four (for example with funkeydaemon or lineakd), on Windows a special I/O-portdriver gets installed for these keys.
Update: I suppose the hotkeys could be accessible via ACPI, you can see them in the DSDT.

The builtin USB-WLAN-adapter is a Prism 2.5-chipset, Vendor/ProductID 0x09aa/0x3642. Seems that not all X5 have it.
For a stable function you should upgrade the firmware, please use the windowstool for the update.
9.0: supports it with no additional work, simply configure a wireless netdevice with Yast2. If you have problems with the initialisation you can try to comment out "wlanctl dot11req_reset setdefaultmib=false" in /etc/sysconfig/network/scripts/ifup-wireless. Especially when running a 2.6. To set the routes scripts can automatically be invoked like in this example. Newer version (0.2.1-pre20 for k_deflt,k_athlon).
9.1: supported with less additional work. Configure a wireless netdevice with Yast. Some things to pay attention for (translations may not be 100% like in Yast):
1. page: device type 'wireless'; the name of the hardware configuration can be changed to 'hotplug-0', if you like; cross at USB; properties for wireless networks as you need.
2. page: configuration name 'wlan0'; advanced->special properties->device activation 'if hot-plugged'; IP like you need.
Then you must edit as root or via su /etc/sysconfig/network/ifcfg-wlan0 and add the line
WIRELESS_AUTH_MODE='opensystem' or 'sharedkey'
Network routes like 9.0.
9.2: Quite the same like 9.1, only editing ifcfg-wlan0 not needed anymore.
For Debian visit Ralf Heiringhoff, in the FAQ is an address for Redhat-packages.
For testing or whatever:
Read the README, run "wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable", "wlanctl-ng wlan0 lnxreq_autojoin ssid=yours authtype=opensystem", if you have an AP and don't use WEP.
Then "ifconfig wlan0 [yourIP]", "route add default [gw 192.168.?.?] wlan0". Maybe you write an script, integration with hotplug seems to be ongoing. One can look with "iwconfig" whether everything is ok.
If you have problems try to "ifdown eth0", it depends on your default-route (for me eth0).
An installation with Yast2 and the orinoco-driver doesn't work because it has no support for USB-devices (but they work on it).
Update: with version 0.2.1-pre20 ramdownloading the firmware seems to work. I can load fw 1.7.4 without problems.
Troubleshooting (seems obsolete with the new firmware):
If it does not work after the steps above there are this time two possibilities:
The first was "discovered" by Peer Frank:
- unmodified SuSE-Kernel (2.4.19-4GB)
- linux-wlan-ng normal install, s.o.
- won't start with "wlanctl lnxreq_ifstate..."
"rmmod prism2_usb"
"modprobe prism2_usb prism2_doreset=1"
- following normal on:
"wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable"
"wlanctl-ng wlan0 lnxreq_autojoin ssid=[netname] authtype=opensystem"
When it then says resultcode=success it worked. Now configure the interface e.g. with "ifconfig wlan0 [IP-address]".
The second:
For me the first did not work, I still get these errormessages:
hfa384x_usbin_rx: Invalid frame type, fc=0000, dropped.
usb_control/blk_message: timeout
usbdevfs: USBDEVFS_CONTROL failed dev 4 rqt 128 rq 6 len 1024 ret -110
I got it to work with a kernel without the USB-preliminary-devicefilesystem. Simply don't check at the kernelconfiguration the above mentioned.

Should be arranged by YaST at the installation. If one only has a small network it is IMHO better to use static IPs.

The modem is a smartlink and works with linux (incl. fax).
Newer versions are available at
9.0: Modules are already included. Install the smartlink-softmodem package from DVD. After execute "smartlink-softmodem-config". A package for the personal is on the SUSE-FTP-Server.
9.1: Automatically detected
9.2: Like 9.1
Update: Since 2.6.10 or so one can use the alsa-module via82xxx-modem instead slamr.ko (details in the slmodem README).

At Via is a driver for VIA-FIR available but seems not to work with the X5 (wrong chipset, no VT1211?).
Someone made it work?
Update: In 2.6.0-test3 is now support for VIA-FIR. The VT8233 is in contrast to the helptext mentioned in the sourcecode. The PCI-ID (1106:3074) is supported. The Modul can be loaded without problems and doesn't complain about a missing device. As I don't have a device for testing I can not say if it works. Would be nice if somebody with more knowledge and ability to test it would take a look at it. A backport of the sourcecode for 2.4 I couldn't find neither despite it is surely the code the binaries at the VIA homepage are built from.
Update: Sorry! The VT8233 works only together with the VT1211. Anybody an idea how the irda dongle is connected to the southbridge?
Update: Ok, we have it, the VT1211. I have seen it. And the new MBM version ( detects it too. So the irda dongle is surely connected via the 1211. Why does it not work? I don't know (yet).
Update: lspnp -v gives me this output:
0a PNP3076 communications device: RS-232
io 0x0e00-0x0e7f
io 0x0e80-0x0eff
irq 3
dma 6
dma disabled
Update: I gave up.

modules installed (OHCI), works (with recording DV)

APM is not working properly with the laptop (for example it does not show the batterystate), also there are problems with interrupts so I recommend to use ACPI.
Of course ACPI is also not yet perfect, no suspend or hibernate for example.
The acpi-daemon executes scripts if you press a key or close the laptop.
It looks in /proc/acpi/events whether something happens and performs a defined action.
"tail -f /var/log/acpid" shows what happens for the single events.
9.0: same
9.1: same
9.2: All stuff is merged in powermanagement-daemon.
If you are using ext3, try googling for laptopmode. This is also in the newer SuSE kernels. I'm using a journalling filesystem (reiserfs; ext3,jfs and xfs are also journalling) so it does not make sense suspending the HD. With hdparm you can use the -B option to tune the powermanagment of the disk.
This section is definitely not uptodate.
Normal suspend or hibernate with APM doesn't work well, apm -s works from the console, from X it hangs, with apm -S nothing happens. With the old ACPI it doesn't resume, in the newer version for 2.4 it is not implemented.
But you can give softwaresuspend a try, it's in 2.5, patches for 2.4 exist. Here is some handwork needed, one should be able to patch and compile a kernel.
First you need a swappartition which is great enough (RAM + 30%).
Then a vanillakernel 2.4.19, ACPI-Patch from 18.9, softwaresuspendpatch beta 15 for acpi. Of course current ones do work as well, they only should match together.
Remove the link to the SuSE-Kernelsources with "rm /usr/src/linux", unpack vanillakernel with "tar -xjf linux[...] -C /usr/src" , "cd /usr/src/linux", "bzip2 -dc [acpipatch] | patch -p1", "bzip2 -dc [swsusp-Patch] | patch -p1", bzip2 is for .bz2, for .gz take gzip.
Configure the kernel, don't forget softwaresuspend, compile, install (have a look at PCMCIA). Next add in the bootmanagerconfig (/boot/grub/menu.lst for Grub or /etc/lilo.conf for LILO) the kerneloption resume=[swappartition] (for example resume=/dev/hda6).
Last but not least you need a script (at the swsusp site) which does everything, it's also possible to call it via acpid.
Good luck!
In the Swsusp-Mini-Howto you can find more detailed information.
Also take a look at Ralf Heiringhoff's Page.

The drive is a QSI SBW-081 (my firmware was NX-A5)
Haven't burned CDs with the laptop for a long time.
Burning CDs isn't difficult:
An IDE-burner has to be used via scsi-emulation (is already this way in the default kernel). Then you need an program for burning, there are a few like xcdroast, koncd, kreatecd). They all work as GUI for commandlinetools like cdrecord, cdparanoia and so on.
Apparently it has problems with erasing CD-RWs. On the page of Ralf Heiringhoff I found the following solution for the CD-RW erasingproblem: It works mostly when the SCSI IMMED flag is set, whether with -immed for cdrecord or below advanced options in xcdroast, for other programs I don't know how.
With the 2.6 kernels the need for ide-scsi will vanish (this possibility is already in 2.4 but it's rather experimental).

Connecting an USB-Floppy or an USB-Memorystick is no problem, they get recognized and work via SCSI-Emulation.

9.0: No problem.
9.1: same
9.2: No problem.

I'm using framebuffer in mode 791. To speed up the framebuffer you can add video=vesa:pmipal,mtrr,ywrap (or ypan) in /boot/grub/menu.lst.
Update: Since 2.6.10-rc1 there's a special S3-Savage-Framebufferdriver in the kernel.

Compiling modules can sometimes be hard because a configured kerneltree is expected in /usr/src/linux. If you don't use a self-compiled one and the unchanged kernelsources from the DVD are installed it is not that way.
9.0: Install kernel-source RPM, "cd /usr/src/linux".
make distclean
make cloneconfig
make dep
9.1: Install kernel-source RPM, "cd /usr/src/linux".
rm -f .config
make cloneconfig

more recent touchpad driver for 9.0
newer WLAN modules for 9.0

gerdfleischer [ätt]