Gentoo Linux on the Siemens Fujitsu Lifebook P7010

2006-04-10
First of all, it is a cool piece, Siemens recommends it to the "modern woman" :-)

Battery lifetime is great (my P7010 is 2 years old and the standard battery lasts over 4 hours) and it is feather-light. Brilliant display, nice keyboard, etc. The best notebook i ever had (and i had quite some of them...).

  • Installing Gentoo
  • Boot from any Linux Live CD or floppy disks (Gentoo, Slackware, Knoppix, etc.), save (since you've payed for it!) the M$ fonts (can probably be found in /mnt/hda1/WINNT/Fonts/) somewhere as winfonts.tgz and finally remove EvilOS from your P7010. Aahhh... Feeling better? Then follow the guidelines on the Gentoo homepage.
  • Settings
    • X11
    • See this xorg.conf for the fancy dual screen usage and TV-out (SVHS) usage. It offers simultaneous different resolutions, background images, etc. for the internal and the external screen. Xinerama also works fine, but I don't use it. The clone layout does not work, i use this cool thing as a workaround. The WXGA resolution on the local flat panel (LFP) requires a patch. Use the sys-apps/855resolution package and put
          replace[0]="3c"
          with[0]="1280 768"
          
      into your /etc/conf.d/855resolution file and put the script into the boot level.
      (Non-Gentoo folks take the source:
      gcc -o i8xx_patch 1280patch-845g-855gm-865g.c
      Invoke i8xx_patch 3c 1280 768 once after reboot before you start X.)
    • VMWare
      • It wants netscape as browser: ln -s /usr/kde/3.3/bin/konqueror /usr/bin/netscape
      • For higher resolutions install VMWareTools
      • For shared local folders enable folder in VM->Settings->Options->SharedFolders and in VMWareTools
    • QEMU
    • Actually i don't use VMWare anymore, i use QEMU. It is somehow more transparent and easier. Be sure to use the Win2k hack when installing weendoze2k.
    • Kernel configuration
    • I currently use linux-2.6.15-gentoo-r1. I had a lot of pain with the previous versions, but this one is fine. See my .config. With this, USB 1.1 and 2.0, Palm Pilot sync, internal Modem, ALSA Sound, Ethernet, IEEE1394 external harddiscs, PCMCIA, ACPI, IRDA, WLAN, USB memory sticks, CF card slot, etc. works fine.
      There is no driver for the SD/MS slot (neither the kernel MMC module nor the sdhci module works, since it is the wrong Ricoh chip...).
      Memory suspend works like a charm (even with KDE running), all drivers survive this. Make sure that the /usr/src/linux link points to the correct kernel sources (IPW2200, VMWare, SLMODEM and QEMU packages want this and need a re-emerge with every kernel-upgrade!)
    • Modules
    • See my /etc/modules.autoload/kernel-2.6 file and tweak the firewire driver by putting
          options ieee1394 disable_irm=1
          options sbp2 serialize_io=1
      into the /etc/modules.d/1394 file and invoking update-modules. This is needed to make external 1394 hard discs work reliable under a 2.6 kernel.

    • System
    • See my /etc/make.conf for USEful flags.
  • Frequency scaling
  • Works fine with cpufreqd. Use this /etc/cpufreqd.conf in order to automatically switch between 600MHz, 800MHz and 1100Mhz, depending on the CPU load, the battery state and the AC power connector. Note: I do not switch to full speed even while being AC powered, unless the CPU load goes over 80% since i want to avoid hearing the fan. But i have to admit that i still can't get real control over the fan...
  • IRDA
  • It does not come with an IRDA interface (arrgghh!) so i plug in a fancy SigmaTel IRDA USB dongle that uses an STIr4200 chip (supported by the standard 2.6 kernel) in order to go on-line via GPRS & mobile phone.
  • WLAN
  • It has an Intel Pro Wireless 2200bg card on board: emerge ipw2200
    Use /etc/iftab to rename your network interfaces:
        wlan0   driver ipw2200
        eth0    driver 8139too
        fiwi0   driver eth1394
        
    Link /etc/init.d/net.eth0 to net.wlan0 and do your setting in /etc/conf.d/wireless. I added a small (dhcpcd timeout) time-saving preup function to the gentoo net.eth0 bootscript that detects if an ethernet cable is plugged in or the radio frequency kill switch is activated:
    # bool preup(char *iface)
    #
    # checks wlan radio kill switch
    preup() {
            no_wireless=`/sbin/iwconfig ${1} 2>&1 | grep 'no wireless extensions.'`
            if [ "${no_wireless}" == "" ]
            then
    #                einfo "wireless..."
                    kill_active=`/sbin/iwconfig ${1} 2>&1 | grep 'radio off'`
                    if [ "${kill_active}" == "" ]
                    then
                            return 0
                    else
                            einfo "Radio Frequency Kill Switch is active!"
                            return 1
                    fi
            else
    #                einfo "wireline..."
                    plugged_in=`/usr/sbin/ethtool ${1} 2>&1 | grep 'Link detected: yes'`
                    if [ "${plugged_in}" == "" ]
                    then
                            einfo "Network cable not plugged in!"
                            return 1
                    else
                            return 0
                    fi
            fi
    }
        
  • Fonts
    • extract winfonts.tgz to usr/local/share/fonts
    • softlink the following font dirs with openoffice print manager:
      • /usr/local/share/fonts/TTF
      • /usr/lib/X11/fonts/TTF
      • /usr/lib/X11/fonts/Type1
  • Power Management
  • Suspend to memory works fine. Add acpi_sleep=s3_bios to your grub.conf. Take this /etc/acpi/default.sh to get the following functions:
    • Closing the lid locks the KDE session
    • Closing the lid without AC adapter puts the laptop into memory sleep mode
    • Pressing the power button shuts down the machine
  • Strange things
  • There are still some unresolved issues. If you have any solution, please contact me.
    • On the external sceen (in dual screen mode), VMWare full screen does not work. Does not bother me, since i use QEMU now.
    • The ALSA sound mixer: The main volume ruler and the mute button have no effect. Volume can only be changed with the PCM or headphone ruler/button. This is also reported here

      FIXED! add 'options snd-intel8x0 ac97_quirk=1' to your /etc/modules.d/alsa file.

  • Hardware Info
    • lspci
    • 0000:00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
      0000:00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
      0000:00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
      0000:00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
      0000:00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
      0000:00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
      0000:00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
      0000:00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
      0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)
      0000:00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
      0000:00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)
      0000:00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
      0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
      0000:00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
      0000:01:0a.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ab)
      0000:01:0a.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ab)
      0000:01:0a.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 03)
      0000:01:0a.3 System peripheral: Ricoh Co Ltd R5C576 SD Bus Host Adapter (rev 01)
      0000:01:0a.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter
      0000:01:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
      0000:01:0d.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)
          
  • Software
  • Not yet done
  • Will eventuall be solved, when i have more time (-> never?)
    • Hibernation to disk. I want to use encrypted swap and hibernation, and this is a bit tricky...
  • Links

  • ...Eventually every Linux user ends up with Gentoo...