on the TOSHIBA Portege R100
Feel free to send me comments and feedback on r100 @ freed.net
This is the story of how it worked for me. My current reccomendations are in the "Current Status & Working Configuration" section, later there is detail on the various subsystems, and a full floppy-based re-install log at the end.
Warning: Anything you do is your own
responsibility, if anything breaks, whether you
followed my advice or not, you get to keep both halves.
Why Debian
Debian on this machine is now installable by anyone who is not scared by Linux.
If you are concerned about Debian, just call a friend to
hold your hand. Debian is nearly as much of a religion as opensource in general,
once you get to know it you cannot understand WHY anyone uses anything else.
If you insist, there is a writeup about RedHat
here,
and a new one about slackware
here. There
have also been reports about Suse, Gentoo and FreeBSD going on this kit.
I myself was completely new to Debian when I got the machine, and I love it. the "apt-get" command is a facility to die for, and being a (very) old Unix hand, I appreciate finding things where they should be and not some crazy place that redhat invented...
I installed Debian never having had anything to do with it before.
I used RedHat for several years, but got annoyed with
it for various reasons documented
by others elsewhere on the web.
Debian has various flavours, I use "unstable" - it is a bit of a misnomer,
as it is plenty stable.
The Machine Hardware
This is a really, really, sleek machine, weighing only 1.1 kg. It is
somewhat similar to Toshiba's earlier Portege's 2000 and 2010.
If you have the large-capacity battery, note that the knobs for locking it into place are pretty fragile, one did not survive a fall from my desk to the floor (thanks, cats!).
This machine includes the Intel 855PM chipset, which does I/O management, including USB, Ether, Sound, and many other things. It implemets a scheme known to intel as ICH4M (aka 82801DB), which is simply the mobile edition of ICH4. The "PM" after the "855" means it has an integrated Graphics Core, whatever that means. See in general This page. (Second thought - I am not sure we are using "PM", but that doesn't matter) More info than you will ever need about ICH4 can be found here.
Note that the notation 2.5" for hard disk size
means only the physical size.
This can be
confusing. My last laptop had a
IDE Plus interface, about 2" wide ribbon in the physical interface.
On the R100, we have a ATA-5, which is "serial", and the attachment is
only 1.8". The disk in this laptop, BTW, is only about 1.9" wide.
I am writing this more about the various USB boxes you may use for the
old hard disk from your previous machine (This was very frustrating).
Current Status & Working Configuration
My R100 broke, in that the disk crashed and is too expensive to fix. This page
documents the status as per Sept-Oct 2006, and will include any tips I get
by Email from fans of this machine,
but I am no longer in a position to vouch for
anything, just to type up this page...
I use the generic 2.6.14-1-686 kernel from Debian unstable. First time this works.
The X server is Xorg, also from Debian unstable, the config file is
here.
Add Option "ShadowFB" "true" in the xorg.conf for accellaration, but....
DANGER! There is a problem with the lastest version of the trident driver, see http://bbs.archlinux.org/viewtopic.php?t=25033&highlight= . The (temporary) solution is to downgrade to xorg server 7.0.0. You downgarde by telling apt that you want certain packages from "stable" or "testing". Read up on "apt-get" and /etc/apt/sources.list .
The above configuration solves all known problems, except it is messy connecting and reconnecting the laptop to the docking station with video going to an external monitor. Still, usable even in this mode. Ah, and of course, the SD-card thing does not work.
BTW, you might want to amend my Xorg config file, as it supports a Hebrew keyboard layout that you probably don't need.
It would seem that the best way to install the R100 now is by network boot. Do read all this page just to understand the issues, but I recommend network boot, using any old desktop machine you have lying around. If it runs Linux, I would do a dircet PXE install (see below), or if the "other" PC runs any other Devilish Operating System, I would temporarily boot it into Knoppix, see further below.
I just reinstalled the system from scratch over PXE using the wired ethernet, read this web page, noting that in my case the tftp server needed to run under root, not "nobody". I installed "unstable" directly, but found that the installer system is actually for "testing", so you need to edit "/etc/apt/sources.list", and run "apt-get update ; apt-get dist-upgrade" a few times... Note that you will need to install the ipw2100 firmware manually, and "apt-get install alsautils" and run "alsaconf".
Another way to install would be to take a desktop
machine, boot the latest Knoppix on the desktop,
set it as a net-boot server, adjust so that
the network-clients can modify their configuration (enable root, or whatever)
and get Knoppix on the R100 first. Then I would shrink the XP prtition (if
needed) and hand-install a base Debian (unstable) system, reboot and apt-get
the rest. See "debootstrap" man page.
How it worked for me
Bootstrap
The biggest problem with this machine is that though it has 2 Ethernet ports
(wireless and regular), a modem port, and plenty of USB, when it is not yet
installed this is all useless.
I have bought a USB floppy, and that is how I bootstrap. If you don't have one, I could recommend trying a network boot; (see also this page) Once you succeeded, I would be glad to link to your own writeup.... (see the slackware page). Note that I cannot see how to boot direct from a CD, I also recall reading somewhere that USB2.0 and linux do not mix for boot. correct me if I am wrong.
Cinkler Tibor wrote:
I have just installed Linux (SuSE 9.0) to my Portege R100. There are two simple methods for booting except NetBoot.Use a CD or a CD or DVD and 3 floppies: linux boot, modules 1 and modules 4 (SuSE 9.0). You can boot a
a) PCMCIA 16 bit (NOT CardBus (32 bit)) or
b) USB floppy disk dirve, or
c) a 16 bit PCMCIA CD-Drive.
I have used Toshibas USB FDD and (Fujitsu-Siemens') Freecom Traveller II PCMCIA CD-Drive.Unfortunately even the newest Toshiba BIOS does not support USB booting from other devices.
In case b) I booted form a SuSE DVD using LGs USB CD-RW/DVD-ROM.
Everithing worked fine, however, I can not use my USB mouse and touchped in parallel and I can not use some odf the TOSHIBAs Fn keys, e.g., lighter/darker screen.
Later addition: Variant C was very problematic, extremely slow, with some errors. After each error the system was hanging for minutes.
Ethernet with DHCP worked imediately as well as X, sound and PCMCIA.
Note the following advice from David Sterratt (I can't stress enough that you should read this ENTIRE page before doing anything):
To make life easier when installing, use the debian "unstable" installer. It has the drivers that the stable one doesn't have, only needs 3 boot floppies and no PCMCIA card. It's at http://www.debian.org/devel/debian-installer/ . The boot floppies at http://http.us.debian.org/debian/dists/testing/main/installer-i386/current/images/floppy/ worked for me.NEW: Look also at This enlightening page From Peter Favrholdt. His machine is a bit newer than mine, but it should still work also for the old machines.
New:Pablo Martin says that By installing the latest BIOS (1.6), you can boot for a USB CD/ROM. To install the BIOS, get the self-extracting zip (an .exe file) from Toshiba's site, and use "unzip" to get as far as the actual floppy image (if you have a floppy drive), and generally follow the instructions. Worked for me (Sam).
Another way todo a BIOS upgrade was suggested by Nicholai Hsu:
I managed to update the BIOS to version 1.60 with no CD-drive, floppy-drive, or Windows-install, just using FreeDos and grub. It's pretty simple.You can skip a) - c) and just use the attached memdisk and fdboot.img if you like.
- Download the freedos fdbasecd.iso
- mount the image (mount -o loop fdbasecd.iso /mnt/cdrom)
- add the Toshiba bios updater and bios to the fdboot.img
- copy memdisk and the new fdboot.img to /boot
- add /boot/grub/menu.1st entry
title Toshbia Update
root(hd0,0) # or what the boot device is
kernel memdisk
initrd fdboot.img
- reboot, select Toshiba Update, update and enjoy
Before recieving any of this advice, what I did is boot BootitNG and continue with it until I had the XP NTFS partition shrunk.
I then booted using special boot floppies for USB Use the boot option "linux video=vga16:off", see in general this page. Note that a USB floppy is considered a SCSI device! This means it may show up as /dev/sda , not /dev/fd0 .
Note that in the installation after the "rescue" floppy, it may be waiting for you to replace the floppy with the "root" one, but the kernel has spewed some more messages to do with USB and SCSI, so the line requesting the root floppy is no longer the last one. read about 5 lines above, replace floppy, and press enter (did I need to press Enter twice?)
My partitions are more-or-less;
If it gives you grief that there is no PPP support in the kernel, but the modules are loaded, just rmmod everything that smells like PPP, and "pon" again.
Next, for the reboot. The machine froze, and needed a power cycle. I got to LILO, and booted Linux, only the last few lines on the screen are missing, remember that kernel option above???? So added that in the lilo.conf file: append="video16:off". Reboot, and it worked.
By now we have a semi-functional system
For now I have the native network interface working (after you "insmod e100").
I like that, it means both my machines can be connected simultaneously.
BTW, the way to insmod a module on boot is to stick it in /etc/modules.
Various Subsystems
The wonders of X (under the 2.4 series Kernel)
Note that you can go 2.6.7. Cutting edge, has few of its own problems,
and (nearly completely) solves this one (including the suspend)
Edd Dumbill adds: " The missing fact from your page was that the 'vesa'
driver for XFree86 was the right one to use with 2.6.10 to get APCI
suspend and resume and 2D acceleration.
FWIW, this is under Ubuntu Hoary." Ubuntu is a derivative of Debian, in case
you were wondering.
There are now THREE (2.4 Kernel series)
alteranatives: One gives you 8-bit colour, and no problems.
The second gives 24 bit colour, but completely
mesess you up after a suspend/resume cycle. The new "third way" (no political
pun intended) requires another driver but allows any depth, suspend, but
no native support, so no acceleration.
Let us all pray that the good folk at
Xfree86 get around to our video chipset
(Trident XP4m32 with 32Mb memory) soon. UPDATE: Alan Hourihane (from
Xfree86)
says (Nov 03): "... unaccelerated support is currently in the XFree86
CVS. I don't know when I'll be able to finish up the acceleration though".
The unaccelerated version
is expected to be part of Xfree86 4.4.0, due before early 2004.
The 8 bit no problems way
It took a while. All I can say is configure it as VESA with 8
bit depth. The config file is here.
When you come back from suspend, you need to switch VTs back and forth:
Press ALT+CTL+F1 and then ALT+CTL+F7.
All singing all dancing 24 bit colour, but no suspend
I now have the framebuffer giving me 24 bits. It is wonderful, no hitches,
except of course that we get messed up on suspend, and
are not really using our chip properly.
The way to do it is: Get rid of our boot option "video=vga16:off"
which basically
switched us all the way back to XT-type graphics, and boot with another
option: "vga=792", and with the Framebuffer
turned on in the Kernel (I have it compiled in, I don't think a module
would work). Configure the underlying hardware under the framebuffer
as VESA. Now configure X for a FrameBuffer driver, depth 24, and,
of course, pray. here is my
24-bit X configuration file. Credit for pushing me this way
goes to Piete Brooks and Rodrigo Castro, with their RedHat info
(see reference above).
Note that in lilo.conf you say "vga=NNN" NOT "append="vga=NNN"".
This issue that the screen is being mesed up on suspend
when we get 24 bit colour is
used to really keep me awake at night
My latest note on this path is that the way it is messed up look identical
to the way it is messed up without the framebuffer, only in the non-framebuffer
mode (8-bit) we know a way out (switch VTs).
It Works! Both graphics AND suspend!
Some brave soul has rewritten the VESA framebuffer driver, and
added interesting features. The most interesting one as far as we are concerned
is that it is NOT the old driver, and therefore does not suffer from the
same bugs.
Installing this is a breeze, just get version 1 from here and follow the instructions. My X config file is here.
N.B. if you are using VMware, you need to reconfigure it, because this driver
change is just enough to trip VMware over, but not
enough of a cahnge for VMware
to detect that it needs a recompile. It does.
TouchPad, Mice, etc
An external USB optical scroll-wheeled mouse is a lovley thing to have. As of
May 06, I am having problems using the touchpad, as the sensitivity is very low,
(it takes 12 swpies accross the pad to move the cursor across the screen in max
sensitivity in Gnome). However, of you
reboot the touchpad's driver by doing modprobe -r psmouse and
immediately modprobe psmouse, the sensitivity of the touch-pad
becomes reasonable.
PCMCIA
For some reason, during the first boot
from the HD, it was trying to load a module
called "i82365", which failed silently, and then "ds"
failed with much noise (see /etc/default/pcmcia, /etc/init.d/pcmcia)
if you change PCIC= to "yenta_socket" it should work.
Note you may need this change for your network card during bootstrap.
Wireless LAN
The "Intel PRO/Wireless 2100 LAN 3B MiniPCI Adapter" is part of the
centrino Trio of chips.
There are 2 ways to make it work:
Linuxant
Stephen Eglen reported that some people seem to have got their Wi-fi
under linux
working, with centrino laptops, see
here and here.
This is the proposed solution. It costs $20, and is closed-source.
Martin Kihlgren reports:
Its easily installable in Debian, just download the .deb, follow the instructions on the site and it works - with one exception.It works for me as a straight tarball install, since I do not use Debian (yet?) to manage my kernels. Martin's comment on "$UseAuth" did not apply to me. However, I manage to mess myself up by forgetting that I configured my Access Point to not accept anything but the MAC address of my Orinoco PCMCIA card.... Silly me.The file /usr/lib/driverloader/webconfd.conf needed to be changed for me to be able to configure it through the web - the setting $UseAuth = 1; needed to be temporarily changed to $UseAuth = 0; during the setup, since the authentication-system they used seemed to be broken.
And when setting the interface using iwconfig I sometimes needed to reload the module first to be able to get the new setting working.
And one hint - the .exe-file containing the drivers is in fact just a zip - unzip it using unzip :D
There are signs of an open-source solution coming arround, see
the slackware page
The ipw2100 driver
The new Linux drivers for
this hardware work well for me.
This is what I am using as of Kernel 2.6.7.
It once gave me a LOT of grief, but booting into the devil's own
system (Win-XP), playing around and booting back to linux solved it.
Note that as of 2.6.14-rc1 these drivers are part of the stock kernel,
see below.
APM+ACPI
APM
APM is allowing us to do "apm -s"; that put the machine in suspend mode.
APM also
reports some data about some battery, no distinction between battery A and B
ACPI
It works. You need to disable APM since they are incompatible.
(Disable means go as far as you need to to turn it off, even compile
it out of the kernel) ACPI gives
us a lot of information about the machine and the two batteries (separately!).
2.4.NN
To suspend do "echo 4 > /proc/acpi/sleep".
It would seem that linux wants the system to NOT change while it is suspended, so when you want to go mobile, disconnect everything BEFORE suspending, and resume with the lid, power supply, PCMCIA etc. in the same position as it was during suspend, or it thinks it is on a different machine or something and refuses to un-suspend, leading to a sieze-up, and then you need to reboot. One way to get the USB system in a "known" state before suspend is to rmmod ehci-hcd etc. so there is no USB subsystem to make a mess. Remember - ANYTHING that changes while the machine is asleep can trip you over.
Note that you can wake up the machine using the button to the right of the power button, and to the left of the "t" or "i" button, all above the keyboard.
This thing seems to give you control of what the machine will do with all kinds of Toshiba-only keys, including the one I use for wakeup, and all the Fn-etc keys. (only tested on 2.6)
See notes about suspending in the sections about X and USB.
2.6.NN
ACPI works as advertised, suspending and all. The only issue is that the ehci
USB driver (for USB2.0) is not suspend-friendly on 2.6.7 (and some other 2.6.X
kernels). Use the following script to suspend on 2.6.7:
modprobe -r ehci_hcdIf you are using the ipw2100 driver (wireless lan) you may need to get rid of it too for suspend. (and maybe re-config the net afterwards).
echo -n mem > /sys/power/state
modprobe ehci_hcd
Note also that on resume, using the power button, this sends a
"powerbutton" event to acpid, which by default shuts down the machine.
I disabled that. See /etc/acpi.
TBD:
You do this by editing /etc/hotplug/usb.rc , and searching for the word "prefer".
I am using fast USB happily with a CD/RW/DVD-ROM combo.
Note that a suspend/resume cycle (either APM or ACPI) really messes things up (mainly under 2.4.NN). See the ACPI section.
NOTE that the docking station I bought with this machine was advertised as
USB 1.1, but is really 2.0. A rare case of something for nothing.
Modem
2.6 Kernels
Seems to work out of the box, compile your kernel and
enable ALSA and ICH based modem support
( 'Device Drivers' -> 'Sound' -> 'Advanced Linux Sound Architecture' ->
'PCI devices' -> 'Intel i8x0/MX440; AMD768/8111 modems' ) .
Then use slmodemd as supplied by Debian. Sill not 100% clear here, but
it seems to work.
2.4 Kernels
Having had much trouble, and got things partly working, Mr. Bill Giannikos enlightened me: To get it to work download the slmdm-2.7.10.tar.gz drivers. Next unpack these drivers (tar xzvf slmdm-2.7.10.tar.gz) and edit the file amrmo_init.c with your favourite editor. Go down to line 75 and change the value at the end of this line from 0x2486 to 0x24C6 (yes, it should look like the line below it). You can then follow the instruction in the README file to install the driver.
Note: Don't use the slmdm-2.7.14 drivers. These may seem to install properly but when it goes to dial out it dials the WRONG number (in fact it dials more numbers than it should).
Worse, the bad version will not recognise carrier even if it dialled the correct number, which it did not. Sigh.
This is the manufacturer's website.
I get an error message "The driver is not compatible with the installed modem codec." I ignore it merrily.
In case it was not clear from the docs, you need to insmod both
slamrmo and slmdm.
There's another module there, slfax, may be needed to send/recieve faxes.
Sound
Under 2.6.7 we get reasonable sound "out of the box" - see alsaconf. The rest
of this section related to 2.4.NN.
What we have here is a AD1981B software sound setup (or so Toshiba's specs). The i810_audio is not explicitly aware of this variant yet (2.4.22-pre8). There is something on ALSA's site, saying that it may be [similar to] a ad1881, codec or whatever...
insmod i810_audio after ac97_codec. It still sounds bad, maybe 8bit? Something complains that we are only using 2 out of 6 possible channels.
I use it to hear music using "line out" and my home sound system. The internal speaking is realy quite bad.
Keyboard
The kerboard is not usually an issue, but in our case there is some
obscure bug
(at least in the 2.6 kernels)
that causes the keyboard to seize up occasionally.
You can tell the you are having the problem by trying to turn CAPS LOCK on and
off. If the key does not toggle the CAPS LOCK led, then you are experiencing
this bug.
The solution is to grunt,
and press the left shift key a couple of times.
Irda (Infra Red)
It does not have one. I bought a USB dongle.
How to recover WinXP on the Toshiba R100
Sadly, occasionally I need to use the devil's own OS, and occasionally I
mess it up, so once is a few years I need to reinstall it from scratch.
This is not easy since, again, the machine has no drives for
removable media. I have a toshiba original USB diskette drive,
and a no-name USB CD drive -
here is how it worked (Thanks Eli!):
The setup:
We finaly managed to load usb deivers for dos that enabled us to access the cd (from dos). The method was to download the Panasonic ASPI Manager for USB mass storage v 2.20 (from here , as we found out on This page ).
The exe file (lha self extracting, thanks for linux lha) contains USBASPI.SYS and USBCD.SYS. Inserting the following lines into CONFIG.SYS of a bootdisk (we used Bart's Modular BootDisk):
That should be all.
Compiling a permanent Kernel
Here are some .config files:
An interesting point is that (at least) as of 2.4.22-pre8 we no longer need
the video=vga16:off option, the kernel knows to not imagine a larger screen.
2.6
2.6.5 (and newer)
is surprisingly stable - I had many problems with previous versions. The
thing that works for X is
This XFree86Config-4 file. It allows for 24 bit colour,
though upon invocation you need to switch VTs back
and forth to get the right colours.
My suspend script is as follows, and it works great!
modprobe -r driverloader ; echo -n mem > /sys/power/stateNote that you must change "driverloader" to whatever causes you grief. Since I switched to 2.6.7 I use ipw2100 for wireless, so I have no problem with Linuxant's driverloader. However, I have problems with ehci (USB)... In general it is useful to undersatnd my recommendations, not just to parrot them...
modprobe driverloader
The suspend seems to want to work out of X, not console mode. OK with me since I use mainly X. To wake up use the left of the two buttons on the right. Using the power button made the machine come back allright, but go staraight to init 0, which is reboot. Had to disable that in the powerbutton thingie in the ACPI scripts, /etc/acpi/*.
Obviously you need to recompile all your extra modules, like "Linuxant"'s driverloader, the modem driver, etc. This is quite a migration (from 2.4 to 2.6), so read all the stuff you can find on the web. I still don't have backlight switch-off under 2.6.5.
The 2.6.14-rc1 kernel seems to solve MANY issues. It now includes ipw2100 in the kernel, don't forget to turn it on and also the ieee stack it uses. For some reason this kernel seems to require "usb-handoff" as a kernel command- line option. The only outstanding issue I have is a well-known 2.6 bug that "full-speed" usb devices (1.1) do not always work behind a "fast" (2.0) hub. doing a modprobe -r ehci-hcd solves it, but disables "fast" altogether.
Once 2.6.14 goes mainstream, I plan to rewrite this page with the new
debian installation stuff, and I think I will reccomend bootstrapping
using knoppix.
Other goodies
Nicholai Hsu Adds:
fnfx.sf.net Controls the Fn-key Works with all the Fn-keys I tried. Even switch between Laptop Screen/Laptop Screen + Externel VGA/ External VGAhttp://www.brodo.de/cpufreq/ regulates the CPU speed. Can save you lots of battery
I really appreciated your page pack when I installed debian a long time ago. Gentoo ran just fine as well. Now it's Archlinux ;)
It will load, uncompress and boot the kernel. At some stage it will ask for the root floppy. Note that if you have a lot of USB devices (you have the floppy, right?) they may be recognised AFTER the kernel asks for the boot disk, and the prompt asking for the floppy may have scrolled away. If the machine is quiet for a while and the screen in full of USB stuff (doing this with the port replicator attached, for example) then you can simply....
We need to convince Debian that we have a network connection, since that is how I am going to install. If we do not do it NOW it will insist that we cannot do a network install, and I do not have a CD drive. Go to console 2, and get an internet connection, "by any means necessary". See the section about PPPoe above. I will not detail this blow for blow, since chances are you will do something else...... NOTE that your floppy is called /dev/sda, NOT /dev/fd0.
You may need to rmmod and re-insmod the PPP modules.