Skip to content

Amilo Pro V3205

Linux On Laptops TuxMobil

Fujitsu Siemens Amilo Pro V3205 Debian Etch Installation Guide

Update 06/01/2008. Guide was completed with information on suspend/resume, powersaving, and related topics.
Update 02/01/2008. Added information on CPU frequency scaling and made small modification of the text regarding the graphics subsystem (framebuffer).
Update 02/01/2008. Added icon for tuxmobil.org.
Update 30/12/2007. SD/MMC card reader tested and functional.
Update 18/01/2007. Wireless stuff is now available from Debian repositories.
Update 03/12/2006. Added icon for linux-on-laptops.com.
Update. Change in 915resolution configuration for the onboard graphics card.

General Information

I got this notebook from my employer in spring 2006 (fortunately I could choose the model). My choice was based on its features, namely:

  • small and light (less then 2 kg was preferred, the unit has 1.8 kg including the battery
  • relatively cheap (tight budget :( )
  • reasonable battery life (it can last 2.5-4 hours on battery depending on what type of work I do)
  • supported in Linux

All of the conditions were met. Currently, there are some other options (Toshiba produces notebooks with similar specs, but with dualcore processors), however around that time this was the best option for me. I used Debian Testing official netinst CD. The installation went smoothly without any problems. Only graphics and wireless setup required some effort.

Should you have any questions you can try to contact me and ask, I will try to help. For contact information please consult my CV.

Hardware Configuration

Specs from the producer are available here

  • Intel Core Solo T1300 @ 1.66 GHz
  • Intel 945GM Chipset
  • 512 MB DDR2-SDRAM (extended to 1GB)
  • 60GB SATA(!) HDD
  • NEC DL DVD-RW
  • Intel 945GM graphics with shared memory
  • 12.1″ WXGA (?) - 1280×800
  • DVI(!) output
  • S-Video out
  • Intel 80281G High Definition Audio soundcard
  • Ricoh Co Ltd R5C822 4in1 card reader
  • Bluetooth v2
  • IEEE1394 port
  • 4 USB 2.0 ports
  • Intel ProWireless 3945 wireless card
  • Intel Pro/100 VE ethernet controller

Lsmod output is available here

Graphics and XOrg Configuration

The vga code for the kernel framebuffer device with resolution of 1280×800 should be vga=871. It can be added to the defopts section in /boot/grub/menu.lst.

This didn’t work for me, so I am currently using vga=791 (resolution of 1024×768). Another possibility is to run vbeprobe from the grub prompt, read the code for the desired graphics mode, add 0×200 and convert to decimal value.

In the X-Windows, the native resolution (1280×800) didn’t work, with xserver starting at 1024×768. It was necessary to install 915resolution from package collection and modify the /etc/default/915resolution file

# 915resolution default
#
# find free modes by /usr/sbin/915resolution -l
# and set it to MODE
#
MODE=58
#
# and set resolutions for the mode.
#
XRESO=1280
YRESO=800
#
# We can also set the pixel mode.
# Please note that this is optional, you can also leave this value blank.
BIT=

UPDATE
It seems that it’s no longer necessary to set the mode and resolution by hand. With the current etch 915resolution version (0.5.2-5), simply putting

MODE=auto
XRESO=
YRESO=

into the /etc/defaults/915resolution file is enough. The script itself seems to pick the right values from the lcd panel and sets the correct resolution.

Newer versions of xorg should allow for avoiding the 915resolution package completely, but I haven’t tested this myself.
END OF UPDATE

Then, Xorg (7.0) could be started using the native resolution (1280×800). For HW acceleration to work, it was necessary to use newer kernel (kernel version 2.6.15 wouldn’t provide the agpgart for the i945GM graphics card). 2.6.17 worked fine. Direct rendering is reported to work fine. However:

$ LIBGL_DEBUG=verbose glxinfo
name of display: :0.0
libGL: XF86DRIGetClientDriverName: 1.5.1 i915 (screen 0)
libGL: OpenDriver: trying /usr/lib/dri/i915_dri.so
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: drmOpenMinor returns 4
drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
...
ERROR! sizeof(I830DRIRec) does not match passed size from device driver
libGL warning: 3D driver returned no fbconfigs.
libGL error: InitDriver failed
libGL error: reverting to (slow) indirect rendering
display: :0 screen: 0
direct rendering: No

After reading this bugreport I downloaded the latest file for i915 (not for i810, although the driver used in xorg is i810!) from dri.freedesktop.org. Then I overwrote /usr/lib/dri/i915_dri.so from libgl1-mesa-dri and /usr/lib/xorg/modules/drivers/i810_drv.so from xserver-xorg-video-i810 with those precompiled files from tarball and dri acceleration seems to work (it works even after moving back original kernel modules). There is still some libGL warning, but that’s minor issue for me:

libGL warning: 3D driver claims to not support visual 0x23

The working xorg.conf file can be downloaded here. Please note that I have some extra content in the file, for example wacom-related stuff. You have to modify it accordingly to suit your needs.

Wireless Configuration

I followed the instructions from bibe’s page. I’m going to copy them here in case the original page is not available. Installation of the wireless LAN driver (ipw3945) requires

  • latest ieee80211 subsystem
  • driver itself
  • proprietary firmware
  • proprietary binary daemon

Installing the firmware and the binary daemon is a simple matter of (please note that the names of archives may change)

# tar zxf ipw3945-ucode-1.13.tgz
# cp ipw3945-ucode-1.13/ipw3945.ucode /lib/firmware/
# tar zxf ipw3945d-1.7.22.tgz
# cp ipw3945d-1.7.22/x86/ipw3945d /sbin/
# cat << EOF > /etc/modprobe.d/ipw3945
> install ipw3945 /sbin/modprobe --ignore-install ipw3945; /sbin/ipw3945d --timeout=-1 --quiet
> remove ipw3945 /sbin/ipw3945d --kill; /sbin/modprobe -r --ignore-remove ipw3945
> EOF
# echo ipw3945 >> /etc/modules

Please note that the firmware is already included in etch package collection, so its installation is a simple matter of

# aptitude install firmware-ipw3945

With 2.6.17 kernel from etch (2.6.17-2-686) the in-kernel ieee80211 subsystem is usable. It’s then only required to install the module (if you have any questions please consult first the INSTALL file in the unpacked source tarball).

# tar zxf /home/data/Software/Linux/src/ipw3945-1.1.0
# cd ipw3945-1.1.0/
# make
# cp ipw3945.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/
# depmod -ae
# modprobe ipw3945
# dmesg
# ps -C ipw3945d

It seems that the ipw3945 module can’t be loaded correctly at boot time. As a workaround, bibe wrote simple init script that unloads and reloads the module. You can install it and run it automatically:

# install -m 755 /path/to/ipw3945 /etc/init.d/
# update-rc.d ipw3945 start 40 S . stop 40 0 1 6 .

Just one comment concerning the driver itself. Quite often (but not always, which is puzzling), when the wireless is active during boot, the following error message is printed many times to the console (with approximately 1 second interval).

hub 1-0:1.0: connect-debounce failed, port 6 disabled

Despite this message, the wireless network is perfectly functional. After sufficiently long time (half an hour?) and filling the dmesg buffer :-(, the messages stop, followed by

usb 4-2: new full speed USB device using uhci_hcd and address 2
usb 4-2: configuration #1 chosen from 1 choice
Bluetooth: HCI USB driver ver 2.9
usbcore: registered new driver hci_usb

Information on the web states, that this message can be disabled my disabling the WiFi interface in BIOS. Then, however, the WiFi doesn’t work.

UPDATE
The official Debian Etch repositories now include all the stuff needed to get this wireless card running. Look for anything containing ipw3945 and install it, it should work (it does in my case). Please keep in mind, that you need to include also non-free repositories to get the regulatory daemon and firmware stuff.

Unfortunately, I cannot give you the detailed installation instructions, since everything was setup before according to the procedure outlined above. I just then installed the packages and everything worked.
END OF UPDATE

Sound Configuration

There is no problem with the sound output. Card is recognized and works with alsa automatically. There is small problem, though - the microphone doesn’t seem to work. There are controls in alsamixer, but any settings don’t allow the voice to be recorded, so I for example cannot use skype. Many people have the same problem, you can check google for ‘intel hda microphone’ or similar keywords. We just have to wait, I guess.

Other Peripherals

I didn’t play with onboard modem. Also I haven’t tested the card reader, since I don’t have any cards I could use for that. However, it seems from the lsmod output that the card reader is functional.
UPDATE
Just recently I finally had the chance to test the card reader with 1GB SD/MMC card from my digital camera. The hardware is (according to lspci output)

Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
Ricoh Co Ltd Unknown device 0843 (rev 01)
Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
Ricoh Co Ltd xD-Picture Card Controller (rev 05)

After plugging in the card, it was recognized as mmcblk0 device. It could be then mounted without any problem. Don’t forget to choose proper ‘partition’ (device) for the mount command! In my case I had to enter

mount /dev/mmcblo0p1 mount_point

It seems that the card itself had FAT32 filesystem - but it was detected and mounted automatically and I didn’t have to fiddle with that.
END OF UPDATE

Frequency scaling, hibernation, …

I got this information here. Despite the fact, that another notebook is described, the frequency scaling part applies to this computer as well. To make it functional, the following changes are needed (cpufrequtils package should be installed automatically). Put the following code to /etc/modules

speedstep-centrino
cpufreq_stats
cpufreq_ondemand
cpufreq_conservative
cpufreq_powersave

and modify /etc/default/cpufrequtils to read

ENABLE="true"
GOVERNOR="ondemand"
MIN_SPEED=1000000
MAX_SPEED=1667000

The values of the variables MAX_SPEED and MIN_SPEED should be set according to /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors.

For hibernate/suspend functionality, I am using the uswsusp from Debian package collection. Suspend (s2disk) to disk works fine. Unfortunately, the version in etch repositories (currently 0.3~cvs20060928-7etch1, as reported by dpkg -s uswsusp) doesn’t include full support for this notebook. Therefore, it requires the “-f” switch to force the suspend to ram (s2ram) operation. The application s2both (storing the system state on disk and then suspending to ram - useful to avoid problems when the battery discharges and system is suspended to ram only) seems to do only s2disk - it’s not possible to use “-f” switch (required for s2ram) here, and this is probably causing the problem.

After resume, I have sometimes problems with the WiFi card - it is not able to connect to the AP. Simple ifdown eth2; ifup eth2 helps here.

Another problem is the screen resolution after the resume. The 915resolution is not applied on resume and correct resolution (1280×800) is not set. This problem can be solved using specialized scripts for hibernation/suspend/resume functionality.

In /etc/hibernate directory make the following changes:

  • uncomment the following line in ususpend-ram.conf

    USuspendRamForce yes

    to force usage of s2ram
  • if s2both is working, uncomment the following line in ram.conf

    TryMethod ususpend-both.conf

    to try the use of s2both during suspend to ram (hibernate-ram)
  • uncomment the following line in common.conf

    Runi915resolution yes
    FullSpeedCPU yes

    to force 915resolution patch to be applied after resume and to switch CPU to full speed during while suspending

Now, the hibernate, hibernate-disk, and hibernate-ram commands should work flawlessly.

The powersaved package requires similar change in /etc/powersave. Just uncomment the line in file sleep

SUSPEND2RAM_FORCE="yes"

to pass the “-f” switch to s2ram.

The last thing necessary is to edit /etc/powersave/events according to your needs. In my case, I have

EVENT_BATTERY_CRITICAL="suspend_to_disk"
EVENT_BUTTON_POWER="suspend_to_disk"
EVENT_BUTTON_SLEEP="suspend_to_disk"
EVENT_BUTTON_LID_OPEN="ignore"
EVENT_BUTTON_LID_CLOSED="ignore"

Then everything works like a charm!