Emidio Planamente 's Homepage

Home GNU/Linux Programming Technology Sport Others Contact


  Google linux


  Debian Anatomy
  Debian Backports
  Debian Help
  Debian Planet
  Debian Swiss
  History of Debian
  Kernel 2.6
  Refcard for newbie
  Reference book
  SATA raid
  Weekly News

Official Docs

  Gimp Photo Archive
  Linuxdoc Reference
  Linux Focus
  Linux From Scratch
  Linux Hacks
  Linux Hardware
  Linux Printing
  Source Forge
  USB guide




  Linux on Laptops
  Linux Toshiba
  Tux Mobil


  Create it Your self
  Kororaa XGL 3





Linux based product


Free web service

  S5 presents

Against Micro$oft

  Combatti Micro$oft

Free Site Counter
HTML validator CSS validator


Laptop micro howto

1. Introduction

2. Driver

3. Network

4. Security

5. USB ports

6. Power management

7. Media Player

8. Data sync

9. Toshiba special

10. About

1. Introduction

1.1. Why this document

I have written this document more for helping my self, but you could anyway found some useful informations.

Therefore, don't ask me why I treat only any specific hardware configuration. It's just because this is the hardware I have.

The whole document is based on my Toshiba Satellite P30-118 laptop, with the following configuration:

  Processor    : Pentium IV (hyperthreading)

  RAM          : 512MB RAM

  Harddisk     : 100GB HD

  Audio chipset: ATI IXP150

  Video card   : Mobility Radeon 9600

  Firewire     : VIA

  Wifi chipset : Atheros AR5212 802.11abg

  LAN chipset  : Realtek RTL-8139/8139C/8139C+

2. Driver

2.1. Integrated Wifi card

On my laptop, I have an Atheros chipset and its driver is called madwifi.

There is not an official Debian package at the moment, therefore a kernel compilation is required.

Compile the kernel:

  cd kernel-source-2.6.xx

  make-kpkg --append-to-version "-yourHost" --revision 1 --config old configure

Add unofficial repository to to sources.list:

  deb ftp://debian.marlow.dk/ sid madwifi

  deb-src ftp://debian.marlow.dk/ sid madwifi

Install required packages:

  apt-get install madwifi-source madwifi-tools

  cd /usr/src/

  tar xvzf madwifi.tar.gz

Compile driver:

  cd kernel-source-2.6.11/

  make-kpkg --append-to-version "-yourHost" --revision 1 --added-modules madwifi modules_image

Install new kernel with new driver:

  dpkg -i ../*.deb

Reboot with the new kernel

2.2. Audio

Worked automagically configuring alsa.

Install following alsa packages:

  apt-get install alsa-base alsa-oss alsamixergui





that's it.

2.3. Framebuffer

2.3.1. Kernel

The following items are required for framebuffer support:

Under "Graphics support"





Under "Console display driver support":





  - CONFIG_FONT_8x8=y

  - CONFIG_FONT_8x16=y

2.3.2. Grub

In order to automatically switch to a resolution of 1024x768 with 16 bit colors, add the following parameter to the /etc/grub/menu.lst file:


Here an example:

  title           Debian GNU/Linux, kernel 2.6.11

  root            (hd0,0)

  kernel          /boot/vmlinuz-2.6.11 root=/dev/hda1 ro vga=791



2.4. Touchpad

2.4.1. Kernel

The touchpad needs the driver alps.

This driver seems to be relatively new. It has been integrated in kernel 2.6.11. Therefore, if you have an older kernel, you have to apply the alps patch.

The following modules have to be loaded:


  psmouse (CONFIG_MOUSE_PS2)

Loading the psmouse will give such a message:

  ALPS Touchpad (Glidepoint) detected

   Disabling hardware tapping

It seems there is a bug using the psmouse module. When it is loaded the first time, the alps touchpad is not detected.

Some user have reported this bug is in the BIOS, some other have reported it is in the driver it self.

Anyway, just unloading and reloading this module seems to be a good workaround.

I have made a package which does extactly this job, so that after a startup the touchpad is correctly working without having to manually unload/reload the driver.

You can easily install it adding the following line in your /etc/apt/sources.list

  deb http://www.planamente.ch/emidio/debian testing main

and then calling

  apt-get update

  apt-get install emialps-setup

2.4.2. Library

The following package has to be installed:

  apt-get install xfree86-driver-synaptics

2.4.3. XF86Config-4

Add such a section in the file /etc/X11/XF86Config-4:

  Section "InputDevice"

    Driver        "synaptics"

    Identifier    "Alps Touchpad"

    Option        "Device"                "/dev/psaux"

    Option        "Protocol"              "auto-dev"

    Option        "LeftEdge"              "120"

    Option        "RightEdge"             "830"

    Option        "TopEdge"               "120"

    Option        "BottomEdge"            "650"

    Option        "FingerLow"             "14"

    Option        "FingerHigh"            "15"

    Option        "MaxTapTime"            "180"

    Option        "MaxTapMove"            "110"

    Option        "EmulateMidButtonTime"  "75"

    Option        "VertScrollDelta"       "20"

    Option        "HorizScrollDelta"      "20"

    Option        "MinSpeed"              "0.3"

    Option        "MaxSpeed"              "0.75"

    Option        "AccelFactor"           "0.015"

    Option        "EdgeMotionMinSpeed"    "200"

    Option        "EdgeMotionMaxSpeed"    "200"

    Option        "UpDownScrolling"       "1"

    Option        "CircularScrolling"     "1"

    Option        "CircScrollDelta"       "0.1"

    Option        "CircScrollTrigger"     "2"


and at the end of the same file:

  InputDevice "Alps Touchpad" "SendCoreEvents"

Download here my version.

The touchpad seems to work without any problem also if an external USB mouse is in use.

3. Network

3.1. Introduction about laptop-netconf

The network is one critical point for a laptop. This because it can be plugged in more very different networks, and each time the laptop has to be reconfigured.

A very elegant solution to this problem is offered by the package laptop-netconf. This package can find out on what network is it connected and automatically correctly configure it.

3.2. Installation

The installation is very simple:

  apt-get install laptop-netconf

3.3. How does it work

In the directory


there are the configuration files.

3.3.1. File opts

This file is responsible for the global configuration. Here are specified all the possible networks where the laptop could be plugged.

Download here my version.

3.3.2. File default

This is the file which is called when no one of the specified network has been found. This can be used for configuring the network with the DHCP service. Personally, I prefere using it to specifiy the laptop is in standalone mode (no network at all).

Download here my version.

3.3.3. File homewifi

This is the file which is called when my laptop is in my home network and the the wifi access point is available. In this case, only the wifi card is configured (the ethernet not!).

Download here my version.

3.3.4. File home

This is the file which should be called when my laptop is plugged in my home network, the wifi access point is not available (normally never) and the LAN cable is plugged in.

Since I could not find yet how to configure laptop-netconf to search on two different devices when searching for the network, I have given the priority to my wifi card. This means, laptop-netconf will search only on my wifi device. If the network is not found, the ethernet port will not be configured. I have to call it manually in this case.

Download here my version.

3.3.5. Files interfaces.xxx

When a network has been recognised, the suitable interfaces.xxx file will be copied to /etc.

Download here my versions:




3.3.6. Files resolv.conf.xxx

When a network has been recognised, the suitable resolv.conf.xxx file will be copied to /etc.



Since the /etc/resolv.conf file is the same for wireless access and LAN, I only have one.

Note, the resolv.conf.default file is empty, since no network is available.

4. Security

4.1. Data encryption

Since my laptop could be stolen, I have choosen to encrypt all my datas. In this case, one will have a nice laptop but at least without my personal datas. ;-)

A very easy to configure and enough sure tool is dm-crypt (dm-crypt-micro howto).

4.2. Dangerous services

I have reported here some of the services I could use to unintentionally share my datas with the whole world. Therefore, it is a good idea to enable such services only when necessary.

4.2.1. Service Apache Web Server

This is a complete web server.

I use it for testing my homepage during the development. Only if I see what expected, I upload my homepage to the web hosting.

Since I know what my server is offering to the network, it is permanently running on my laptop.

If you prefere, you can disable it and starting it only when necessary.

HOW???? I will investigate about this. @EMI: fixme

4.2.2. Service nfsd

This is the NFS (Network File System) daemon which is used to export partitions and/or directories.

Since it is not encrypted and there is not authentication, anyone could have access to the exported data as soon as it will be visible (e.g.: after have plugged the laptop in a public network).

Since I only export not sensible datas, it is permanently running on my laptop.

If you prefere, you can disable it and starting it only when necessary.

HOW???? I will investigate about this. @EMI: fixme

4.2.3. Service smbd

This is the Samba daemon which is used to export partitions and/or directories using the Micro$oft Netbios protocol.

I don't use it, since I don't have Micro$oft products.

4.2.4. Service sshd

This is the SSH (Secure Shell) daemon which is used to login from a third machine.

This service is enough sure, because it requires an authentication and the traffic is encrypted. Since normally, I don't use it in this direction (from my desktop PC to log in my laptop), but only in the other (from my laptop to my desktop PC), I have disabled it.

To disabling it:

  dpkg-reconfigure ssh

and don't select the answer

  "Do you want to run sshd server?"

5. USB ports

5.1. Drivers

There are many drivers for the USB ports, but if you install hotplug, it will load all the necessary drivers according your hardware and your connected USB devices (usb pens, usb harddisks, ...).

To install it:

  apt-get install hotplug

5.2. Mounting USB devices

For automatically mounting USB devices, take a look at http://emidio.planamente.ch/pages/linux_howto_usb.php.

6. Power management

Currently, there are the following power management possibilities: APM and ACPI.

APM stands for "Advanced Power management" and is the old power management.

ACPI stands for "Advanced Configuration and Power Management" and replaces APM. However, ACPI is not supported by old motherboards, in which case APM have to be used. This is not the case of the Satellite P30.

I have read somewhere, they can not be both active at the same moment!

6.1. ACPI

6.1.1. Kernel

The following modules are required by the kernel (modules or built in):



6.1.2. Package

The following package is required:

  apt-get install acpid

This will manage the power management.

This package is also required to completely turn off the computer doing a shutdown. Otherwise, the power button key has to be pressed when the system has finished shutting down.

Others interessting features of this package are:

- battery status

- possibility to do a shutdown just by shortly pressing the power button key

6.2. Frequency scaling

A good way to save power and therefore have more time at disposal before the accu is empty, is to reduce the processor frequency when speed is not required.

In order to do this, the following things are required:

- kernel support

- CPU frequency daemon

- applet (optional)

6.2.1. Kernel

The following modules are required by the kernel (modules or built in):









6.2.2. Daemon

My preferred daemon is cpufreqd, but fell free to use on other one.

If you want the cpu frequency and voltage are managed automatically according some specific rules, install:

  apt-get install cpufreqd

If you want the cpu frequency is maganed automatically according the cpu need, install:

  apt-get install cpudyn

There is also this last package, but it is the simplest one and not so powerfull like the others:

  apt-get install powernowd

6.2.3. Applet

For GNOME, the following package is required:

  apt-get install gnome-cpufreq-applet

You can now add the applet on your panel.

7. Media Player

7.1. DVD

7.1.1. CSS decoder

In order to decrypt DVD, a CSS decoder is needed.

Just add this line to /etc/apt/sources.list

  deb ftp://ftp.nerim.net/debian-marillat/ sarge main

and install it

  apt-get install libdvdcss2

7.1.2. Player

I very good player is xine. To install it:

apt-get install xine

7.2. MP3

7.2.1. Player

A very good player/orgranizer is rhythmbox, that also has a nice applet. To install both, just call:

  apt-get install rhythmbox rhythmbox-applet

8. Data sync

My laptop contains the same datas I have at home. This means, my data exists 2 times: on my laptop and on my desktop. Logically, they have to be kept in sync.

They are a lot of way to do this. I have choosen Unison-gtk, because it is easy to install (no kernel patches are required), easy to configure and I can have full controll (I can choose when, what, how).

I report anyway the other possibilities. Maybe, in the future, I will try some of them.

8.1. Distributed Network Filesystem

8.1.1. Codafs

Seems good, but is very old and I am not sure I can have full control of what happens (when are data syncronized, what happens when there are conflicts, ...).

8.2. Data sync tool

8.2.1. Unison-gtk

This is what I have choosen.

There are more way to use this tool. Each user could be responsible of syncronizing its own datas, but I don't like this solution, therefore I syncronize all the datas (of all users) as user root. In this way, I can be sure, the whole data are always the same in both desktop and laptop.

With my solution, to guarantee the owner and group are not changed to root, it is necessary to specify this in the configuration file.

Unison-gtk is a GUI that uses unison and does not have a configuration file. Therefore, the configuration has to be done for unison.

This means, for each profile (each data to sync, e.g: /home, /var/www, ...) created with unisong-gtk, a configuration file will be created in the ~/.unison directory. Each of them configuration file has to be modified with the following parameters:



Download here my profile for /home.

It's possible to syncronize the data via NFS or ssh.

The second one should run faster but requires the remote server has the same unison version.

9. Toshiba special

9.1. Toshiba keys

This laptop, has some special keys to control for example the display brightness, cpu fan, ... but not all are suported.

Taken from http://fnfx.sourceforge.net/index.php?section=doc:

There are a few laptops which do not have a Toshiba (e.g. Satellite P25-S520) but a Phoenix BIOS. These machines will fail on loading the Toshiba ACPI driver and hence will not be supported by FnFX.

I have to find out what I did to change the display brightness without this driver. @EMI: fixme

9.1.1. Kernel

The following module is required by the kernel (module or built in):


9.1.2. Package

The following packages are required:

  apt-get install fnfx-client fnfxd

9.2. Links


10. About

10.1. History

Version 1.6

  Changed "USB ports"

Version 1.5

  Changed "Audio"

  Added "Links" to "Toshiba special"

Version 1.4

  Fixed "Touchpad"

  Added emialps-setup to "Touchpad"

Version 1.3

  Added "Media Player"

Version 1.2

  Updated "Frequency scaling"

  Updated "Toshiba special"

Version 1.1

  Added "Power management"

  Added "Data sync"

  Added "Toshiba special"

Version 1

  First public release

10.2. Author

Emidio Planamente <eplanamente@gmx.ch>

Emidio Planamente

Last modified on 2006-01-12