Emidio Planamente 's Homepage

Home GNU/Linux Programming Technology Sport Others Contact

Search

  Google linux


Debian

  Apt-get
  Debian Anatomy
  Debian Backports
  Debian Help
  Debian Planet
  Debian Swiss
  History of Debian
  Getdeb
  Kernel
  Kernel 2.6
  Packages
  Refcard for newbie
  Reference book
  SATA raid
  Weekly News


Official Docs

  Distrowatch
  Firewire
  Gimp
  Gimp Photo Archive
  Linuxdoc
  Linuxdoc Reference
  Linux Focus
  Linux From Scratch
  Linux Hacks
  Linux Hardware
  Linux Printing
  MySQL
  O'Reilly
  Rute
  Source Forge
  USB guide


Installation

  Instalinux
  Preseed


Laptop

  Linux on Laptops
  Linux Toshiba
  Tux Mobil


Live-CDs

  Create it Your self
  Knoppix
  Kororaa XGL 3


Pictures

  Bay13
  Gnomelook
  Kuznetsov


Security

  GNU/Linux
  PortsDB


Linux based product

  Dreambox


Free web service

  S5 presents


Against Micro$oft

  Combatti Micro$oft
  Microsuck


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


call


  alsaconf


select


  atiixp


that's it.


2.3. Framebuffer


2.3.1. Kernel


The following items are required for framebuffer support:


Under "Graphics support"


  - CONFIG_FB=y

  - CONFIG_FB_VGA16=m

  - CONFIG_FB_VESA=y

  - CONFIG_FB_RADEON=m


Under "Console display driver support":


  - CONFIG_VGA_CONSOLE=y

  - CONFIG_DUMMY_CONSOLE=y

  - CONFIG_FRAMEBUFFER_CONSOLE=y

  - CONFIG_FONTS=y

  - 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:


  vga=791


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

  savedefault

  boot


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:


  evdev (CONFIG_INPUT_EVDEV)

  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"

  EndSection


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


  /etc/latptop-netconf


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:


interfaces.default

interfaces.homewifi

interfaces.home


3.3.6. Files resolv.conf.xxx


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


resolv.conf.default

resolv.conf.home


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):


  CONFIG_ACPI

  CONFIG_ACPI_XXX


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):


  CONFIG_CPU_FREQ

  CONFIG_CPU_FREQ_STAT

  CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE

  CONFIG_CPU_FREQ_GOV_PERFORMANCE

  CONFIG_CPU_FREQ_GOV_POWERSAVE

  CONFIG_CPU_FREQ_GOV_USERSPACE

  CONFIG_CPU_FREQ_GOV_ONDEMAND

  CONFIG_CPU_FREQ_TABLE


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:


  owner=true

  group=true


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):


  CONFIG_ACPI_TOSHIBA


9.1.2. Package


The following packages are required:


  apt-get install fnfx-client fnfxd


9.2. Links


http://linux.toshiba-dme.co.jp/linux


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