LINUX ON A TOSHIBA SATELLITE 5100-201
(c) 2003 by Nicolas Bettenburg // March 2003

FAST DOWNLOAD MY TOSHIBA_ACPI.C FOR HAVING BLUETOOTH AVAILABLE HERE

Hardware Info
Installing Linux
Kernel / ACPI
Bluetooth
Keyboard
Multimedia
Internet
Games


Chapter I : Hardware Information:

LSPCI - What is in that Box ?

00:00.0 Host bridge: Intel Corp. 82845 845 (Brookdale) Chipset Host Bridge (rev 04)
00:01.0 PCI bridge: Intel Corp. 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)
00:1d.0 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #1) (rev 02)
00:1d.1 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #2) (rev 02)
00:1d.2 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #3) (rev 02)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 42)
00:1f.0 ISA bridge: Intel Corp. 82801CAM ISA Bridge (LPC) (rev 02)
00:1f.1 IDE interface: Intel Corp. 82801CAM IDE U100 (rev 02)
00:1f.5 Multimedia audio controller: Intel Corp. 82801CA/CAM AC'97 Audio (rev 02)
00:1f.6 Modem: Intel Corp. 82801CA/CAM AC'97 Modem (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go] (rev a3)
02:07.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
02:08.0 Ethernet controller: Intel Corp. 82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (rev 42)
02:0b.0 CardBus bridge: Toshiba America Info Systems ToPIC95 PCI to Cardbus Bridge with ZV Support (rev 32)
02:0b.1 CardBus bridge: Toshiba America Info Systems ToPIC95 PCI to Cardbus Bridge with ZV Support (rev 32)
02:0c.0 System peripheral: Toshiba America Info Systems TC6371AF SmartMedia Controller (rev 03)
02:0d.0 System peripheral: Toshiba America Info Systems SD TypA Controller (rev 03)

Touchpad: Synaptics Touchpad
Sound: Intel I810 Audio mit AC'97 Compliant Sound
Bluetooth: 82801 (works with BlueZ and my Kernel Patch)
Display: 1024*768 @ 75 Hz
Sound: Harmann Kardon 2x with Subwoofer
Crap: Windows XP Home edt.

 

Chapter II : Installing Linux:

I tried a lot of Distribution for Linux like SuSE (Link) , Redhat (Link) , Mandrake (Link) and Debian (Link).
Let's make it short: All of these won't work with this nice peace of Hardware !
The one and only seems to be Gentoo Linux (Link).
This distro runs very fast and smooth - since everything is compiled for our needs. (and we have to customize a lot !)
For those of you who are (like myself) from Germany : you can visit the german Gentoo Site (Link)

I won't tell you once more how to do the installtion (see Gentoo Installation Guide)
but I will tell you some customizations I made to get it running =).


Boot: Boot LiveCD with linux: gentoo acpi=off idebus=66 to have a fast system (acpi=off because it's a 2.4.20 Kernel see Chapter 3)

Step 1: After emerging portage and sync you should load my make.conf (optimized for this laptop) (Link)

Step 2: When it's up to you installing the Kernel you should follow this Procedure:
- Load the Gentoo 2.4.19-r10 Sources
- Unpack the Patches directory manually
- Apply the acpi patch manually with /usr/src/linux # patch -p1 < /tmp/2.4.19/patches/70-acpi (may depend where you extract)
- Copy my toshiba_acpi.c (Link) to /usr/src/linux/drivers/acpi

Step 3: Get my .config (Link) file and copy it to /usr/src/linux , aftert that a make dep && make clean bzImage modules modules_install
should make you a kernel optimized for the laptop and it's hardware (including acpi tools and bluetooth ability)

Step 4: Emerge Kde, Gnome and the stuff you need. Tips:
- emerge -s foo searches for pakets including "foo"
- emerge -p foo gives you a list of dependencies that will be emerge too
- emerge mirrorselect if you ever want mirrors other than mine (with are pretty fast though !)

Step 5: If you are keen in ICQ you should download sim-icq (Link). A Simple ./configure && make && make install should do the work. Start with sim .

Step 6: If you have done right you should have a desktop like this (Link)

 


Chapter III : Kernel and ACPI:

See installing Linux step 2 on how to get a nice ACPI kernel.
Some Issues to care about in General:
ACPI will only work with Kernels 2.4.19. A Kernel >= 2.4.20 will give you 100 % CPU load caused by a buggy keventd.
Hopefully Kernel 2.6.x will get rid of this Problem and give us a better ACPI usability.

When done right you can add the modules: processor, thermal, fan, button, ac, battery, toshiba_acpi to your modules.autoload.
Then you will find a /proc/acpi/toshiba directory.
Grab the acpi_low (Link) and acpi_high (Link) scripts I made to get a rough control about your Power-Consumption.
Don't forget to grab my Version of FN-Keys Watcher (Link) : fn+F6 / fn+F7 = brightness, fn+F2 switches the CPU-Speed (1,6 or 1,2 Ghz)

General use of the /proc/acpi/toshiba:
echo brightness:1 > lcd sets brightness to 1. May be a value between 0 and 8.
echo blue_on:1 > bluetooth enables the bluetooth module. More on that in Chapter 4.

General use of the /proc/acpi:
echo 0 > /proc/acpi/processor/CPU0/performance sets the CPU Speed to 1,6 GHz consuming a lot of power !
echo 1 > /proc/acpi/processor/CPU0/performance sets the CPU Speed to 1,2 GHz saving a lot of power !

You can also swith off the backlight by doing a echo lcd_out:0 > /proc/acpi/toshiba/video.
Using lcd_out:1 it should turn back on. But it's a bit buggy since you have to press the tiny LCD Close Button near the harman/kardon print.

 

Chapter IV : Bluetooth Setup:

Okay - world premiere ... I got Bluetooth working with blueZ .
I found some documentation about Toshiba and Bluetooth under Linux (Link) which was of no help
since the Jonathan Buzzard toshiba.o Module doesn't work if you have ACPI enabled. (Which is essential for this Laptop).
So the General Way of enabling ACPI with that dmabt program found on the website doesn't work.
Well ... I spent a night and did some hacking on the toshiba_acpi.c (see above) so you have a /proc/acpi/toshiba/bluetooth.
You can download it here (Link)

Okay here comes the Setup (with Gentoo - should be similar to other distros):
make sure the toshiba_acpi kernel module is loaded (try lsmod | grep toshiba)
emerge -s bluez and install everything you get there ;) (aka the modules, the libs and the utils)
insmod bluez
insmod hci_usb
push the small switch on the left down side to right so that bluetooth can be switched on.
cat /proc/acpi/toshiba/bluetooth then gives you a wireless_switch value of 513 which means you can start it by
echo blue_on:1 > /proc/acpi/toshiba/bluetooth
you will see the light near the wireless switch turn yellow.
hciconfig hci0 up
hcitool dev will show your bluetooth device
see man hcitool for further application details.

Woohooo, have fun !

 

Chapter V : Keyboard Setup:

Unfortunately the Toshiba Keyboards are buggy under X-11 doing character doubling.
Say if you type hello it will result in hhelloo.
To get rid of that Problem do the following:

File /etc/X11/XF86Config
Section InputDevice "Keyboard" add Line "XkbDisabled" to stop xkb

Put my Xmodmap (if you are in Germany) to /etc/X11/Xmodmap (Link)

File /etc/X11/Sessions/kde
add Line /usr/X11R6/bin/xmodmap /etc/X11/Xmodmap
to have the xmodmap loaded automatically (same with the Gnome /Fluxbox /WMaker session files)

Chapter VI : Graphical and Audio Setup : NVIDIA and X11 / Multimedia

If you still are on Gentoo it's as simple as going to the toilet ;-)
emerge nvidia-glx
emerge nvidia-kernel
add line "NVdriver" to /etc/modules.autoload
Grab my XF86Config File (Link) and copy to /etc/X11/XF86Config
edit /etc/rc.conf to start the displaymanager of your choice at startup (I prefer gdm)
rc-update add xdm default to have X11 start your Displaymanager at boot time

Done with the graphical part !

Now we will switch over to our sound setup:
Follow the Steps at www.gentoo.de - Desktop installation. (Link)
Grab my config files: /etc/modules.d/alsa

Done with the sound part !

emerge -s xmms
emerge -s mplayer
and grab the stuff you like. Happy DVD and DivX watching !

 

Chapter VII : Network / Internet Setup:

Integrated Intel EtherExpress 100 pro:
The Module to load is "e100".
edit /etc/conf.d/net to setup your values. I use the dhcpd so everything is done at boot time. Very nice !

Wireless Setup works like this:
emerge pcmcia_cs
insmod pcmcia_core
insmod i82365
insmod ds
cardmgr -f
and you are done. If you already set up eth0 as intel e100 pro you have to copy the /etc/init.d/net.eth0 to /etc/init.d/net.eth1
and everything should work automatically.

 

Chapter VIII : Games under Linux:


Work pretty fine. Since Gentoo sets up your Nvidia stuff very nice you can start gaming out-of-the-box.
Try Lokigames Website to get installers for Quake 3 / Tribes 2 / Unreal / Unreal Tournament etc. (Link)
emerge winex-cvs will give you the Wine Emulator from Transgaming (be sure to have paid !)




Happy Linuxing with your nearly perfectly set-up Toshiba Satellite 5100 or similiar ;-)