Linux on Toshiba Satellite 5100-501 / Satellite 5105-S607
rob miller -- rob at janerob dot com
Get the cPad driver - LCD and middle button work!
- Fix your own video problems! Pete has contacted me and
described how he used a generic heat gun to re-flow the solder under
the components on the circuit boards of his failing laptop. Not for
the faint-of-heart, all risk is yours, ymmv, etc. etc. but here's his
story. Drop me a line if you try this and it
works for you too.
- I am pleased to report some good news for me, I was able to get my
motherboard repaired by Robert at www.fixmytoshibalaptop.com.
I definitely recommend him in a big way. Clearly I've changed my mind
about the laptop being worth investing more money in, especially when
I saw how much new UXGA laptops cost. I guess now I have to get these
pages up to date!
- Hardware problems with your satellite 510x, especially video
card? Join in the push for a class action lawsuit : check out the
message board here and/or
go directly to the lawyer's site here.
- December 2005: I was having some problems with my power supply,
having to bang it on hard surfaces to get it working. Ordered a
replacement off eBay, but shortly before I got it I did the
'banging' trick with the old one and left it charging the battery.
Noticed the power light slowly cycling on and off, thought it would be
best to just unplug it. That was in August, just before we left
London for Lusaka, and I haven't seen the laptop power on since. If
you find yourself with video card problems like mine (below), my
advice is to not put any money into the laptop as it has probably
reached the end of its useful life.
- June 2005: I've been having some problems with my video card. Here's a new
page on Disassembling the Toshiba
Satellite 5100-501, but I didn't have much luck fixing it. It would seem to
be poor hardware design, resulting in overheating of the video chips;
link for grumpy windows users in the same boat. I did get a
replacement video card for �293 including VAT from Gultronics in London (Tottenham
Court Rd), but don't know what the person who walked out of the shop
with it said to them to avoid bringing the laptop in.
- Another submission from Ryan Hope,
Ryan sent those to me in late February, sorry I've been so slow in the
- a patch to put cpad
directly into the kernel (not a module)
- a combo patch containing
the Toshiba ACPI patch plus bluetooth mods, the smbus fix and the
- a patch for the internal
Orinoco wireless card. This updates the in kernel version so scanning
- Peter Zberg wrote to say he got 1600x1200 working (as opposed to
1588x1200) with the Nvidia accelerated drivers using info from a
at linuxquestions.org regarding similar problems on a 5105-s701. The
key posting is mirrored here. I went
ahead and put the same sync freqs and modeline in my xorg.conf
file, looks more appropriate and works fine; hmmm, perhaps I'll go
back and try Nvidia drivers again, I've heard they support suspending
- Update on the Firewire / IEEE1394
patch submitted by Oliver K. (The patch linked is for a
2.6.11-rc3 kernel, but the code in this section doesn't seem to have
changed much in a while). I had hoped to get this into the kernel,
but the cognescenti tell me that it should more correctly be in as a
'pci quirk'. I haven't had time or learning how to do that yet, so
here is where it stands for now. As always, any submissions will be
- got the in-kernel swsusp working with 2.6.11-rc2, using the
hibernate script file from
berlios and the
"UseACPISleep 4b" method (echo 4b > /proc/acpi/sleep). My
hibernate.conf is somewhat gentoo specific, but
here it is.
- Ryan Hope contributes
- Oliver Koenig comes through again, here's
his report on getting firewire (ieee1394) working on the 5100. I put
the patch into my 2.6.10 kernel, but haven't tried it as I need to
get a 6-pin to 4-pin firewire adapter before I can play with my new
external drive (the old 40G internal) at full speed. Thanks Oliver!
- a little update since someone asked in e-mail, despite any words to
the contrary below in this needs-to-be-rewritten page, I curently (Jan
2005) run Gentoo Linux with a 2.6 kernel and Xorg. I recently upgraded to an
80G drive, at that point I dumped my Windows partition entirely -- just
never got used so why waste the space?
- Got my screen replaced under the 3-year warranty due to the
'washed out pixels'. No hassles, looks great, shiny spot is gone too.
- Here's a report on getting
concurrent LCD and TV-out working from Oliver Koenig
- The Winmodem works (!!!) with the SmartLink drivers from www.smlink.com.
- Tom Lukasiak got the 1600x1200x16 framebuffer working! Tiny-font
fiends (like me!) rejoice! The magic
incantation is vga=0x346 in your lilo.conf (grub users adjust
- Jan Steinhoff has re-written the cPad driver for kernel 2.6!
Proper framebuffer device support, works with the XFree86 Synaptics
Touchpad driver, and images sent in a single URB. Works great but I
still haven't switched to 2.6 full time because swsusp hasn't been
there yet. Check it out at Jan's
Disclaimer: Not me, guv...
Overview: What works, what doesn't, what I haven't tried
Hardware Specs: Details of the 5100-501
Software Specs: Debian 3 (Woody), 2.4.21rc1+ACPI+SWSUSP (as of 28 Apr 03), XFree86 4.1.0 (4.3 server)
Updated Display: 1600x1200 Nvidia X server, 1280x1024 framebuffer console, TV out, CRT out
Keyboard & Mouse: key repeat, middle mouse button, cPad LCD
Sound: Alsa, intel ICH3
Toshiba modules / ACPI: Motivation, kernel patch, Toshiba extras, SWSUSP
DVD/CD/CDRW: Making each work
Disk Drives: USB floppy, hard disk to full speed
Connecting Up: Ethernet, PCMCIA, IrDA (SIR), [Belkin USB-serial]
Kernel: Review in case I missed anything
Linux Installation: Getting loaded the first time
Windows XP partition: Just leave it.
Likes: Yes, I'd buy one again
Still Working On: SD card slot?
Files: Configuration examples
Links: Other info, other sites
Utilities: Some code I've hacked up
1 ^H^H 2 year review: How it's holding up...
Disassembling the Toshiba Satellite 5100-501 You don't
have to, you can just look at the pictures.
This is my best effort at documenting what I've done to get Linux running on my Toshiba Satellite 5100-501.
What you do with the information, which may include errors, is fully your own responsibility.
I assume you have basic Linux skills including the ability to configure, build and install your own kernel.
Furthermore, my effort here is to supply information, not a turnkey solution for your system -- you may actually
have to look at the configuration and other files I have supplied. The files here have
generally not been cleaned up.
Use at your own risk. All trademarks are the property of their respective owners. Finally, many of
the links are a bit old now, you should definitely look for the latest versions of the X server, ACPI patch,
etc. -- check the source websites in the links.
Things I've got working: faster hard disk, ACPI + some Toshiba extras, ethernet,
1280x1024 framebuffer, 1600x1200 X windows, TV out, RGB out, DVD/CDRW, sound,
SIR IrDA (minor issues), PCMCIA CF, 'Toshiba' and 'Internet' buttons, middle mouse button, cPad LCD,
serial (with a Belkin USB-serial), SWSUSP (suspend to swap partition).
Things that don't yet work: trickery with the small lcd.
Things I haven't tried yet: bluetooth, FIR IrDA, S/P DIF, SD or SmartMedia cards,
This document from Toshiba describes the overall specification of the 5105-S607, which I believe
to be the US version of the 5100-501 (without Bluetooth or the 'Treasure Island' price).
Here's my dmesg output and lspci -vv output for your perusal.
Note that the IDE controller is not actually the Intel PIIX4 as selected in the kernel config, but it is recognised
as ICH3M (82801CAM) during boot.
The main points of interest for me are:
- Pentium 4, 1.7Ghz, 512mb SDRAM
- 1600x1200 (UXGA) display, Nvidia NV17 GeForce4 440 Go controller with 32mb DDR RAM
- 40 Gb hard disk, ATA100 5400 rpm Toshiba MK4019GAX (not the GAP model as reported in a UK review)
- DVD/CD/CDRW combo drive, Toshiba SD-R2102
- cPad trackpad with 3 mouse buttons
Geeks like me may also care about:
See the dmesg and lspci -vv output for more info.
- Intel 82845 AGP bridge
- Intel 82801 CA/CAM (ICH3-M) interface controller used for:
- UHCI USB hub
- SMSC LPC47N227 SuperIO chip on LPC interface (apparently only IrDA is used)
- IDE U100 disk interface
- AC'97 Audio controller (i810 chipset)
- AC'97 Modem (Toshiba)
- EtherExpress PRO/100 VE ethernet
- ToPIC95 Toshiba Cardbus bridge (PCMCIA for us oldies)
- TI TSB43AB22 Firewire (IEEE 1394) controller
Information on this web page is based on the following configuration:
I recommend nothing less.
- Debian Linux 'Woody' release (Debian 3)
- kernel 2.4.21rc1 ACPI and SWSUSP patches
- XFree86 version: 188.8.131.52 (4.3.0 Xserver)
(update 15 April 03)
I currently use^H^H^H^H^H^H^H^H^H^H^H^H^H was using the UXGA (1600x1200) server option for this system from
Nvidia. The drawbacks are that this 'taints'
the kernel with a non-GPL module, that -currently- there is no power management support
(so suspend/resume breaks right here), and that it won't work with the 2.5 kernels by default. On the positive side,
TwinView (for TV and RGB output with X windows) and the framebuffer interaction works, plus it's fast and pretty.
There are patches available to make this work on 2.5, I used them successfully during my SWSUSP odyssey. Check out the
minion and/or devolus sites.
Here's my NVidia XF86Config-4 file. In addition to the more technical features, I've
set the 'NoLogo' option to skip the Nvidia splash screen and set 'DigitalVibrance' to 2 (range is 0-4).
Check out the Nvidia README to learn more options.
On some variations of this laptop users have reported to me some problems under X. Alan Danziger (Toshiba 5105-S901) needed
Options "IgnoreEdid" "true"
in the XF86Config-4 file, while Steve Dean (Toshiba 6100) reported a
black line on the right side of the display, and worked out that he
needed to modify os-registry.c in the
Nvidia kernel driver to have
Vreg_SoftEDIDs = 0 (disable checking - default was 1)
NVreg_Mobile = 2 (non-Compal Toshiba - default was ~0)
in order to get the full 1600x1200.
Your mileage may vary.
TV out: The config file above is set up to display on both the TV and LCD panel at 800x600 when/if
you (re)start the X server with the TV output connected. TV sound works as well. J. Belmonte's work (toshiba_acpi module)
supports TV out as a video option through the /proc/acpi/toshiba interface. Note, the toshiba_acpi code will let you
put a console on the TV screen (hmmm, haven't tried with SVGAlib yet) without a reboot, but putting X on the TV always
seems to require re-starting the X server.
Update: Oliver Koenig wrote me with an XF86Config-4 file that
activates both the LCD and TV-out whether the TV is connected or not.
Don't know if the Nvidia chip is happy about this but it's probably ok
since X lets you do it... The magic lines are
Option "MetaModes" "1024x768, 1600x1200; NULL,1600x1200"
Option "ConnectedMonitor" "TV, DFP"
and here's his report.
RGB out: RGB output is a little trickier (or really simple -- just reboot with the monitor plugged in).
To have software control, you need to install John Belmonte's
Toshiba Extras ACPI module kernel patch. Switching
puts the console on the external monitor as well
as the X server, however the default setup above has TwinView using 800x600 when enabled. To get the full
resolution, you need to select the second ServerLayout by starting with "startx -- -layout CRT". You can switch
the XF86Config-4 file ServerLayout sections around so that the RGB TwinView is the default rather than the TV support
and thus use xdm, but that's left as an exercise to the reader (see the comments in the file). As noted on J.
Belmonte's pages, you should go to the console, switch LCD/CRT, and then go back to X. Sometimes doing this I get
to a state where the LCD panel can't sync on the console framebuffer, but no big deal as the external monitor is there
Framebuffer: Compile the VESA framebuffer into the kernel (I
also like the 8x8 compiled-in font myself), and put vga=0x31a
(1280x1024 at 16 bits color) or vga=0x346 for 1600x1200x16 (thanks Tom
Lukasiak and a
SUSE web page).
into your lilo.conf. See the
framebuffer howto. You may need to convert that to a decimal value for older lilo's.
I think you also need the XF86Config-4 file's Frame Buffer section in order to
switch between X and the console. No, TV out (at least to my TV :-) won't handle the 1280x1024 framebuffer, I just go
back to vga=extended.
Extra thanks to macemoneta on the Compuserve Toshiba list for supplying his XF86Config-4 file, which was the basis
for most of this.
If you do need to switch around between console and X while using the CRT or TV out, my findings are that you need
to re-start X with the alternate video already plugged in. Presumably this is because the Nvidia driver will be accessing the
graphics chip directly, independent of the Toshiba BIOS (HCI) commands used by the /proc/acpi interface.
The update bit is mostly covered under SWSUSP in the acpi
section. Mainly I am happily running the XFree86 4.3 X server, though
most of my X software is still 4.1, and it wasn't too painful a
download. No, the TV and CRT out are not working at all yet for this
Keyboard & Mouse
There's an annoying key repeat problem under X windows, my solution is to use 'xkbset' as well as a
special keymap (Xmodmap) to enable the 'windows' and 'menu' keys for use as extra mousebuttons.
Ben Lynn's site explains that the spurious keypresses
have the characteristic that the keyrelease is immediate, thus we can use an XKB preference called 'SlowKeys' to
allow only keypresses that last a minimum length of time. Another XKB preference disables the bell that this setting
enables. Next, one requires software to work with the XKB API and manage these features; I use
by Stephen Montgomery-Smith (also in Debian unstable).
Under Debian, I place this script in /etc/X11/Xsession.d to implement the key fix for
all users (and - I think - the xdm login) as well as load my Xmodmap file. There are several
other fixes for this problem around the net.
The mouse is USB, thus the 'USB Human Interface Device (full HID) support' is recommended, and see the
XF86Config-4 file for the protocol. I haven't made any effort to set up gpm thus far.
If you load my cPad driver module, you can get the middle mouse button working (and won't need
the hid module above). See
John Belmonte's toshiba_acpi work to use/access the 'Toshiba'
and 'internet' buttons next to the power button.
Sound options are either the i810 code that comes with the kernel distribution, or the Advanced Linux
Sound Architecture (ALSA) software distribution. Here's some random
hints which may be useful either way:
- The Xine DVD player works with
both ALSA and the kernel's OSS i810 driver (thanks Sean Neakums)
- I've read that you need the ACPI patch to get sound working on
this system -- I can't confirm that, but I do use the patch.
- On at least two occasions I achieved a state in which sound was not working and then began to work after booting
into WindowsXP. One of these was after the battery had run down completely. Possibly WXP initialises something that
the Linux side does not, however I've not seen this happen for some time.
- If you build ALSA from source, the mixer levels are set to '0' and muted by default. Run alsamixer, use the arrow keys
to adjust the levels (resolution is a function of the window you run in), use the 'm' key control muting. Here's my
/etc/asound.state file to try if you can't work out what needs to be enabled to get some noise out. Don't forget there's also an
external volume control ;-)
- If you go with the Debian binaries, I found the default sound levels to be set too high (in the red), causing distortion.
- If you want both the kernel and the ALSA options, modularise the
kernel drivers. You must build both 'Sound Card Support'
and 'Intel ICH (i8xx) audio support' as modules. If you don't build
'Sound card support' as a module, you'll see the error
"alsamixer: function snd_ctl_open failed for default: No such file or
directory" when you try to set sound levels with alsamixer.
- If you build ALSA from source, start with
"./configure --with-sequencer=yes --with-oss=yes --with-cards=intel8x0" as suggested
by Nicolas Beaulieu.
Toshiba modules / ACPI
As noted above, I'm using the ACPI patch. The benefits are
at least some of the following:
Also as noted above, I'm using John Belmonte's Toshiba Extras kernel
patch/module, which is based on the work of Jonathan Buzzard.
This is now included in the ACPI patch. The benefits here are:
- ALSA (sound) works
- pressing the 'power' button for less than 4 seconds halts the system nicely
- /proc/acpi contains a subdirectory with CPU temperature in celsius rather than kelvin (which can be displayed on the cPad.
- fan control
- LCD brightness control
- enable console on external RGB monitor
- enable console TV out
- enable sysevent fifo to see 'toshiba' and 'internet' buttons
There's also the Jonathan Buzzard toshiba.o module (toshutils) already in the
kernel source tree, this will only work if you exclude all the ACPI code from the kernel. In this case, load the module
with the option "tosh_fn=0x62" to get the hotkeys (function keys) working. Alternatively, and still subject to the ACPI problem
as far as I know, try Charles Schwieters' toshset utility (works without
toshiba.o). I have heard that the problem with ACPI is not present in the 2.5 kernels.
I am successfully using the SWSUSP patch (also see here),
a fully Linux solution for suspending to a swap partition. This required switching to the XFree86 Xserver version 4.3, and
I'm now on kernel 2.4.21-rc1 with the ACPI patch. I was having a problem
with the (non-kernel) PCMCIA code -- couldn't see the bridge after resuming -- but I have found that the kernel-PCMCIA code
does all I need now; compile the code in (not modularised), I'm only using CardBus. There is a bug in the
smc-ircc IrDA code, see my IrDA page for the fix while I wait for it to get into the kernel.
There is a problem with the 2.4.20 ACPI-patched kernel, fixed in the
20030321 and later ACPI patches. The problem appears as
a general slowdown for the whole system, and if you run 'top' you'll
see 'system' getting 99-100% of the CPU with 'keventd' accumulating
loads of time. There is a "fix" (the correct term is actually "hack"
:-) that I heard of second-hand from Marco Trevisani:
Edit drivers/acpi/events/evrgnini.c, go to end of function
'acpi_ev_pci_config_region_setup()' and comment out the line that
acpi_os_derive_pci_id (node, region_obj->region.node, &pci_id);
(in the 2.4.21-pre3 is at line 274).
This doesn't seem like the best solution to me, but it seems to work
without any other side-effects that I've noticed. A better solution
as of today is to use kernel 2.4.21-pre5 or later; there is an ACPI
patch (without the bug) and the SWSUSP patch from <
for the previous ACPI-patched kernel -almost- works (check and fix the
errors by hand when you apply the patch!).
I tried a lot of different things before I finally got this all working. Here's the main 'gotchas':
The NVidia X server (as of version 1.0-4349) won't play with SWSUSP; the module 'nvidia.o' can't be removed even after the
server has been suspended. I switched to the server from XFree86, version 4.3. Debian 'stable' is currently on X 4.1, but
I found that I only needed to get the server and a few supporting files from an unofficial deb site
to get up and running (around 5mb through my dial-up, but I went ahead
and got about 10mb more to update the libraries and extensions). The
only initial change to my XF86Config-4 file was to set the 'Driver'
entry to "nv"; later I set the HWCursor to off as the mouse pointer was messed up and maybe changed a few other things.
Use the 'suspend.sh' script from the SWSUSP sites, after you've run it --install it creates a 'hibernate' script which wraps
around the kernel part of SWSUSP and sorts out modules, X, and system services before the actual suspend and after the resume.
'Hibernate' uses an /etc/suspend.conf file, you'll want to look in there for the words 'nvidia' and 'acpi' (if you use the
ACPI-patch version) and do what it says. Suspend.sh works out your distribution and creates 'hibernate' appropriately; for
version 0.13 on Debian I still needed to make a few tweeks to suspend.conf.
- Compile in the main USB code (not modularised) except for the
actual device drivers like bootp and HID (if you want to use my cPad
driver). Update: I'm back to modularising all the USB
code now, in agreement with the SWSUSP docs.
I think that's it, the main thing should be knowing that it really does work on the this laptop once you can get a
non-NVidia X solution. Here's today's 2.4.20 kernel .config file in case I missed anything.
(28 Apr 03) I am using the 20030328 ACPI patch with the swsusp-rc1-1924
and swsusp-1925-incremental patches. You need to read the mailing list
(linked off the SWSUSP FAQ page) to work out which patch goes with
which kernel, but seems reliable
for me at the moment. I did have some problems when the kernel compile
wasn't just right, e.g. having it look for ide-cd as a
module when it was compiled-in, and the 0424 ACPI patch seems to play
ok with the SWSUSP patches but the resulting kernel doesn't
I bought a Gig of RAM and had problems
with SWSUSP (kernel 2.4.25), had to patch the kernel to make it all appear in LOWMEM
-- see my post
to the swsusp mailing list at SourceForge for the details of my
solution. This is all sorted with current SWSUSP and the 2.4.26
kernel -- no need to patch.
- floppy disk: this is another USB device, enable "USB Mass Storage support" and "SCSI disk support" in the kernel, then the
device on my system is /dev/sda0 (see my /etc/fstab sampling).
- hard disk: (update 14 Aug 02) enable 'use PCI DMA by default when available' in the kernel, this seems to do away with
the need for either the hdparm script or the lilo options (ide0=dma).
I use and recommend the ext3 filesystem.
Except for the ethernet, this section is all about connecting up to my TRGpro (essentially a Palm IIIxe with Compact Flash).
- ethernet: I've used both the Intel e100 driver and the EtherExpressPro/100 as modules and compiled
in to my kernel. I've switched back to Becker's EtherExpressPro driver as a module, as the e100 'beat detection' seemed to
stop working for me (needed for programs like Debian's laptop-net
to respond to plugging in the cable.
- PCMCIA: The kernel-based PCMCIA now (2.4.20) works for my CF card, so I'm using it with just the support programs from the PCMCIA site.
- IrDA SIR: "X Windows, PCMCIA CF, IrDA SIR -- choose any two (well, almost)." Try my IrDA instructions
to initialise the 82801CAM and SMSC 47N227 chips as a serial COM port
and use with pilot-link for Palm IR file transfers. The 47N227 works
with the 'SMC IrCC' kernel driver. Unfortunately, with the 2.4 kernel
this only seems to work on irq 3 -- and this is needed for the PCMCIA
IDE (ide-cs) support to see the Compact Flash card as a disk (a cheap
adapter allows you to plug CF into PCMCIA slots). I thought that the
2.5 kernel ICH3M code would sort this out, but no; if anyone can tell
me why only irq 3 works for these devices, please drop me a line!
A good work-around is to add 'pre-install ide-cs /etc/init.d/irda stop'
and 'post-remove ide-cs /etc/init.d/irda start' in /etc/modules.conf.
Also, this doesn't play perfectly well with SWSUSP because (I -finally-
figured out) irattach sometimes won't go away on a SIGTERM after a few
hibernation cycles; check my /etc/init.d/irda script for a solution that is working for me. (even works with Gnome Pilot, check out Adam Powell's site for debs to make the GnomeCal conduit work!)
- serial: so I got a used Belkin USB-serial converter (for �12!) and was using the cradle for "quick" pilot-link
Palm file installs.
I only mention it here because I had to work out that the thing to do is add a script containing "stty -F /dev/ttyUSB0 57600"
to be called as a "post-install" for the belkin_sa module (in other words, have it set the default serial port speed when the
module is hotplug-loaded on plugging in to the USB; also note it's ttyUSB0, and doesn't pick up the $PILOTRATE environment
Here's my kernel .config file. Of particular note:
- Processor type and features: I build the Toshiba code as a
module, I may keep playing with it; MTRR works, and I enable Local and
IO APIC support even though it doesn't recognise the 82801 (I hacked
the kernel to make it work once, but there
didn't seem to be any benefit -- /proc/interrupts still says XT-PIC for
- General setup: Enable PCI support, PCI name database (upgrade to the latest at http://pciids.sourceforge.net). Enable support for hot-pluggable devices (USB also uses) and PCMCIA (for me -- see connecting) but not PCI Hotplug code. Power Management support yes.
- ACPI: I build in everything except 'CPU Enumeration (no) only' and 'Toshiba Laptop Extras' (build as module). Remember
that I only have these options because I've patched with both the ACPI and John Belmonte Toshiba code (see the ACPI comments).
- MTD, par port, PnP: no.
- Block devices: don't need Normal PC floppy, do need loopback dev support as module for testing CD images.
- IDE, ATA ...: IDE CDROM built in, SCSI emulation as a module; Intel PIIXn chipset as it works.
- 1394: haven't tried it -- send me something to use it with ? :-)
- IrDA: see my connecting comments; I module/enable everything plus drivers IrTTY, IrPORT
and SMC IrCC. (note there's a new improved smsc-ircc2 out, see the irda page)
- Input core support: yes, for USB mouse; I enable the Event interface in hopes of cPad play.
- Character devices: Mice no (not needed for USB mouse), though I stll seem to need the P/S2 mouse module for cPad.
- File systems: yes, you want to use Ext3; it's easy to switch. ISO9660 plus extensions for CD work, /proc,
UDF needed for DVDs.
- Console drivers: VESA frame buffer enabled here.
- Sound: modularise both 'Sound card support' and 'Intel ICH (i8xx)' if you want to be able to use this or ALSA.
- USB: Preliminary USB device filesystem; UHCI alternate
driver; USB Mass Storage support for the floppy, full HID support for
the mouse, or use my cPad driver.
- Bluetooth: haven't tried it -- send me something to talk to ? :-)
You may also want to see my /etc/modules.conf and /etc/modules
files (/etc/modules is Debian specific, I understand Gentoo uses
/etc/modules.autoload, while Suse/RedHat may use entries in
The easiest way to get an install started was to download the disk images from the Debian distribution
subdirectory dists/woody/main/disks-i386/ into a directory on the Windows XP partition. Then boot from a DOS
floppy and use the loadlin program (through install.bat) as found in the Debian tools subdirectory. Drop me a line if
you know a tweek for the XP 'command prompt only' boot mode to give it enough memory to run loadlin. Check
your local mirror of ftp://ftp.debian.org/debian
to find these files. Update: My, how things change. Now I'd
say the easiest thing is to boot off a knoppix cd and build your hard
drive partition the way you want it for the initial install.
The boot device can be selected at power-on or reboot: be holding down the left or right arrow key when
the Toshiba splash screen shows. This will pause the boot procedure until you hit [enter], booting from the
selected icon (hdd, cd, fdd, network, PC card ATA device).
Windows XP partition
The system comes with two formatted VFAT partitions, with Windows XP Home installed on the first.
I suggest that you don't trash the Windows XP partition for the following reasons:
- This is a 'legacy free' system,
thus the definitive Toshiba BIOS manipulation software -- e.g. to set boot device order, or set the owner
string in the subLCD -- (currently) only runs here.
- Might be the only way to get digital sound (S/P DIF) out for the DVD.
- Even after installation, it's useful to have a Linux system that you can get
to with just a DOS boot floppy for those times when you really mess up. :-)
- It's the only way to check that the hardware really works, and see how.
- If you don't convert to NTFS, the disk space remains available through VFAT.
- The Toshiba recovery CD supports (with many "Advanced User Only!" warnings) partition-only recovery and
recognises Linux partitions.
It works as well (almost!) as I had hoped, and lived up to the expectations
I'd developed from researching on the net. Certainly all of the "core" Linux functionality is working.
- The case build is brilliant. Everything works, feels solid, no creaks, the doors don't pop off or look
like they will.
- The UXGA display is everything I'd hoped for. There are no dead pixels,
- It feels fast.
- The recovery CD is as Linux friendly as would be reasonably expected.
- Having used it over 3 months now, the keyboard feels good and is "easy to type fast on".
- It appears that Toshiba declined to supply the wires or external connectors for hardware that I believe
I would have provided a proprietary external connector and "extra ports" accessory, but I can understand the
economic argument that serial and parallel ports are available as a USB dongle for Windows users, and perhaps a videophile
1394 solution as well. I would prefer to have a standard serial port and S-Video output with a converter down to
- no S-Video (S-VHS) out -- I think it loses the "desktop replacement" label here for not supplying full
quality DVD playback. Update: I've found a cable which brings
out an S-video connector from the same plug, but haven't tried it yet...
- the SMSC 47N227 supplying the IR also has (by the documentation)
serial, parallel and FDC ports -- "legacy free" indeed...
- It is just slightly warmer than I'd prefer when using it for 2-3 hours
on my lap (could be worse). The CPU temperature while editing this has ranged from 60-70 C
(fan comes on at 70).
- There appears to be no interface available (even under Windows) to really
save battery power when off. Specifically
the ethernet active LED, the PC-off CD player facility (it can be
locked off manually after shutdown), and the small
LCD (trivial consumption) all stay on. The upshot is that the "shelf
life" to a completely dead battery when turned off seems short (2-3
days if I recall correctly).
- I would prefer to have direct BIOS access; although rarely accessed, it would make some things easier.
An OS-neutral solution would be to publicly document the API available for setting up the PC hardware.
Still Working On
Some related Linux on Toshiba laptops pages:
Toshiba-spcific Linux utilities:
Toshiba Support sites:
Mailing lists (see also the Japan site above):
links to other pages that might get other parts of the hardware working(haven't tried them yet myself):
And of course:
- tkeymon.c and tkeymon.conf,
a hotkey daemon and config file. You can specify programs that always
run on a Toshiba button or Fn-key press, have it toggle between two
programs for one button (lock/unlock the keyboard and display), or have
it run a specific program on the Nth button press (I used have the
'world' button start xdm the first time it was pressed, then start
Netscape thereafter). Here's the scripts I wrote for my config file
(all pretty trivial):
Update: Also check out Fnfx for
another take on this same idea.
- netscape-rob and konsole-rob,
scripts to start these programs as me on X windows (change to your own
favourite account name, not so good if you have multiple X users).
- tosh-lock and tosh-unlock, scripts to lock the keyboard and turn off the display.
- vidswitch.pl, a perl script to cycle through the display output devices (LCD, CRT, TV).
- brighter.pl and dimmer.pl, perl scripts to manipulate the display brightness.
- umej, a -really- trivial script to unmount and eject the CD.
- mute and unmute -- if you have alsa installed, these take care of the sound.
- see my usr-cpad.c program on the cPad page, I've tweeked it so that it remembers the display
data through a swsusp.
a battery monitor daemon which switches to performance state P1 when AC
is unplugged and runs 'hibernate' (SWSUSP) when the battery goes below
the 'alarm' setting. To get around a minor buglet in ACPI/SWSUSP (won't
detect if the AC is un/plugged while suspended), you should restart
this in /etc/suspend.conf
ooops, I see my webhost isn't serving up the .pl scripts; great. here is a tar.gz file
The almost 1 year review
Yes, I'm still very happy with it and use it as a desktop replacement day-in and day-out. The only problems have been
that the display has developed some 'washed out pixels' around the top and right edges, and at some point I seem to have
cleaned the screen too vigorously and made a shiny spot near the middle. The washed out pixel problem is very subtle and
I can only really detect it when KDE flashes a grey screen before putting up it's normal background -- I tried to find a
Windows background that would make it show up when I had it in the shop once (trashed the cPad while experimenting :-), but
concluded that the Toshiba techs are trained to be unable to perceive display problems... The shiny spot is only noticeable
when it is off and sometimes when I am working at the console; perhaps there is a layer of plastic that I could replace
protecting the LCD to fix this, but the only Toshiba repair facility on this continent is in South Africa (I bought my
laptop in London, then moved to Nigeria -- so much for that 3 year warranty!).
I don't use it on my lap anymore so the heat isn't a problem, and there are no problems with the case at all.
Wow, one week short of one year since I bought it and I have everything working to my satisfaction! Good thing I Haven't
needed to get the winmodem working :-).
Year 2 Update: Still going strong, especially with the new
screen... And I do have the winmodem working now, too....
Year 4+ Update: I lost a year of use due to the video card
problem and moved completely back to a desktop in that time. The 5100
is still my work laptop though, and holding up very well. I got one
at Staples and always use it.
rob miller -- rob at janerob dot com
This page has been accessed
times since Oct 2005 (oopsie, sysadmin reset my counter sometime
around then, so lost the count from 27 Oct 2002, plus some other time
that the counter's been off)