Installing Debian Linux on a Toshiba Satellite M30-801


May, 2005

Introduction

This document describes how I installed Debian GNU/Linux on my Toshiba Satellite M30, and how I configured it to dual boot with Windows XP. This information is shared in the hope that it might be of some use to anyone, but I cannot accept any responsibilities for damages in hardware/software that might occur after following these guidelines.

Please make full backups of your data before proceeding.

I also included some installation details for hardware external to this laptop.

Harware info

DVD Multi drive
  • maximum speed : Read: 24x CD-ROM, 16x CD-R, 8x CD-RW, 8x DVD-ROM, 4x DVD-R, 4x DVD-RW, 2x DVD-RAM Write: 16x CD-R, 8x CD-RW, 1x DVD-R, 1x DVD-RW, 2x DVD-RAM
Display
  • size : 15.4 "
  • type : Wide View TFT display
Graphics adapter
  • manufacturer : NVIDIA®
  • type : GeForce™ FX Go5200
  • memory amount : 64 MB
  • memory type : DDR Video RAM
  • graphics accelerator : 128 bit
  • connected bus : 4 x AGP bus
Internal video modes
  • resolution : 1,280 x 800
  • maximum number of colours : 16.7 million
Battery
  • technology : lithium-ion
  • maximum life : up to 3.7 (Mobile Mark™) hours
AC adapter
  • input voltage : autosensing AC adapter (100/240 V) for worldwide usage
Interfaces
  • 1 x DC-in
  • 1 x external monitor
  • 1 x RJ-11
  • 1 x RJ-45
  • 1 x parallel
  • 1 x TV-out (s-video)
  • 1 x i.LINK® (IEEE 1394)
  • 1 x SD™ Card slot
  • 1 x external microphone
  • 1 x Fast InfraRed (FIR)
  • 1 x headphone (stereo)
  • 3 x USB 2.0
Expansion
  • 1 x PC Card slot for 1 Type II card
  • 2 x memory slots (0 to configure)
Wireless communication
  • Compliancy : FIR
  • Wireless Technology : Fast InfraRed
  • Compliancy : Wi-Fi™
  • Network Support : 802.11b integrated, dual band (802.11a/b) ready
  • Wireless Technology : Wireless LAN
Wired communication
  • topology : Ethernet
  • speed : 10/100 Base-TX Ethernet LAN
  • topology : international V.90 modem, (V.92 ready)
  • speed : 56 Kbps data (V.90) and 14.4 Kbps fax (V.17)
Sound system
  • supported audio format : 16-bit stereo
  • supported sound standards : MIDI support
  • speakers : built-in stereo speakers - tuned by Harman Kardon
Keyboard
  • Keys : 86
  • Windows® keys : 2
  • inlaid numeric keypad : No
  • Hot Keys : 3 (Internet launch button, Toshiba console button, TV button)
  • special features : Multimedia Bar with CD/DVD/MP3 player control function
Physical dimensions
  • W x L x H : 360 x 270 x 25 (front) / 36 (back) mm
  • weight : 2.78 kg
Pointing device
  • type : Touch Pad
  • interface : PS/2
Warranty
  • 1-year international warranty
  • 2-year international warranty
  • 2-year pick-up-and-return warranty
Bundled hardware
  • AC adapter
  • AC power cable
  • Quick Start guide
  • user manual
Security features
  • system password security

Model:  Satellite M30-801
HDD_Int:   Intel ICH4-M - ok
Sound:   AC 97 (Sigmatel STAC975051T) - ok
VGA:   nVIDIA GeForce FX 5200 Go - ok
CPU:   Intel P-M 1500 - ok
RAM:   PC2700
Modem:   Softmodem (Lucent SCORPIO) - ok
IrDA:   Super IO SMSC LPC47N217 - ok
USB:   Intel ICH4-M (USB2.0) - ok
CD_Int:   Intel ICH4-M - ok
PCMCIA:   Toshiba ToPIC100 (Intel 82365 comp) - ok
Firewire:   Texas Instruments OHCI (43AB22) - ?
APM:   V1.2
Mouse:   PS2 - ok
ACPI:   V1.0b - ok
Chipset:   Intel 855PM
Network:   Intel 82562ET (Kinnereth) - ok
FloppyDisk_Int:   USB
Wireless:   Intel PRO/Wireless 2100 - ok
SD_Card:   Toshiba SD TypA - ?


Partitioning:

This is the layout of the partitions on my disk:

Name
Flag
Part Type
FS type
Label
Size (MB)
hda1
boot
primary
NTFS
Windows XP
15998.17
hda2

primary
Linux ext3
/boot
49.36
hda5

logical
W95 FAT32 (LBA)
/data
3997.49
hda6

logical
Linux ext3
/
10001.95
hda7

logical
Linux swap

1003.49
hda8

logical
Linux ext3
/home
8957.33

Dual boot

Although most of my work on this laptop is made under GNU/Linux, I still keep Windows (XP Professional) for several reasons. To make this laptop dual boot both systems, I installed Windows in the first place, and then I installed Debian. I'm using GRUB as the boot manager. Here's some lines from my menu.lst file - you must change (hd0,1) for the relevant partition on your system:

splashimage=(hd0,1)/grub/mammatus.xpm.gz

title        Debian GNU/Linux, kernel 2.6.8
root        (hd0,1)
kernel        /vmlinuz-2.6.8 root=/dev/hda6 ro acpi=on vga=0x360
savedefault
boot

X setup


download and install NVidia drivers, follow the instructions of the readme file.

Truetype fonts: copy the fonts from your windows directory and paste them at /usr/share/fonts/truetype...
Screenshots of program configuration:
Configurations on KDE control panel
Configurations for true type fonts on KDE
Configurations for Mozilla Thunderbird
fonts config for openoffice

Power management

Works with ACPI.

Cpu frequecy scaling

One can check the various states by issuing "cat" commands to the relevant files at /sys/devices/system/cpu/cpu0/cpufreq. These files are (from Linux CPUFREq user guide):

You can then adjust the various parameters by "echoing" the relevant files. Just open a console and use the following commands (you'll need administrator privileges):
If you're using the performance governor you can change the fastest and slowest frequencies, by issuing:

# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor To use the fastest speed
# echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor To use the slowest speed

Using the userspace governor, you can set your CPU frequency to one of the many supported by you CPU (check /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies). For instance, to set the the cpu freq to 900000, you should issue the commands:

# echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor (to set the userspace governor), and then:
# echo 900000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

Touchpad

You can use the Synaptics touchpad driver (need to compile evdev module).

Ethernet


Works with e100 module

Wireless network card

(from http://www.vicentgozalbes.com/index.php)

This is a ipw2100 wifi card. You need to download the firmware ipw2100-fw-1.3.tgz and decompress it in: /usr/lib/hotplug/firmware/
:/usr/src# tar -zxf ipw2100-fw-1.3.tgz
:/usr/src# mv *.fw /usr/lib/hotplug/firmware/

Now download the driver sources -  ipw2100-source_0.56-1_all.deb, install it and create the module (install module-assistant and debhelper):
 
:/usr/src# dpkg -i ipw2100-source_0.56-1_all.deb
:/usr/src# module-assistant a-i ipw2100


Now with modconf, install the modules for the wifi card:

:/usr/src# modconf

 Select: kernel/drivers/net/wireless/ipw2100
and then select all the modules for ipw2100 (ieee80211_crypt, ieee80211_crypt_wep, ieee80211, and ipw2100).

Sound


Works with ALSA and the SND_intel8x0 module. I also compilled support for SND_AC97_codec, SND_MPU401, OSS emulation, etc. Check my .config file.


Special keys

The 3 keys on the left of the laptop, can be configured and used through fnfx-client. Make sure you have a .fnfxrc file in you home directory

USB support

works with USB_IHCI_ECD module.

USB/Serial adaptor


I have an Aten UC-232A USB to serial adaptor, to enable to communicate with devices such as my Palm, my dive computer, or my GPS.


This adaptor works with the module pl2303 (USB support, USB Serial Converter support, USB Prolific 2303 Single Port Serial Driver.
In you kernel configuration include support for the module.

CONFIG_USB_SERIAL_PL2303=m


Nikon Coolpix 4500


The camera can be accessed just like a normal storage device, using the USB storage module. If you have no SCSI disks in your computer system you can access the storage of your camera as /dev/sda1. If you have one SCSI disk you can access the storage as /dev/sdb1, and so on.

Logitech Chordless desktop

It's a USB wireless keyboard and mouse, full of multimedia keys and stuff. You must install the hotkeys package to take advantage of all the special keys.

Infra red


Works with smsc-ircc2 module. You need to enable ISA support for the driver to show up in the kernel (thanks to Gabriel Guillon)...

# smcinit

and then:

# modprobe smsc-ircc2 ircc_cfg=0x8a ircc_dma=3 ircc_fir=0x130 ircc_irq=3 ircc_sir=0x3f8

I get this message:

Overriding FIR address 0x0130
Overriding SIR address 0x03f8
SMsC IrDA Controller found
IrCC version 2.0, firport 0x130, sirport 0x3f8 dma=3, irq=3
smsc_ircc_set_sir_speed(), Setting speed to: 9600
No transceiver found. Defaulting to Fast pin select
IrDA: Registered device irda0

I can then hotsync my Palm device with /dev/ircomm0.

Hardware sensors

Aparently this laptop comes with some hardware sensors (included with the Intel® 855PM Chipset), but they're disabled by Toshiba.

lm-sensors doesn't detect any sensors!!!

i2cdetect -l:

i2c-0 dummy    ISA main adapter    ISA bus algorithm

fcma-paneves:/lib/modules/2.6.8/kernel/drivers/i2c/chips# isadump 0x295 0x296
WARNING! Running this program can cause system crashes, data loss and worse!
I will probe address register 0x295 and data register 0x296.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

PC card/cardbus


# PCMCIA/CardBus support
#
CONFIG_PCMCIA=y
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_YENTA=y
CONFIG_CARDBUS=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_TCIC is not set


Firewire

Haven't tried it yet.

http://www.ict.tuwien.ac.at/ieee1394/opensource.html
http://www.linux1394.org/

SD card

I read somewhere that this uses a proprietary controller from Toshiba, so it's unlikely that this will supported :-(

Modem

This laptop has a software modem that can be used with slmodem-2.9.9.tar.gz  (available at linmodems.org):
 

:/usr/src# tar -xzf slmodem-2.9.9.tar.gz
:/usr/src# cd slmodem-2.9.9
:/usr/src# make; make install

Now install the package sl-modem-daemon_2.9.9-1_i386.deb that will create the necessary nodes:

:/usr/src#  apt-get install sl-modem-daemon_2.9.9-1_i386.deb

On my system this device is: /dev/ttySL0
Then you must reboot and configure the connections (for instance, with pppconfig).
 

Palm Zire 71


This Palm device can be used with Linux with the popular tools (jpilot, kpilot, etc.).

The modules to select depend on the connection you're using. I'm using either the infrared, the USB cradle, or the serial cable via a USB to serial connector, so these are the modules and decices I use:

Config_USB_serial_visor for the usb cradle connection (/dev/ttyUSB1)
CONFIG_USB_SERIAL_PL2303 for the usb/serial connection (dev/ttyUSB0)
CONFIG_SMC_IRCC_FIR
for the infra red connection (/dev/ircomm0)

Tunning the hard disk

Include these lines to your /etc/hdparm.conf file:
/dev/hda {
#    mult_sect_io = 16
#    write_cache = off
    dma = on
    transfer_mode = 69
    io32_support = 1
    keep_settings_over_reset = on
}

Add the following line to your /etc/rc.d/rc.local:

# Tune HDD
/sbin/hdparm -d1 -X69 -c1 -k1 /dev/hda  
# Tune CD/DVD drive
/sbin/hdparm -d1 -c1 -k1 /dev/hdc  

or modify the /etc/sysconfig/harddisks file accordingly.
(Be aware: Settings depend on your hardware).
Check settings with:

hdparm /dev/hda
hdparm /dev/hdc

kernel config (Debian way)

First you'll need to install the kernel sources:

#: apt-get install kernel-source-2.6.6

then

#: cd /usr/src  and decompress the archive:

#: tar xvfj kernel-source-2.6.6.tar.bz2

You should now have a directory (i.e. kernel-source-2.6.6) with the kernel sources in it.  If you have a /usr/src/linux link remove it with:

#: rm linux

Create a new link with:

#:  ln -s /usr/src/kernel-source-2.6.6 /usr/src/linux

Then, configure the kernel with:

#:  make menuconfig

After that, just build the kernel package with:

#:  make-kpkg buildpackage -rev Custom.1 kernel_image replace "Custom.1" by the name you want to give to you kernel package

Note:  You need to have the kernel-package .deb package installed or you'll get an error. If your build completes without any errors type:

make the modules with:

#:  make-kpkg modules_image

And install the new kernel image and modules you've build with:

#:  dpkg -i kernel-image-****.deb nvidia-kernel****.deb ipw2100-modules****.deb

Then edit you /boot/grub/menu.lst to include special options you need (like splash image, vga, acpi, etc.), and reboot your new kernel.

Set VGA=0x360 to get a 1280x800 console.

Java JRE/JDK Installation on Debian


See: http://www.debian.org/doc/manuals/debian-java-faq/ 

Java plugin for Mozilla-Firefox

The instalation of Java's plugin for Mozilla is quite easy.  You have to download the binary from Sun's web site, make a folder to install it to:

# mkdir -p /usr/lib/java/jre

and copy the binary file to the folder you've just created. The execute the binary file:

# ./j2re-1_4_2_06-linux-i586.bin

Then create the symbolic links on the Mozilla's plugin folder:

# cd /usr/lib/mozilla-firefox/plugins/
# ln -s /usr/lib/java/jre/1.4.2.6/plugin/i386/ns610-gcc32/libjavaplugin_oji.so

and

# cd /usr/lib/mozilla/plugins/
# ln -s /usr/lib/java/jre/1.4.2.6/plugin/i386/ns610-gcc32/libjavaplugin_oji.so


Then, edit the file /etc/profile e and include Java's path to your system's path:

e.g.: PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"

It should stay like this:

PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/java/jre/1.4.2/bin"
JAVA_HOME="/usr/lib/java/jre/1.4.2"


Speeding boot time (Exim4 problem)

I had a problem with my system, when not connected to my job's network, that made the computer stop for a long time during boot, while displaying a message like this: "Starting MTA:...".
It turns that I have Exim installed and configured in such a way that it would search for the mail server at startup. When not connected to the network it would take ages until it timed out.
I've just discovered a way to fix the problem. There are many other solutions (of course ;-), but this one worked out for me.

Edit your /etc/exim4/update.conf.conf file and set the option:

dc_minimaldns="false" to "true".

Files:

XF86Config-4
Kernel config
.fnfxrc

Links

Linux Mandrake 10 on a M30
Vicent Gonzalbes weblog  (in spanish)
Toshiba M30-404 Linux installation guide
Linux on a Toshiba M30-841 notebook
http://newsletter.toshiba-tro.de/main/
http://www.jeanpierre.de/m30/


http://www.nosoftwarepatents.com/
© Pedro Neves, 2005.