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