Last modified: Sun Jan 12th 2003

Linux on the Toshiba Satellite 1805-204




Introduction

The Toshiba Satellite 1805-S204 is equiped with the following : It comes preinstalled with WindowsXP and you get 3 CDROMs with a recovery install (duh : not even a default WindowsXP CDROM). Windows XP survived 7 minutes on my laptop, enough to log in, and to see that Windows starts more and more looking like an ugly KDE theme.

I finally got everything working; configuring X was the hardest part, not because X is so hard to setup, but because the videocard is not fully supported. But more about that later.

What are the drawbacks ?
  1. Rebooting the laptop sometimes hangs the machine right after the Toshiba boot screen.
  2. I experienced some problems with the PCMCIA card, where my network connection was gone. Can't reproduce it, though.
  3. The modem is a WinModem
  4. Some KDE programs, like konsole, segfault.
I installed Debian 3.0 on it, and immediately upgraded to unstable. I will skip the basic parts of a Linux installation, and spend the most time on how to configure the hardware on this laptop.

If you have any questions, you can contact me here.


Frame Buffer device

Nobody wants a 80x24 console nowadays; thanks to frame buffers, you can get a super high resolution console to work in. Besides, you get a boot penguin at startup ;) But boy, did I had trouble getting this thing allright ! After hundreds of reboots I got it finally working.

Let me first explain what the problem was : I could only get the console start in 640x480; working in 800x600 was possible, but the screen sometimes would overlap, or a part of the screen wasn't visible. Working in 1024x768 was impossible, though even the boot messages of the kernel announced the LCD display as a 1024x768 screen. Examining the boot messages revealed the source of my error :
tridentfb: framebuffer size = 16384
tridentfb: Trident Microsystems CyberBlade XPAi1 board found
tridentfb: 1024x768 flat panel found
vesafb: abort, cannot reserve video memory at 0xfc000000
Apparently, memory detection problems were the root of all evil. I finally feeded the memory size to the kernel as an optional parameter in lilo.conf :
image=/vmlinuz
	label=Linux
	read-only
	append="video=vesa:memsize=16384,mtrr"
	vga=788
I choose for a comfortable 800x600 screen, as I do like a minimum of unused border space.


X-Windows

Configuring XFree4 has become a breeze in comparison with XFree3. However, if you have a recently supported card, it can be hard to get the most potential out of it. Same here : boo for Trident for not giving more specs to the XFree86 team. The videocard is a Trident CyberBladeXP and is only supported starting from XFree4.2.0. If you have an older distribution, you better upgrade X or you are stuck with the framebuffer driver.

The CyberBladeXP uses the SVGA XFree driver. However, you won't get 3D acceleration, and there are still some bugs in the XV drivers. As a result, you won't be able to play 3D games on this machine, and DVD playing won't work out of the box (though I managed to get the DVD drive working - more about that later).

I do use the accelerated drivers from Alan Hourihane. The pointing device is an Touchpad, and basically is a PS2 mouse.

Here is my /etc/X11/XF86Config. The most important part is repeated here :

Section "Device"
    Identifier  "Trident CyberBlade (generic)"
    Driver      "trident"
    Option 	"accel"
    Option 	"Display1400"
    Option	"DPMS"
    Option	"CyberShadow"	"false"
    VideoRam    16384
    Option	"BackingStore"	"on"
    Option	"SaveUnders"	"on"
EndSection
Without the Option parameters, you won't get the performance boost you need for DVD playing.


PCMCIA

The PCMCIA card I got, is a Xircom 28.8K modem + 10Mbit ethernet card. It is fully supported by Linux. It's really plug & play : inserting the card, automagically loads the drivers. Check your "dmesg" (or /var/log/messages) to verify it yourself :
cs: memory probe 0x0d0000-0x0dffff: clean.
xirc2ps_cs.c 1.31 1998/12/09 19:32:55 (dd9jn+kvh)
eth0: Xircom: port 0x2e0, irq 11, hwaddr 00:80:C7:4C:A0:86
tty02 at 0x0af8 (irq = 11) is a 16450
eth0 media 10Base2, silicon revision 1 

Modem

It's a WinModem, and therefore unusable. Besides, in this networked world, who needs modems anyway ?

Networking

ethernet -- PCMCIA

Just add "ifconfig eth0 10.210.0.2", with the IP adress you like to enable networking. If you got a masquerading box somewhere on your network (let's sy 10.210.0.1), just issue "route add default gateway 10.210.0.1". Debian automatically starts the network when the card is inserted.

PLIP

PLIP means Parallell Line IP, and is Linux implementation of a Laplink device. It's a 10$ cable you can use to connect 2 PC's through their parallell port. It works great, though not so fast as ethernet. Count on a 35K/sec speed, which is still reasonable (I even installed PC's that way). To activate this, you'll probably have to recompile your kernel :

In General Setup, define Parallell Port Support and PC style hardware as modules. It will create 2 modules called parport and parport_pc. IN Networking Device Support, define PLIP support as a module. It will create a module called plip. As I don't work continiously with PLIP enabled, I created 2 small scripts, which enable or disable PLIP :

/sbin/plip-on :

#!/bin/sh
insmod parport
insmod parport_pc
echo "7" > /proc/parport/0/irq
insmod plip
ifconfig plip0 10.0.0.2 pointopoint 10.0.0.1 arp up


/sbin/plip-off :

#!/bin/sh
ifconfig plip0 down
rmmod plip
rmmod parport_pc
rmmod parport
After you've load the parport* modules, you'll have to assign interrupt 7 (if you're using a i386) to your parallell port. Hence the line with "echo ...". It's quite straigthforward; read the PLIP-mini HOWTO for more info.If you're still using the 2.0 kernel (who does ?), beware that the plip interface will be called plip1. You will also have to add a route to the other computer (even though it's a pointopoint connection).

Sound

The card works out of the box; just use the "trident" driver :

modprobe trident

The soundcard is an Trident 4DWave.

APM

APM is supported in the BIOS, so include APM support in your kernel. I tried to enable ACPI, but found out that the BIOS is on the ACPI's blacklist, so I stuck with APM.

DVD

It took a while to get the DVD working; luckily I found this page, where I got a bit more detail. Just use the Option parameters specified in the XFree section of this document, and dvd playing will be acceptable. There are different dvd players for Linux :