Linux on an Acer 1603LC laptop

Peter Ross, pross@blueyonder.co.uk

Last updated: May 10 2004

Summary: I installed Linux Mandrake (most recently 10.0, previously 9.2) on an Acer 1603LC laptop, it works beautifully. I added a Belkin F5D6020u Wireless card, that works well too. The installation of all this is not quite straightforward, but it's not a major hassle either.

The ACER 1603LC

The machine has this as standard:
Processor: Intel Pentium 4 2.6Ghz
Memory: 512Mb
Screen: 15" TFT, handles 1024x768 at depth 24
Graphics: ATI Mobility Radeon 9000 (RV250 LF)
Hard drive: 30Gb
Sound: SiS7012
DVD/CD-RW: MATSHITA UJDA740
Ethernet: Realtek RTL-8139
Modem: SiS7013 56k
Other: 4 USB ports, Firewire, Windows XP Home as standard

I installed the Powerpack edition of Linux Mandrake 10.0. If you are installing Linux Mandrake 9.2 instead, note that the earliest release revealed problems with LG CD drives, see this page for details, but this machine was not affected because it does not use LG hardware. To boot from the CD you need to enter the BIOS (press F2 on first boot - you may have to be quick about this if the BIOS option to omit certain start-up checks has been set) and request that the boot menu be displayed when booting; or use F12 to cause it to be displayed. This machine has a Phoenix BIOS; you do not set the order of devices to try to boot from within the BIOS itself, instead a menu can be optionally displayed during boot that lets you choose the boot device interactively.

When booting the Mandrake CDROM (10.0 or 9.2) to install it, you may find as I did that it hangs if you simply press <Enter> to upgrade/install the system. The cure is a common one - do not press <Enter>, press <F1> for the further options. You will get some help text and, at the bottom of the screen, a 'Boot:' prompt. At the prompt, enter:

    linux noapic
to load the kernel but omit the APIC (advanced programmable interrupt controller) support. The system should then boot without problems.

I chose to delete Windows XP, you may prefer to keep it. For me, installation went smoothly; I always choose to do custom disk partitioning and sizing and do manual package selection during the install, but I have no reason to doubt that the automated options work OK.

The installation process set things up quite conservatively, so that there was no support for battery monitoring. It is easy to change this as follows:

  1. as root, edit /etc/lilo.conf. You will find that the entries each specify acpi=ht as one of the kernel parameters. ACPI is the advanced configuration and power interface, which puts power management under software control; ACPI superceded APM which put power management under BIOS control. The acpi=ht simply causes ACPI parameters to be printed to the system log during boot and nothing else. Change acpi=ht to acpi=force to cause ACPI support to be loaded during boot.
  2. as root, run lilo (no arguments needed) so that the changed configuration takes effect
  3. if you want to use a battery monitor such as klaptopdaemon, so that you have a visual indication of the state of your battery on the KDE taskbar, you will also need to get the ac and battery kernel modules loaded. A simple way to do this is to include the commands
        modprobe ac
        modprobe battery
    in /etc/rc.local. The klaptopdaemon will pop up warnings when the battery is low, and so on.
  4. reboot. You can check that ACPI support is loaded by checking for the existence of the directory /proc/acpi/, and if you have included the battery and ac modules then you should find that /proc/acpi/battery/BAT0/ also exists. Just do:
        cat /proc/acpi/battery/BAT0/info
    to get information about the battery's capability, and:
        cat /proc/acpi/battery/BAT0/state
    to learn about its current state (charge level etc).

The supplied battery is a Lithium-Ion type and will provide about two hours of power. All batteries suffer from the infamous 'memory effect' to some degree, although Lithium-Ion batteries are much better than their predecessors in this respect. But it is still wise to run the battery through a few (say, three) full charge and discharge cycles at the beginning, and to run the battery right down and recharge it every 2-3 weeks.

The PowerPack edition of Linux Mandrake 9.2 will install ATI's driver and OpenGL support for the graphics card, which gives much better graphics performance than the one that comes with XFree86. At least with the ATI driver (which can be obtained from www.ati.com if you are installing some other version of Linux), the laptop will drive an external projecter without trouble and without the need to reboot when you plug the projector into the port.

I use a USB wheel mouse rather than the built-in pad; it works fine.

The Belkin F5D6020u wireless card

This is a cheap and good 802.11b wireless card that plugs into a PCMCIA slot. There are two lights on it to indicate status; unlike many other cards it makes no noise during operation. Thre are many web pages that talk about the F5D6020 card, but be careful: the F5D6020u (also marked rev 2) is an updated version using a different chipset from the original F5D6020; the original one is now obsolete. The new ones use ATMEL chips.

For Mandrake 10.0 users: there are drivers included in 10.0, but a small piece of firmware is missing from the Mandrake 10.0 distribution. You can search for and download atmel-firmware-0.7-1mdk.i586.rpm (the version number may change by the time you read this), and then install it as root by

    # rpm -Uvh atmel-firmware-0.7-1mdk.i586.rpm
after which everything works fine. Just plug in the card and surf.

For Mandrake 9.2 users: there are drivers available in the installed system (source in /usr/src/linux/3rdparty/atmelwlan/, loadable modules in /lib/modules/2.4.22-10mdk/kernel/3rdparty/atmelwlan/) but I could not get these to work. Instead, download the latest release from atmelwlandriver.sourceforge.net, unpack them somwehere and make them. When, as root, you do a 'make install' you may find that the makefile complains that the directory /lib/modules/2.4.22-10mdk/pcmcia/ does not exist; just create it and re-run 'make install'. (If you have the wxWindows libraries and headers installed, a tool named 'winter' will also be created that lets you monitor the card.) Finally, to get the system to load the driver when the card is plugged in, as root edit /etc/pcmcia/config to add these lines:

    # PMR added this entry:
    device "pcmf502rd"
      class "network" module "pcmf502rd"

    # PMR added this entry:
    card "Belkin F5D6020u (rev 2)"
      manfid 0x01bf, 0x3302
      bind "pcmf502rd"
(I include the comments as a matter of habit so that I can easily locate changes I made, years later). Finally, to get pcmcia to notice the changed configuration, run this as root:
    # /etc/init.d/pcmcia restart
and that's all.

(For 9.2 or 10.0) Thereafter, when you plug the wireless card into your switched-on laptop, cardmgr will notice and will cause the driver to be loaded, the eth1 interface to be configured (eth0 is for the built-in, wired ethernet interface) and so on, so you can start surfing the web or whatever at once.

If you choose a different wireless network card and it doesn't work straight away, then the information at www.linux-wlan.org may help you to find the right driver.

Once your card is up and running, try:

    cat /proc/net/wireless
to get basic status information about your wireless connection.

USB Mobile Disk/Flash Drive

These are now very popular as a cheap and quick way to carry lots of files and data around. Mine, a Twinmos 256Mb drive, works fine. Just plug it into a USB port, the system detects it and loads the usb-storage module if necessary and mounts it as /mnt/removable. Simply copy files to and from /mnt/removable and when the transfer is complete, unplug it.

Other points: processor temperature control

A reader of this page reported that he drove his laptop very hard, with highly CPU-intensive work, and managed to get the CPU to shut down because of overheating. This isn't fatal, the Pentium IV includes elaborate thermal protection measures whose job is to do precisely that before any damage can occur; but it is an annoying interruption. If this affects you, there are a couple of possible remedies, which I have not personally tried. One is `processor throttling', an ACPI function that essentially causes the processor to sleep very briefly at regular intervals and therefore reduce power consumption and the risk of overheating. The other is `thermal zone protection', another ACPI 2.0 function. There are loadable modules for these. For example:

    # modprobe processor
    # echo -n 2 > /proc/acpi/processor/CPU0/throttling
should put the processor into the T2 throttling state -- see these pages for details of what this means and other examples. For thermal zone protection:
    # modprobe thermal
and read these pages to see what you can then set.

Other points: the modem

The onboard SiS modem is a "Winmodem", so it relies on the laptop's CPU for some significant processing effort. I haven't tried it because I have never yet needed to use a phone link, but it has been suggested by another reader that the Linux driver made available by SmartLink should work (note: but it's not open source). The latest version has instructions for installation for Linux kernel 2.4 (ie Mandrake 9.2) and 2.6 (ie Mandrake 10.0).