Debian GNU/Linux on a Toshiba Portégé 3110CT


These are some notes on installing a particular Linux distribution on the 3110CT which I hope will prove useful. This document is in no way comprehensive or exhaustive, and I have not attempted to give a Linux tutorial - there are much better places to find that on the web. If you have any questions, however, please feel free to contact me and I will help you out as best I can.

Ben Edgington


Index

Machine Spec.

This is your basic Toshiba Portégé 3110CT, UK model, of March 2000 vintage. The installation described below was done with 64MB of RAM, but I have since upgraded to the maximum 192MB which considerably reduces swapping when running several applications simultaneously under X.

Note (19/09/2003): A couple of people have asked me about this. To clarify: I added a 128MB RAM module (marked "Kingston KTT3110/128") in the slot under the machine. This is added to the existing internal 64MB and the machine boots up with 192MB.

I am currently running Debian Testing/Unstable with a custom 2.4.23 kernel and XFree86-4. However, the initial install described below was undertaken with Debian Stable (aka Potato) and its kernel, 2.2.19.

The machine came pre-installed with Windows 98, which I have left on it, occupying the first 2GB of the 6GB disk. Having the machine dual-boot comes in handy during the installation.

I think the machine came with the disk already partitioned into three, and windows installed on the first partition. This makes it relatively easy to set up the Linux partitions at install time.

BIOS settings

I left the BIOS with the default settings. There are some notes around on the web about setting controller mode to "PCIC compatible", but I found that this only disabled the network port on the dongle.

You might want to check the processor speed. It was only after using the laptop for a few months that I discovered that the default setting was to run at half-speed (presumably to improve the battery life). Since I mostly run on power I set this to the maximum speed.

I don't know the approved method of getting into the BIOS, but this is my kludge: repeatedly press the 'Esc' key immediately after power-on, and press 'F1' when the error message appears. Strange, but true.

Installation

For the initial installation I used the first Potato CDROM, version 2.3r3, obtained at the very reasonable price of Nothing At All from the excellent The Linux Emporium.

Unfortunately it does not seem to be possible to boot from the 3110CT's external CDROM drive, so I took advantage of the pre-installed Windows and copied the contents of the debian/dists/potato/main/disks-i386/current/ on the CD to a new C:\debian\current directory under Windows.

Note (19/09/2003): a reader informs me that it is possible to boot some Toshiba laptops from different media by pressing keys at power-on: 'c' for CD; 'n' for network; 'u' for USB; 'h' for hard-disk. I've had mixed success with this, but it may be a useful technique.

Note (01/02/2004): Another reader reports "to boot from cd on the Toshiba Portege 3110ct press and hold 'C' or F12 when starting up."

Now the installer can be run from DOS. The only safe way to get into DOS is to restart the machine and then press F8 as it reboots. Choose "DOS command line Safe Mode" from the menu that appears. Trying to use a DOS shell under Windows causes all sorts of trouble.

Once in DOS, cd to the debian\current directory you made earlier and run the install.bat script.

Configuration

PCMCIA

During the install I configured PCMCIA, one of the alternate options. I didn't give it any further options at the prompts, which seems to work, although I don't have any PCMCIA devices to test it against.

Network

When you get a chance to choose a network driver use the "eepro100" module for the network adaptor on the dongle.

Display

For Debian Potato (2.2) with XFree86 version 3 I used the /etc/XF86Config file (800x600 version) from the Toshiba website (I can't find it again now, so I've put it here). This uses the SVGA server.

For XFree86 version 4 the automated routines seem to make a pretty good job of setting up X. Here's the XF86Config-4 file I've been using.

Mouse

I set up the mouse so that it worked with gpm so that I could use the mouse at the console. For my mouse I did not have to modify the supplied XF86Config, but in /etc/gpm.conf I changed the repeat_type line to

     repeat_type=raw

This sends the raw mouse events to dev/gpmdata which /dev/mouse links to. It works with the keyboard nipple or an external PS/2 mouse.

Sound

For sound I loaded the misc/maestro.o module.

To test sound I downloaded the "sox" package which enables the "play" command for wav files. Eg. play /C/windows/media/chord.wav (I have the Windows partition mounted on /C)

The volume can be adjusted with aumix (also downloaded): aumix -v 100 -s 100 -w 100 -p 50 -m 50

To get the mpg123 player working (another download) I had to change the permissions on /dev/dsp to 666. Better would be to change the group of mpg123 to "audio", but I don't care that much. Also, to use the xmms frontend I set /dev/mixer to 666.

To load the driver at startup I added "maestro" to /etc/modules

Toshutils

The toshiba.o module might be useful (CONFIG_TOSHIBA kernel parameter). At least I can turn the fan on and off with it. The Debian "toshutils" package provides this functionality. Add "toshiba" to /etc/modules to load it at boot time.

Power management

Installing the apmd package finally resolved the problem of the machine not powering off after being instructed to halt. I have not yet (successfully) investigated the various advanced features of APM, such as suspending and resuming. (I have CONFIG_PM and CONFIG_APM set in the kernel configuration, but not CONFIG_ACPI.)

The following line in your /etc/inittab will encourage the laptop to shutdown rather than reboot when you give it the three-finger salute,

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -h now

USB

I have written-up elsewhere some notes about how I interfaced the laptop with my USB digital camera.

Modem

The built-in modem on the 3110ct is a so-called winmodem. This means that it is driven by software running on the laptop's own processor rather than by dedicated hardware. Implementing this (proprietary) software has traditionally been a problem for Linux distributors.

Notwithstanding this, there is a driver available. I have successfully used the LTModem driver. See that page for binaries, sources and HowTos. You'll also need the ppp package to establish connections, and to set up the /etc/ppp directory.

I have also succeeded in using the gnokiid package to connect to the web via my Nokia mobile phone using the Toshiba's serial port. This is available as a Debian package.


Dual booting with LOADLIN

  1. Edit c:\config.sys and add these lines at the beginning,
    [menu]
    menuitem=Linux
    menuitem=Win98
    menucolor=15,1
    menudefault=linux, 60
    
    [linux]
    
    [win98]                                
    
  2. Edit c:\autoexec.bat and add these lines at the beginning,
    goto %config%
    
    :linux                                          
    call c:\debian\current\linux.bat
    
    :win98
    
  3. Create c:\debian\current\linux.bat as follows, substituting your own root partition for hda7,
    c:\debian\current\dosutils\loadlin c:\debian\current\linux root=/dev/hda7 ro
    
  4. (optional) Install a bitmap of Tux as c:\LOGO.SYS. (Convert the picture from /usr/src/linux/Documentation/logo.gif into a 320x400 8 bit colour bitmap. Or use this one. He gets stretched out on the boot screen, so he really looks quite plumptious.)