Debian/GNU Linux on the Toshiba Tecra S1
Installing Debian/GNU Linux on a Toshiba Tecra S1 Notebook
by Michael Holzt, <firstname.lastname@example.org>
November 29, 2003 Initial Revision
This text describes my experiences with installing Debian/GNU Linux on a
Toshiba Tecra S1. To make a short summary first: Linux is running mainly
fine and i'm very satisfied with this notebook.
The configuration i am using is:
- Processor: Intel Pentium M 1.3 GHz
- Chipset: Intel Centrino
- Graphic: ATI Radeon Mobility M9 (9000)
- Optical Drive: DVD/CD-RW Drive
- Screen: 15" TFT 1024x768
- Network: Intel PRO/100 VE 100 MBit
Intel Pro Wireless 2100 802.11b 11 MBit
I used a sarge (unstable) boot cd because i needed the e100-Driver for
the builtin network adapter. I remember seeing stable bootdisks with an
added e100.o, but couldn't find them when i installed. As i'm running
Debian unstable i could use the sarge cd (which is now much more mature)
anyway. I've done a pretty standard install which i wouldn't detail here.
* ACPI Problems
One of the biggest problems is - as usual - ACPI. The BIOS of a machine
with ACPI-Support holds several data tables which are used by the ACPI
Implementation in the Operating System. This tables are broken more or
less on way too many machines and the Tecra S1 is now exception here.
This fact is even more sad when you see that Toshiba is a core member
of the ACPI consortium.
Problem here is, that Microsoft Windows seems to be very (too) tolerant
against errors in the tables. The Microsoft Compiler for the ACPI tables
does only very relaxed checking and misses a lot of problems, and it
seems this compiler is used by many vendors. The ACPI in the linux kernel
on the other hand is originated by intel, and much more strict. Similar
the Intel Compiler is stricter as well.
ACPI problems with this notebook are mainly that you will get no battery
readout with a stock kernel. Although i can say for sure that one of the
ACPI tables in the BIOS of the Tecra S1 (the DSDT) is broken, it is for
now unclear if this is sole due to a DSDT error. There are some reasons to
believe that it might as well be a implementation error in the kernel
* ACPI Fix 1
However, with the help of some ACPI hackers i got a working hack (to cite
the author: "It sucks like hell, though, but it should work" which enabled
the battery readout. Add the following patch:
It is against the 2.4.23-rc4, and may or may not work against other kernel
revisions. It should at least patch against any 2.4.23-rc*. After adding the
patch, recompile and add the following to your lilo.conf (or add the string
to an already existing append line):
As far as i understood the fix, this will fake an ECDT (embedded
controller description table) entry. It seems that this entry is
optional, so it might not be a bug from toshiba but in the kernel
acpi code. But i must admit that i did not really understand acpi.
* ACPI Fix 2
I also got a fix for the broken DSDT. It seems that it is not really needed,
but one might add it as well. You can find a fixed dsdt (with source and
binary of original and fixed) here:
You can add this dsdt statically or in an initrd to your kernel. See
the following helpful sites for instructions:
As already said, this fix seems to be optional. I'm currently running
for a test without the dsdt fix and it looks ok. Try it if you like.
* Wired LAN (PRO/100)
Works without flaws with the e100-Driver (original intel) in the linux
kernel. I've installed the ifplugd-Package which will configure the
network automatically upon insert or release of a lan cable. Make sure
to add both network interfaces to /etc/default/ifplugd as in this
Remove any 'auto eth0' or 'auto eth1' from your /etc/network/interfaces,
as this part will now be done by ifplugd. Just keep:
iface eth0 inet dhcp
iface eth1 inet dhcp
* Wireless LAN (Intel Pro Wireless [Centrino])
No open source driver is available. Intel is stating to have one in
development but i didn't want to wait. Linuxant (www.linuxant.com) is
providing a solution for this problem. They wrote a wrapper arround the
Windows NDIS driver for the card.
Sounds strange but works good and i think the price (US$ 19.95) is
still acceptable. Your mileage may very but i have no problems with
companies choosing a "classic" business model of pay-for-software for
linux. However if you don't want to purchase a driver, check with
the ndiswrapper-Project on http://ndiswrapper.sourceforge.net/. They
are building a open source ndis wrapper. Currently the Intel Centrino
Card is not supported, but this will probably change. This driver is
for 2.6.x kernels only though.
As said i ended with the linuxant driver and it works surprisingly
well. I integrated the wireless adapter with the waproamd package which
automatically detects available WLANs and can configure cryptography
keys for known access points. Make sure that your
/etc/waproamd/waproamd.conf contains the "-M" argument as in:
I'm still having some problems with this approach but it mainly works.
This notebooks features a combined Touchpad and Trackingpoint, the usual
ALPS hardware. X-Windows is said to contain a specialized driver for this
hardware making use of its specific custom protocol. However i work a lot
on the console and therefore used GPM which can only can use the standard
I had some problems with the pad/point stopping to work after stopping
and restarting kernel. The problems gone away when adding a fix which
changed the behaviour upon multiple open/close operations on the psaux
device. I'm uncertain why this is related to my problems, but a fix is a
fix. You can find the patch here:
I still have some problems with the touchpad from time to time. Sometimes
it simply doesn't work after booting. In this case you might need to stop
and restart GPM a few times. Sad, but no fix currently known.
I'm using the kernel contained i810 driver and everything works.
* Graphics, Framebuffer and X-Windows
For the console i'm using the radeon framebuffer driver from kernel and
for X-Windows the ati/radeon driver. No problems here, although
framebuffer is broken when booting linux after having running windows
(without turning off the notebook first). As i get some other strange
problems when i boot into linux after having used windows, i now always
shutdown the notebook completely after using windows before booting
* Intel Enhanced Speedstep
To save on battery i used the patch for adding Intel Enhanced Speedstep,
which can be found here:
I installed the cpufreqd package which allows you to configure it in
number of simple or complex ways. I have configured it to use the low
speed always, even when on AC power. This is a personal preference as
this will mostly keep the notebook silence as the fan will virtually
never be turned on. I configured cpufreqd however to automatically
switch to high speed when it detects running oggenc processes to speed
up OGG encoding. You can add a lot of rules for similar approaches.
With mostly running on low speed i get some very very good 4 to 5 hours
of battery live out of the notebook, even a little more when using
throttling (e.g. echo -n "5" > /proc/acpi/processor/CPU0/throttling).
Test reports told that this notebook should be able to achieve 7 hours
which i have not reached for now. Should be possible by reducing lcd
background illumination and turning off wireless and wired lan adapters.
Haven't tried it, as i don't need such outdated technology. However
the following driver is said to be working with some tweaks:
See http://www.vgcomputing.com.au/lrtecras1.html for the magic needed.
Default keyboard layout sucks as it is against all standards (e.g. with
the AltGr not beeing directly next to the right side of the space key).
I remapped some keys physically and in hardware (by changing the keypads).
I now have: "<>|" directly left to the space key, "AltGr" directly right
to the space key and "^°" on the far right after the Del-Key. This is a
much more standard keyboard layout.
I changed the keymap file for the console to reflect this changed but
haven't yet changed the keymap under x-windows and microsoft windows.
Should be possible though.
* Other Hardware
PCMCIA&USB work out of the box. I haven't yet tried video output. The
fn-Keys do not work as they don't emmit scancodes. I specialised driver
might be needed but is not available.
In general the Toshiba Tecra S1 is a well designed and good working
notebook with an outstanding runtime on battery. With some tweaking
linux runs fine.