LINUX (gentoo/ Ubuntu) + Fujitsu-Siemens AMILO M 1425


català

In general

Working fine, fan works moderately often but can be reduced with laptop_mode

NEWS!

I got EVERYTHING to work! If you're having troubles with the WLAN configuration, look ahead

NEWS! 29/Nov/2005

I also added a script to ease the wlan connection with grid points search

The usual stuff:


Processor

IntelPentium M (Centrino) 1.6 GHz

Memory

1 GB RAM

Harddisk

80 GB ST9808210A IDE Drive

Floppy drive 

I beg your pardon??

DVD-RW/CD-RW

NEC DVD+/-RW ND-6500A

Videocard

ATI Technologies Inc RV350 [Mobility Radeon 9600 M10] (3D necessita un fitxer comercial)

TFT display

1280x800

Soundcard

Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller

Firewire

Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)

Network

Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+

WLAN

Intel Corp. PRO/Wireless 2200BG

Modem

Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller

Touchpad

SynPS/2 Synaptics TouchPad

PCMCIA

O2 Micro, Inc. OZ711M1 SmartCardBus MultiMediaBay Controller

Multimedia bay

O2 Micro, Inc. OZ711Mx MultiMediaBay Accelerator – Doesn't work quite well

Special buttons

Mail, Browser (changed to hibernate), Mute volume, Increase volume, Decrease volume


Which distro?

Up to you. I started with gentoo and switched to ubuntu because I had not much time left to 
hack and the power management was giving some trouble (feasible, though), so I went to Ubuntu 
(most things just working out of the box) and hacked here and there (compiled kernel 2.6.13, 
re-arranged the special buttons). Still, if you have the time, I'd recommend in any case the gentoo 
install... you'll learn a lot!

I upgraded to ubuntu breezy and things are working like a charm!

Which WM?

enlightenment, of course

how? (only for ubuntu hoary)

First of all add this to sources.list

deb http://ubuntu.nooms.de/ hoary/

Also add this to /etc/apt/preferences (create if it doesn't exist)

Package: enlightenment
Pin: version 0.16.999.*
Pin-Priority: 999
Package: enlightenment-data
Pin: version 0.16.999.*
Pin-Priority: 999

Then we do

apt-get update
apt-get install enlightenment enlightenment-data

And now we have to modify GDM

Create the file enlightenment.desktop in /usr/share/xsessions/ like this

[Desktop Entry]
Encoding=UTF-8
Name=E17
Exec=/usr/bin/enlightenment
Icon=
Type=Application

Note: This is not even an alpha release but nevertheless I find it more solid and stable that kde or gnome... and it's really
enLIGHTenment... your CPU will be happy, and you too. What's more, it's flashy, rapid, stable and
smart. You can even have dynamic wallpapers!


Noise


The temperature sticks to 75 C all the time, which is wrong; lm-sensors do not support the motherboard
(look at /proc/acpi/thermal_zone/THRM/temperature)
This may be the reason for the fan to work so often. Anyway, you can improve it with this package: 
laptop_mode

Wireless connection

ipw2200 stuff

Note: For breezy this is not longer required, since it's per default in the install cd

We have to compile and install the latest ipw2200 1.0.6 driver from 
http://ipw2200.sourceforge.net  and we also have to install the firmware.

Since ipw2200 1.0.5, ipw2200 project does not include ieee80211 subsystem anymore,
so we also have to compile and install them from http://ieee80211.sourceforge.net.

Since we have to compile the driver from sources, we need the packages: build-essential,
gcc, linux-headers-myOwnKernelVersion.

So:

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install gcc
sudo apt-get install linux-headers-$(uname -r)

Note: if you have the kernel sources installed, you won't need the linux-headers. And
if you're running a custom kernel compiled by you, you won't need to install the packages
mentioned above.

First of all, follow these instructions to add extra repositories, which are always handy to 
have.

Here are the steps (for newbies: the following commands are supposed to be typed in the
same console session):

First of all, download the firmware from here.
Then install it:

sudo tar xvzf ipw2200-fw-2.3.tgz
sudo cp ipw-2.3-*.fw /usr/lib/hotplug/firmware/

Now download the latest ieee80211 subsystem from here.
Then untar it and change your current directory into the driver's one:

sudo tar xvzf ieee80211-1.0.3.tgz
cd ieee80211-1.0.3

Now run the remove-old.sh script that comes with the driver package in order 
to make sure that any old module is deleted:

sudo sh remove-old

Now download the latest ipw22000 driver from here.
Then untar it and change your current directory into the driver's one:

cd ..
sudo tar xvzf ipw2200-1.0.6.tgz
cd ipw2200-1.0.6

Now run the remove-old.sh script that comes with the driver package in 
order to make sure that any old module is deleted:

sudo sh remove-old

Now your system is clean and it's time to make and install ieee80211, so:

cd ..
cd ieee80211-1.0.3
make
sudo make install

Then make and install ipw2200 as well:

cd ..
cd ipw2200-1.0.6
make
sudo make install


Note: it seems there's currently a bug of remove-old script on some systems; if you
get errors when compiling ieee80211 about the presence of old modules, you'll have
to delete them manually, after having unloded all ieee80211* modules through
"modprobe -r module_name" (type "lsmod" to see the current loaded modules).

Using Wifi Protected Access (WPA)

Now we have to download and install the wpa_supplicant package:

sudo apt-get install wpasupplicant

Then you have to create a wpa_supplicant.conf in /etc, so:

sudo vi /etc/wpa_supplicant.conf

And paste the following lines in vi (:set paste):

ctrl_interface=/var/run/wpa_supplicant
network={
       ssid="your_network_name"
       scan_ssid=1
       proto=WPA
       key_mgmt=WPA-PSK
       psk="your_secret_key"
}

Anyway, there are further configuration examples in
/usr/share/doc/wpasupplicant/examples/wpa_supplicant.conf.gz.

Then reboot to make sure that the new modules are loaded successfully 
and type:

dmesg | grep ipw

to see if there are errors.
Then type the following command to configurate wpa_supplicant:

sudo wpa_supplicant -B -i eth1 -c /etc/wpa_supplicant.conf -D ipw -w -dd


Note: "eth1" is your wireless device. If you get troubles establishing the connection with the AP, try to
take the "-w" flag out.


Of course, if you have problems finding the AP and connecting to it, you have to
add "ap_scan=2" and "pairwise=TKIP", like the following:

ctrl_interface=/var/run/wpa_supplicant
ap_scan=2
network={
       ssid="your_network_name"
       scan_ssid=1
       proto=WPA
       key_mgmt=WPA-PSK
       pairwise=TKIP
       psk="your_secret_key"
}

Now we have to create a small script (I got this in the ubuntu forums, by fulco) 
in order to get wpa starting automatically at boot:

sudo vi /etc/init.d/wifi_wpa.sh


Here's the script:

#! /bin/sh
# wifi: wpa_supplicant init
echo " * [Wifi]: Enabling WPA supplicant..."
if [ -x /usr/sbin/wpa_supplicant ]; then
    /usr/sbin/wpa_supplicant -B -i eth1 -c /etc/wpa_supplicant.conf -D ipw -w
fi
exit 0


Change the script's permissions to allow it to be executed:

sudo chmod +x /etc/init.d/wifi_wpa.sh

And create a symlink to define the relative service:

sudo ln -s /etc/init.d/wifi_wpa.sh /etc/rcS.d/S40netwifiwpa

And that's it... it should run fine...

Establishing the connection

This took me a lot of headaches and troubles... I needed a long time 
to understand that the sequence of things is crucial to make it work... 
sad but true... I'm a poohead...

Make first sure that your firewall is not enabled

ps aux |grep firestarter

If you find it, then

pkill -15 process_number

Another alternative, which is what I usually do, is to stop it

firestarter -p

When your connection wlan is running you can restart it again with

firestarter -s

Just in case of,

ps aux |grep dhcpcd

And you do the same, kill it like before (the name could be dhcpcd-bin,
dhclient3 or dhclient)

Well now you have to be sure the sequence of things you do is THIS one:

ifconfig eth0 down

ifconfig eth1 up

iwconfig eth1 essid "the_name_of_your_essid"
dhcpcd eth1

And that's it! 

If you are using a wpa encryption key, then it will look a bit different

ifconfig eth0 down

ifconfig eth1 up

iwconfig eth1 essid "
your_network_name" key s:your_secret_key

dhcpcd eth1

One more thing: If you have a mac address filter on your router, be sure to 
upload the address of both devices, eth0 and wlan to it!

You can find the number like this:

ifconfig -a


The mac address is the number looking like this (in red)

eth0      Link encap:Ethernet  HWaddr 00:13:3D:6F:65:1H
inet addr:192.168.2.100 Bcast:172.126.1.255 Mask:255.255.255.0
inet6 addr: fe80::203:dff:fe1b:8017/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:181175 errors:0 dropped:0 overruns:0 frame:0
TX packets:93962 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:268155966 (255.7 MiB) TX bytes:5972294 (5.6 MiB)
Interrupt:9 Base address:0xc800

eth1 Link encap:Ethernet HWaddr 00:0T:19:5N:62:4Y
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:11 Memory:ffdfd000-ffdfdfff

A small shell script to do automatically all this stuff

(I'll keep imrpoving this, so come back in the future)

Since I don't feel like going through the whole thing each time I have to
look for a connection, I thought it'd a good thing to have a shell script 
doing this for me... which I call "Sense_fils.sh" (Catalan for "wireless") 
Well, here you have it. I assume your wlan interface is eth1 and your 
shell is zsh

#!/usr/bin/zsh

# Script "Sense_fils.sh". Stops firestarter, if running, also all possible dhcpcd
# connections and scans for possible networks, giving you the possibility of choising
# one of them and connect to it via wpa (ascii)
# Copyright Pau Amaro-Seoane and released under GPLv2:
# http://www.fsf.org/licensing/licenses/gpl.txt

# Check whether script talks to a person... errr... terminal

tty -s && stdin_is_human=1
tty -s <&1 && stdout_is_human=1


firestarter -p

killall dhcpcd
killall dhcpcd-bin
killall dhclient3

ifconfig eth0 down
ifconfig eth1 up

# list of available wireless connections (aka beams)
beams=( $(iwlist eth1 scan | grep ESSID | cut -d":" -f 2 | sed 's/\"//g') )
n_beams=$#beams

# chose a "beam"
if [[ -n $stdin_is_human ]] && [[ -n $stdout_is_human ]]; then
echo "Master, I've found the following beams to suit you:"
for (( i=1; i<=n_beams; i++ )); do
echo \ \ \[$i\] $beams[$i]
done

echo -n " Which beam do you want (1-$n_beams) ?"
read ibeam
echo ""
mybeam=$beams[$ibeam]
echo " You selected \"$mybeam\"... Very good choice! (what are you doing tonight?)"
echo -n " And... what about your password: "
stty -echo # prevent password to be echoed
read password
stty echo
echo ""
else
ibeam=1
ybeam=$beams[$ibeam]
password=""
fi

iwconfig eth1 essid "$mybeam" key s:$password

dhcpcd eth1

echo "Congratulations Master. You are connected to
\"$mybeam\". My pleasure"

The best thing to do is to put it into your local bin directory and run it as 
sudo or, better, in the sbin and call it as sudo (if you didn't set up a root
account yet):

chmod u+x Sense_fils.sh

sudo mv
Sense_fils.sh /usr/sbin/

rehash

wifi-radar

It's a nice gui to look for connection points... It's been added to the breezy 
repository and to the hoary one, I believe... so and apt-get install wifi-radar 
will do it. Nevertheless I don't get it to connect to the networks... So I

prefer the script (see above)

Anyway, just in case of:

Donwload the program from http://www.bitbuilder.com/wifi_radar/

The usual procedure,

tar -xzvf wifi_radar-last-version.tar.gz
mkdir /etc/conf.d/
cp wifi_radar.svg /usr/share/pixmaps/wifi_radar.svg

Now use vi wifi-radar.py

And modify the top of the file like this:

# Defaults, these could be different for your distro.
CONF_FILE = "/etc/conf.d/wifi_radar.conf"
IWLIST_COMMAND = "/sbin/iwlist"
IWCONFIG_COMMAND= "/sbin/iwconfig"
IFCONFIG_COMMAND= "/sbin/ifconfig"
DHCP_COMMAND = "/sbin/dhclient"
ROUTE_COMMAND = "/sbin/route"
SAY_COMMAND = "/usr/local/bin/say"

We configurate to program as root:

./wifi-radar.py --config

And that's it... Normal users can call the application from an xterm

Hot keys

Cool... and enabled per default with breezy...

how?

apt-get install hotkeys

Edit vi amilo1425.def in /usr/share/hotkeys:

<definition>
<config model="Fujitsu Siemens Amilo M1425 keyboard">
<userdef keycode="236" command="mozilla-thunderbird">Thunderbird</userdef>
<userdef keycode="178" command="/home/pau/bin/hiberna_ubuntu.sh">hivernant... 
me'n vaig a fer non-non</userdef>
<VolDown keycode="176" adj="2"/> <VolUp keycode="174" adj="2"/> <Mute keycode="160"/> </config> </definition>

As you can see, I've modified the "i" buttom to make the laptop hibernate. 
You'll need this also, which I put on my bin directory:

#!/bin/zsh
echo disk > /sys/power/state

Now edit also vi /etc/hotkeys.conf

Kbd=amilo1425

And, of course,

chmod ugo+wrx /sys/power/state


Ubuntu breezy thingy

As I said already, I've updated to breezy and a lot of thing improved: The 
microphone is working perfectly for me, for instance. Also all hot keys are working 
out of the box... Even when I am using a usb keyboard I can use the hotkeys from 
that keyboard to control the laptop! It's very nice. The last version of the
ipw2200 drivers were also in the default install

Breezy only gave me two problems besides this: hibernate (suspend to disc) and 
sleep (suspend to RAM). But this is an easy thing to solve.

For the sleep mode edit

/etc/default/acpi-support

and uncomment the second line by deleting the # character. Reboot your 
machine.  Suspend can be triggered by pressing the laptop's sleep button 
or choosing "suspend" from the GNOME logout menu.

For the hibernate mode remove the boot splash option of your box

vi /boot/grub/menu.lst

Just delet the word "splash" in the options

title Ubuntu, kernel 2.6.12-9-686
root (hd0,0)
kernel /boot/vmlinuz-2.6.12-9-686 root=/dev/hda1 ro quiet
initrd /boot/initrd.img-2.6.12-9-686
savedefault
boot

If  you want to add some non-free features to your laptop because you 
don't have any kind of ethic (I am 45% joking), try this:  easyubuntu; to download,
visit this site

I must say here that I am using this and still keep my ethic untouched, because I
am a good boy and already payed my fee to the Free Software Foundation this year
and think it's reasonable to use that kind of software while the good boys develope
a free version :)

NEW  --> Do-it-all for me: Zsh script <--

Here you are a script I use to do everything like a breeze. Change the user name

#!/usr/bin/env zsh

cd /tmp &&

wget http://www.aei.mpg.de/~pau/gartoon.tar.gz ; mv gartoon.tar.gz ~pau/.icons && tar xvfz ~pau/.icons/gartoon.tar.gz ;

sudo cp -p /etc/apt/sources.list /etc/apt/sources.list_ORIGINAL ;

wget http://www.aei.mpg.de/~pau/sources.list_dapper && sudo mv -f ./sources.list_dapper /etc/apt/sources.list ;

wget http://www.getautomatix.com/apt/key.gpg.asc ;

gpg --import key.gpg.asc ;

gpg --export --armor 521A9C7C | sudo apt-key add -

sudo apt-get update ;

sudo apt-get upgrade ;

sudo apt-get install zenity && sudo apt-get install automatix &&

automatix &&

sudo apt-get install sun-java5-jre sun-java5-plugin &&

sudo update-java-alternatives --set java-1.5.0-sun &&

sudo apt-get install flashplugin-nonfree &&

sudo update-flashplugin &&

wget -c http://www.users.on.net/~stubby/FrostWire-4.10.9-2.i586.deb &&

sudo dpkg -i FrostWire-4.10.9-2.i586.deb &&

# Googleearth
clear &&
echo -n "Instal.lem google earth ara; clica _exit_ en acabar"
sleep 3 &&
wget -c http://dl.google.com/earth/GE4/GoogleEarthLinux.bin &&
sudo sh GoogleEarthLinux.bin &&
sudo cp /usr/local/google-earth/googleearth.desktop /usr/share/applications/ &&

# Multimedia codecs

sudo apt-get install gstreamer0.10-ffmpeg gstreamer0.10-gl gstreamer0.10-plugins-base &&
sudo apt-get install gstreamer0.10-plugins-good gstreamer0.10-plugins-bad &&
sudo apt-get install gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly &&
sudo apt-get install gstreamer0.10-plugins-ugly-multiverse &&
sudo apt-get install w32codecs &&

# How to install DVD playback capability
#
# ironss: gstreamer dvd plugin is available as part of plugins-bad (or ugly?)
# and does not work reliably. However, Totem works with the xine backend to play
# back DVDs. This will keep you going until gstreamer gets dvd playback. Note
# that you do not have to install xine-ui or mplayer as suggested in

sudo apt-get install libdvdread3 &&
sudo /usr/share/doc/libdvdread3/examples/install-css.sh &&
sudo apt-get install totem-xine &&

# Potser no rutlle

sudo apt-get install libdvdcss2 &&

########################################### Xorrades

sudo apt-get install d4x azureus bittornado bittornado-gui amule skype streamtuner streamripper cowbell banshee audacity bum stellarium

########################################### Coses meues

sudo apt-get install zsh zsh-lovers vim-gnome xine-ui libxine-extracodecs dvdbackup libdvdcss libdvdread mjpegtools mkisofs play mplayer mp32ogg easytag inkscape nvu build-essential wine quanta k3b libk3b2-mp3 gparted firestarter ethereal gthumb mcrypt gv gnome-gv kpdf a2ps tetex-base tetex-extra tex-common latex-beamer xfig aspell maxima wxmaxima maxima-doc labplot gnuplot grace grip subversion gnubiff mutt gworldclock stopwatch wifi-radar xmame-x xmms xmms-skins &&

#xmms
wget -c http://easylinux.info/uploads/xmms-wma_1.0.4-2_i386.deb &&
sudo dpkg -i xmms-wma_1.0.4-2_i386.deb &&
#Associate XMMS to play MP3/M3U/WAV files
sudo cp /usr/share/applications/defaults.list /usr/share/applications/defaults.list_backup &&
sudo cp /usr/share/applications/defaults.list /tmp/defaults.list_tmp &&
sudo sed -e 's/audio\/mpeg=.*/audio\/mpeg=XMMS.desktop/g' /tmp/defaults.list_tmp > /tmp/defaults.mp3 &&
sudo sed -e 's/audio\/x-mpegurl=.*/audio\/x-mpegurl=XMMS.desktop/g' /tmp/defaults.mp3 > /tmp/defaults.m3u &&
sudo sed -e 's/audio\/x-wav=.*/audio\/x-wav=XMMS.desktop/g' /tmp/defaults.m3u > /tmp/defaults.list &&
sudo mv /tmp/defaults.list /usr/share/applications/defaults.list &&
sudo rm -f /tmp/defaults.* &&

#kino
sudo apt-get install kino &&
sudo apt-get install kinoplus &&
sudo apt-get install kino-timfx &&
sudo apt-get install kino-dvtitler &&
sudo modprobe raw1394 &&
sudo modprobe ohci1394 &&
sudo modprobe video1394 &&
sudo mknod -m 666 /dev/raw1394 c 171 0;
sudo chmod 666 /dev/raw1394 &&

#nessus
sudo apt-get install nessus &&
sudo apt-get install nessusd &&
sudo nessus-adduser &&
sudo ln -fs /etc/init.d/nessusd /etc/rc2.d/S20nessusd &&
sudo /etc/init.d/nessusd start &&

#rar
sudo apt-get install rar &
sudo ln -fs /usr/bin/rar /usr/bin/unrar &

#DVD Ripper (dvd::rip)
sudo apt-get install dvdrip vcdimager cdrdao subtitleripper &&
sudo ln -fs /usr/bin/rar /usr/bin/rar-2.80 &&
wget http://www.aei.mpg.de/~pau/dvdrip.desktop.txt &&
sudo mv ./dvdrip.desktop.txt /usr/share/applications/dvdrip.desktop &&

#extrafonts
sudo apt-get install xfonts-intl-arabic &&
sudo apt-get install xfonts-intl-asian &&
sudo apt-get install xfonts-intl-chinese &&
sudo apt-get install xfonts-intl-chinese-big &&
sudo apt-get install xfonts-intl-european &&
sudo apt-get install xfonts-intl-japanese &&
sudo apt-get install xfonts-intl-japanese-big &&
sudo apt-get install xfonts-intl-phonetic &&
sudo apt-get install gsfonts-x11 &&
sudo apt-get install msttcorefonts &&
sudo fc-cache -f -v &&

clear &&
echo -n "Ja esta. He instal.lat un fum de coses; ara reengeguem..."
sleep 3 &&
reboot


Download from here the very last version of the script. I keep on adding things.


Interesting things


My threads on the Amilo: threds@gentooforums  (look for "pau")

I'll keep improving this site. Come later...

The nice watermark gnu?

Comes from Drawingomme

Merci!

You've found this guide somehow interesting or useful?

Then drop me a few words... I'll be happy to know I've helped you.
If you find mistakes etc please do tell me

amaro.seoane -- something called "at"-- gmail.com

Linux On LaptopsTuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones