Prof. Dr. Jan Bredereke

Installing SuSE Linux 9.3 (and 8.2 and 7.0) on an Acer Travelmate 522TX

Summary: it works fine for me for those things that I need and which I tried out, except for the internal modem. I hope it will do the same for you, but of course I can't give you any guarantees. This page is provided in the hope that it is useful, but it might contain errors. Please provide me with additional information, if you have.

The installation for SuSE 8.2 went even more smoothly than for SuSE 7.0. (Both were done from scratch.)

The update to SuSE 9.3 from SuSE 8.2 went smoothly, too.

Overview:


Hardware

display: 14,1" TFT, 1024x768
hard disk: 12 GBytes
battery: LiIon
CPU: Mobile Intel Pentium III at 600 MHz
RAM: 64 MBytes, extensible
drives: 1.44 MB floppy; 24x CD-ROM, exchangeable
video chipset: ATI Rage Mobility-M1 with 8 MBytes SDRAM
sound chip: Acerlabs ALi 5451 PCI Audio Core

Installation

Before installation of Linux, I went into the Windows 98 system control and noted down as much details on the hardware as I could. Then I repartitioned the hard disk, as described in the SuSE manual, to have a dual-boot machine.

SuSE 8.2

The installation of SuSE 8.2 went smoothly. The few quirks that appeared in SuSE 7.0 have gone.

SuSE 7.0

The installation of SuSE 7.0 generally went smoothly. At one point, the system appeared to hang during installation, with a black screen and no reaction to Alt-F2 etc. Simply hitting Return solved the problem.

Yast2 did not detect the monitor automatically, I used "LCD" and "XGA 1024x768@60Hz". Yast2 proposed a quite narrow range for the vertical frequency, and resolved to using XFree86 version 3 instead of version 4. This version was extremely slow in drawing on the screen. After the installation, I used Sax2 to install XFree86 version 4 properly, see below. This runs fine and fast.

Video Chipset

SuSE 9.3

The chipset was detected automatically and correctly during installation by SaX2.

For your information, I provide my /etc/X11/xorg.conf file that I currently use. (Please note that I have swapped the CapsLock and left control keys.)

SuSE 8.2

The chipset was detected automatically and correctly during installation by SaX2.

For your information, I provide my /etc/X11/XF86Config file that I currently use. (Please note that I have swapped the CapsLock and left control keys.)

SuSE 7.0

After the remaining system was up and running, I switched to text mode using "init 2" and ran sax2 via yast, in "custom style". It detected most of the hardware alright. I switched the colour depth from 65536 to 32bit to get more colours (24bit is not supported.)

For your information, I provide my /etc/X11/XF86Config file.

PC Cards (PCMCIA)

SuSE 9.3

Besides the cards mentioned below, I now also have a USB 2.0 CardBus card that worked out of the box.

SuSE 8.2

I have an Ethernet card (3Com 3C575-TX) and a SCSI card (Adaptec 1460B) that both worked out of the box. (I did not test my modem card anymore.)

SuSE 7.0

I have a modem card and a SCSI card that both worked out of the box.

APM

APM works, for details see below.

A draw-back of the hardware is that the power consumption in suspend mode is about 1/3 of the power consumption of a running machine. So I get only about ten hours of suspend time before the battery fails. I have already switched off the "wake-on-LAN/Modem" option in the BIOS, but there is not much difference.

The Acer offers a hibernation (suspend-to-disk) mode under Windows, too. I did not try to make it work under Linux yet. It might be more difficult than suspend-to-RAM, since the data should go into a special file in the Windows file system, and since more state than just the contents of the RAM needs to be saved.

Somehow apm and xapm do provide the percentage of the battery only, but not the remaining time.

SuSE 8.2

APM works; ACPI does not work (suspending, battery status). In the BIOS, PowerManagement must be set to APM, not ACPI. (Maybe this is the default anyway?) I think the fan works properly only when apmd is running. This was not the default in SuSE 8.2. I switched it on manually in YaST2's run level editor, for run levels 2, 3, and 5.

No recompiling of the kernel was necessary, as it was for SuSE 7.0.

There is one quirk left: The machine suspends fine, and it awakes after I open the lid. But then the keyboard and mouse are frozen, after a few seconds the machine suspends again by itself, wakes up again, and then finally is fine.

SuSE 7.0

Suspending the computer (to RAM) and auto-power-off on system shutdown works, provided you recompile the kernel (see below).

Ethernet

The Ethernet adapter is an Intel EtherExpress 100.

SuSE 8.2

YaST2 allowed a smooth menu-driven configuration.

SuSE 7.0

The Ethernet adapter works fine with ca. the following:

/etc/rc.config:

IPADDR_0="192.168.0.2" # insert your IP address here!
NETDEV_0="eth0"
IFCONFIG_0="192.168.0.2 broadcast 192.168.255.255 netmask 255.255.0.0"
NETCONFIG="_0"

/etc/route.conf:

192.168.0.0        0.0.0.0           255.255.0.0        eth0
10.0.0.0          0.0.0.0           255.0.0.0          reject

Modem

It is a Lucent Technologies Softmodem AMR, in a combo with the Ethernet adapter. I have tried to make the modem work, but it did not appear to be possible at that time. Much later, somebody else indeed got this kind of modem to work. Since I got DSL now, I did not try it out anymore.

Lucent has released a binary-only kernel module to support its soft-modems. After about kernel version 2.2.14, a data format in the kernel was extended (tty_struct in tty.h) in the middle of a record, so that the Lucent binary-only module stopped working. There is a kernel patch available which moves the new component to the end of the record. But even after applying this patch, the module still complains "device or resource busy" and does not load. According to the page on Linux on an Acer TravelMate 524 TXV, the AMR soft-modems are totally different from previous Lucent soft-modems, and can't work with the old kernel module. Also, it says that the new interface is neither PCI nor ISA, so that other existing drivers won't work, too.

On January 28, 2003, George H. Fisher (fisher@ssl.berkeley.edu) wrote to me (citation with permission):

I have a fujitsu lifebook laptop with a modem that in windows xp is identified as "lucent soft modem AMR". I recently discovered that there is a linux driver for this modem that works, at least in my laptop. That driver can be obtained from this ftp site:

ftp://ftp.smlink.com/Update/linux/unsupported/ (this page now does not exist anymore. J.B., Mar. 11, 2003)

For me, I got the 2.7.8 tarball distribution, and followed the instructions for compiling the driver, which I did under a RedHat 7.3 distribution.

The modem now works great under linux!

On March 10, 2003, George H. Fisher (fisher@ssl.berkeley.edu) wrote to me (citation with permission):

[...] It seems that for whatever reason smartlink has blocked access to the address from which I found the linux driver. Therefore, I am posting the version of the driver I was able to download from our own website, until such time as smartlink once again posts their development drivers. By the way, one can still download a linux driver from their website www.smlink.com, it is just an older version, and postings from linmodems.org indicated that it didn't work with recent kernel versions.

At any rate, the version that worked for me can be found at this URL: http://solarmuri.ssl.berkeley.edu/~fisher/public/software/lifebook-s6010-modem-linux/

Touchpad / Mouse

The touchpad works with Linux. I haven't made work it's more advanced features like scrolling etc.

The touchpad is disabled when I connect an external PS/2 mouse. If you unplug the PS/2 mouse while power on, this sometimes results in an unusable state of the touchpad.

The touchpad is not disabled when I connect an external USB mouse. I can disable it by pressing Fn-F7.

Outdated Stuff

Stefan Fredriksson (mcriley@telia.com) reported that he got the touchpad and an external USB mouse to work at the same time. He owns an Acer 621 LV with Mandrake Linux and XFree86 Version 4. You can find his configuration file XF86Config-4 here. This works because the USB mouse uses a different device (/dev/usbmouse) than the touchpad (/dev/psaux). My mouse is a PS/2 mouse. It uses the same device as the touchpad. Therefore this solution did not work for me.

I would like to hear about anybody who can activate both touchpad and PS/2 mouse at the same time. - According to an email, there exists a kernel patch and a lot of documentation on PS/2 multiplexing. PS/2 multiplexing could make it possible to have both the internal touchpad and an external mouse working at the same time. One link to documentation is available at the Synaptics Web site: http://www.synaptics.com/decaf/utilities/ps2-mux.PDF . I did not investigate this further, up to now.

Keyboard

I prefer to swap the CapsLock key and the left control key. SaX2 allows to do this for X Windows via a checkbox.

Before I found out this, I did the swap by putting into /etc/X11/Xmodmap:

remove Lock      = Caps_Lock
remove Control   = Control_L
!keysym Caps_Lock = Control_L
keycode 37 = Caps_Lock
!keysym Control_L = Caps_Lock
keycode 66 = Control_L
add    Lock      = Caps_Lock
add    Control   = Control_L

You can also use the Windows and Menu key. I put the xlock command on the Shift-Menu key by adding the following to my .fvwm2rc:

Key     Menu    A1234567890     S       Exec xlock -nice 0 -mode pyro
With other window managers, you have to do it differently.

Another tip: Shift-Ctrl_R is the compose key to get accented characters etc.

SuSE 8.2

In order to swap the CapsLock key and the left control key for the text console, I appended to the file /usr/share/kbd/keymaps/i386/qwertz/de-latin1-nodeadkeys.map.gz:
# J.B.: swap Caps_Lock and Control(left)
keycode  29 = Caps_Lock
keycode  58 = Control
Please note that you have to gunzip the file first, and you have to gzip it afterwards.

SuSE 7.0

In order to swap the CapsLock key and the left control key for the text console, I created the file /usr/lib/kbd/keymaps/i386/qwertz/de-lat1-nd-swap.map.gz which contains, in compressed form:

include "de-latin1-nodeadkeys.map"
keycode  29 = Caps_Lock
keycode  58 = Control
Then I changed in /etc/rc.config:
KEYTABLE="de-lat1-nd-swap.map.gz"
and re-ran SuSEconfig.

Recompiling the Kernel

SuSE 8.2

I did not need to recompile the kernel yet.

SuSE 7.0

In order to get APM support, you should recompile the kernel. For your information, I provide my kernel config file /usr/src/linux/.config. Please do not copy it blindly, but rather look up what I have done when you change the defaults.

IrDA/FIr Infrared Connections

SuSE 8.2

I did not try Infrared yet for SuSE 8.2. But see below for SuSE 7.0.

SuSE 7.0

I got IrDA nearly working: the irdaping command showed the packets from another laptop computer. But somehow I did not get the networking stuff right, so that the ping command did not show any reaction. So the hardware can probably be used under Linux, at least in IrDA mode. I will return to this topic later, when I have more time.

Sound

This laptop contains stereo speakers, a built-in microphone, and jacks for speakers/headset, external microphone, and line.

The sound chip is an Acerlabs ALi 5451 PCI Audio Core.

SuSE 8.2

Sound did work out of the box.

SuSE 7.0

The Acerlabs provide a sound driver module for the sound chip on their web pages. (Yes, there are hardware providers who support Linux!) You can find three versions there: Most comfortably, there is a patch for the kernel source tree, it adds a file for the source of the driver, and it also adds patches to the kernel config menues, such that you can select this driver in the usual way by "make menuconfig" and by re-compiling the modules. There is a detailed recipe in the README file on how to proceed. Additionally, there is a stand-alone version of the driver source with manual installation instructions. Finally, there is also a version for the 2.3 kernel (the other ones being for the 2.2 kernel).

I used the patch version to generate a new sound driver module. To be even more on the safe side, I used slightly different parameters for the patch command than given in the README:

cd /usr/src/linux
patch -p1 -b -z .orig70 < ~/patch-ali_audio-2.2.X_2.3.35_2/patch-ali_audio-2.2.X_2.3.35_2
This also saves the old versions of the files with extension .orig70, and it is more verbose. The patch applied cleanly to my SuSE7.0 kernel 2.2 source tree. Then I did "make menuconfig" and the further compilation steps, as described in the README.

The README describes how to automatically start the module for Slackware, Caldera, and RedHat, but not for SuSE. In principle, SuSE should work like RedHat. But for some stupid reason, my modification of /etc/conf.modules did not work. (If you can do it, please tell me how.) As an alternative, I wrote another startup script for /etc/rc.d which starts the driver at boot time. I called it /etc/rc.d/sound_ali, and I built it from the skeleton file provided by SuSE. You can find it here. In order to start the sound service in runlevels 2 and 3, you need to make symbolic links from this file to /etc/rc.d/rc3.d/S21sound_ali, /etc/rc.d/rc3.d/K21sound_ali, and the same for .../rc2.d/... I wrote the startup script such that sound only starts when /etc/rc.config contains the line

START_SOUND_ALI="yes"
So you have to add this line as well to get sound. Furthermore, I made a symbolic link from /sbin/rcsound_ali to the startup script. This allows for a manual start/stop.

The sound driver turns on the microphone by default, which I didn't like. Therefore the startup script contains a call to the sound mixer smix, which you should install. It tries to read the configuration file /etc/smix.conf. I created this file by running smix as a normal user, adjusting the mixer levels as desired, saving them, and then copying ~/.smix.conf.

Some more fine tuning: I didn't want to allow every user to access the sound devices (in particular, to the built-in microphone). So I made sure that the following files belonged to group audio and were not accessible for the rest of the world: /dev/audio, /dev/mixer?, /dev/dsp? . Furthermore, I added myself to group audio (e.g., via yast).

The sound driver appears to handle APM suspend/resume without problems. I did not try what happens if you suspend while playing sound, though.

USB

SuSE 9.3

I use a Logitech USB mouse now.

SuSE 8.2

I do not have any USB device. I suppose USB would work out of the box nowadays.

SuSE 7.0

I did not try this out yet with any real USB device, but originally had plans to do so. Meanwhile, I corrected a small problem with the USB startup procedure, and it looks promising now:

When booting, I got the error message: "Maybe USB or the USB IRQ is disabled in the BIOS, enable it." The solution to this is in the SuSE support data base (key "tami_usbboot"). For the Acer, edit the file /etc/rc.config.d/usb.rc.config and change

USB_HCI="auto"
to
USB_HCI="usb-ohci" 
Then remove the file /var/lock/subsys/usb.failed . Then you can either reboot, or issue "rcusb start" as root. Then, the usb-ohci module is loaded correctly. The usbcore module is also already loaded by other boot scripts, too.

Printers

I used two different laser printers with Linux:

  • Brother HL-1050: I installed it as an "ljet4" printer.
  • Brother HL-1850: Brother now supports Linux officially. See Brother's Linux driver homepage. The CD coming with the printer contained a PPD file which I put into the corresponding CUPS directory /usr/share/cups/model/Brother/ . I did this under SuSE 7.3. It appears that you have to use the CUPS printing system to take advantage of PPD files. But it is now the default printing system anyway, as far as I know, and CUPS is more flexible than, e.g., the lprold system.

Useful Links

This report is listed at TuxMobil - Linux on laptops, notebooks, PDAs, mobile phones.