Site hosted by Angelfire.com: Build your free website today!

Linux on the Acer Travelmate 312T

The Acer Travelmate 312T is a cute A5 format subnotebook. I bought it because it was smallest 800x600 TFT display machine I could find. It's lightweight, relatively cheap, well built, and has all the ports you might need built in. You can find details on the machine here. The rest of this page is about how I managed to install Linux on it.

Installation

A general problem with installation of any release on this machine is that the current (2.0.36) IDE driver cannot mount the PCMCIA CD-ROM drive shipped with the 312T. A fix for this is supplied below, but as it requires you to recompile the kernel, you're in a chicken and egg situation. If you have a second machine on which Linux is already installed then you can compile a kernel with the fix on that, otherwise you're stuck with the tortuous route I describe here.

I have only used Red Hat 5.1 and 5.2; if you have experience with any other releases, please pass on the details.

To install Red Hat 5.1/5.2 with no additional machine:

  1. Defragment your disk using the Win95/Win98 defragmenter. Note that if you are running Win98, ensure that the "Rearrange program files so that my programs start faster" option is unchecked so as to ensure that all files are placed at the beginning of the disk.
  2. Use fips (provided on the Red Hat install CD) to allocate a partition for as much space on your hard disk as you want for Linux. You will need at least 1Gb.
  3. Boot using the Red Hat boot disk.
  4. Go through the screens, and when asked, choose Disk Druid. /dev/hda1 is your Win95/98 partition. Allocate at least 300Mb to a FAT16 partition and then divide the rest up as you see fit between ext2, swap etc.
  5. Quit installing and reboot into Windows.
  6. Copy the REDHAT directory from the install CD to the FAT16 partition (which will probably appear as drive D).
  7. Boot from the install disk again. When asked, state that you will be installing from a local disk. When asked which one, provide the device name allocated to the FAT16 partition.
  8. You will now be able to complete your installation.

Now how do I get rid of this darn FAT16 partition?

If you're willing to make use of the space as a separate ext2 partition, then just use fdisk to reformat it. If you want to merge the space back into your already existing ext2 partition, you need to do the following:

  1. Under windows, create a top level directory C:\LINUX
  2. Having completed your Linux install, boot it and then recompile the kernel to include umsdos and vfat file system support compiled in not as loadable modules.
  3. Boot with the new kernel, mount /dev/hda1 as type vfat.
  4. According to the UMSDOS HOWTO, there's supposed to be a utility called /sbin/umssetup to set up the UMSDOS file system, however it didn't exist on my distribution. Instead I cd'd to the LINUX directory and did a touch --linux-.--- which seems to work fine.
  5. Unmount /dev/hda1 and remount it as a umsdos file system
  6. Copy your Linux files into the LINUX directory; cp -ax / /mnt/umsdos/linux should do the trick (unless you have multiple partitions).
  7. Take a copy of /etc/fstab and keep it somewhere in the umsdos filesystem (e.g. /tmp)
  8. Edit /mnt/umsdos/linux/etc/fstab to add /dev/hda1 as the boot device with filesystem type umsdos. Read the UMSDOS HOWTO for more details, options etc.
  9. Set up your multiboot (LILO or LOADLIN or whatever) to be able to boot with /dev/hda1 as your boot device.
  10. Boot it, and then use fdisk to erase the FAT16 and ext2 partitions and reuse the space for a new larger ext2 one. one.
  11. Mount the new file system, and copy your file system tree back into it: cp -ax / /mnt/ext2.
  12. Restore /etc/fstab from the backup copy you took.
  13. You can now get reboot with the ext2 filesystem and get rid of the umsdos system if you want to reclaim the space.

PCMCIA cards and Red Hat 5.2

The Red Hat 5.2 distribution (at least the boxed set that I used) has PCMCIA card services version 3.0.5. This has a bug in it which causes the machine to lock up completely (only removing the battery will cure it). You will need to download the latest version of card services (the fix is in version 3.0.6 onwards) and compile it. You will find it at the PCMCIA FTP site.

Getting X to work

It does, though Red Hat 5.1 doesn't support the NeoMagic chipset at all, and the Red Hat 5.2 installation doesn't seem to work quite right. I ended up using XFCom_NeoMagic, Version 2.0.0, following the instructions given in the README, and it appears to be working OK. The links I've given here are direct to RedHat's ftp site; if this doesn't work for you, check their mirrors list.

Here's a copy of my XF86Config file, in case that helps.

Getting sound to work

Getting sound to work required two things: first getting the PnP configuration correct, which enables root to use sound OK, and secondly setting permissions on the audio devices in the /dev directory so that non-root users can use them. Getting the PnP settings right is hampered by the fact that Windows reports the soundcard as having different settings to those that actually work correctly. Here's my isapnp.conf file, which works for me.

The audio devices, by default, are only read/write enabled for root. Other users only have either read or write access to each, which causes programs that make use of sound (e.g. xgalaga) to core dump. Setting permissions on the audio devices as follows worked for me:

    crw-rw-rw-   1 root     sys       14,   4 May  5  1998 audio
    crw-rw-rw-   1 root     sys       14,  20 May  5  1998 audio1
    crw-rw-rw-   1 root     sys       14,   3 May  5  1998 dsp
    crw-rw-rw-   1 root     sys       14,  19 May  5  1998 dsp1
    crw-rw-rw-   1 root     sys       14,   2 May  5  1998 midi00
    crw-rw-rw-   1 root     sys       14,  18 May  5  1998 midi01
    crw-rw-rw-   1 root     sys       14,  34 May  5  1998 midi02
    crw-rw-rw-   1 root     sys       14,  50 May  5  1998 midi03
    crw-rw-rw-   1 root     sys       14,   0 May  5  1998 mixer
    crw-rw-rw-   1 root     sys       14,  16 May  5  1998 mixer1
    crw-rw-rw-   1 root     sys       14,   1 May  5  1998 sequencer
    crw-rw-rw-   1 root     sys       14,   6 May  5  1998 sndstat

Getting the CD-ROM drive to work

Make the following change to drivers/block/ide.c and recompile the kernel:

#define ENABLE_MY_FIXES 1

...

int ide_wait_stat (ide_drive_t *drive, byte good, byte bad,
    unsigned long timeout) 
{
...

#if ENABLE_MY_FIXES
        /* allow status to settle, then read it again */
        if (drive->media == ide_cdrom)
          udelay(7);
        else
          udelay(1);
#else
        udelay(1);      /* allow status to settle, then read it again */
#endif
        if (OK_STAT((stat = GET_STAT()), good, bad))
                return 0;
        ide_error(drive, "status error", stat);
        return 1;
}

N.B. Although this fix allows the CD-ROM drive to be mounted OK, there is still a sequence of "tray open or drive not ready" messages on startup and shutdown. This doesn't seem to cause any permanent problems, however it probably means that there's another delay in there somewhere that's not long enough.

N.B.2. This is an overkill fix in that it isn't specific to this particular CD-ROM drive. Any pointers as to the correct way of allowing this to be incorporated into the standard ide.c without affecting anyone else's CD-ROM drives would be appreciated.

Getting the modem to work

I've just been told that the Linux driver available at http://www.linmodems.org/linux568.zip works fine for the 312T, though I've not had a chance to try it myself yet... Thanks to Davide for this information.

Other help

If this page hasn't answered your questions about the Acer Travelmate 312T and Linux, feel free to mail me (though I haven't worked on this in years), or alternatively try one of the following links:

Email: matthew@faupel.org