SuSE 9.2/Gentoo on the Acer TravelMate 4002 WLMi Notebook
In this page I'll try to document my way to a nicely configged
installation of SuSE 9.2 on my new notebook.
Some time ago I migrated to Gentoo, I won't rewrite the whole page,
but will add some usefull info.
Comments, questions and help on unsolved issues are welcome. You can send me
an email at christophe AT vandeplas DOT com
Christophe Vandeplas
ChangeLog
- 16 Now 2005: finally added info about the SmartBattery, and how to patch the dsdt.
- 16 Nov 2005: link to project for mailLED
- 04 Sept 2005: info about suspend2disk (hibernate)
- 21 Jun 2005: uploaded new lineak configuration files to make the Multiledia/Special keys working. Thanks to Antoni Villalonga for his mail containing keycodes and his hotkeys script. See below for config settings
- 27 Apr 2005: uploaded new xorg.conf file, works better with projector now. Start with: startx -- -layout "PROJ"
- 24 Apr 2005: TV out works, image is not perfeclty filling the screen, but it's ok
- 18 Apr 2005: compiled + patched fglrx, corrections in XF86Config, minor changes in text
- 16 Apr 2005: added info about SmartBatterySystem, compiled 2.6.11.4 kernel
- 15 Apr 2005: completed the XF86Config or xorg.conf file
- 09 Apr 2005: started this HOWTO
TODO
- Suspend to Ram and to disk and resume
- Hotkey buttons
- Infrared
- firewire
Index
Base Installation Hardware Kernel Networking BCM4401 Fast Ethernet Intel 2200BG 802.b/g Wireless Lan Graphics Interfaces IEEE1394 / Firewire Infrared Port Cardbus/PCMCIA Modem: Intel AC'97 Modem Controller External VGA TV Out Input Devices Touchpad Keyboard Mulitmedia/Special Keys Mobile device issues Smart Battery System Battery Times Suspend / Standby Thanks
Base Installation
I don't think I need to explain more than this: insert DVD, follow instructions.
An interesting thing is that apt4rpm rulez ! Howto here: http://linux01.gwdg.de/apt4rpm/
Hardware
Pentium ® M Processor, 1.6 GHz OK No special procedure required during installation.
15.4" WXGA LCD Display OK Bright, fairly fast and great range of visibility
ATI Radeon Mobility 9700 OK need Closed Source ATI driver for 3D accel.
512 MB memory - 2 X 256 OK
80 GB HD Ultra ATA OK
Panasonic Lion SmartBattery OK with acpi_sbs
Floppy N/A
Touchpad OK (need to configure in XF86Config)
IEEE 1394(firewire) ???
Broadcom BCM4401 Fast Ethernet OK b44 module (autodetected)
Intel 2200 BG Wireless Card OK ipw2200 (with proprietary firmware)
56k Modem ??? Closed source driver (slamr), "cant detect dialtone error"
Audio OK
Infrared Port ???
DVD Dual +- Burner OK
N/A = not available N.F.T = not fully tested ??? = not tested
Kernel
Networking
We have two network interfaces, a BCM4401 10/100 Mbit Ethernet interface and the new 11/54 Mbit Centrino WLAN chipset by the name of 2200BG.
BCM4401 Fast Ethernet
This device uses the b44 module, it's automatically detected and configured.
Intel 2200BG 802.b/g Wireless Lan
Native driver project under http://ipw2200.sf.net
The driver is included on the SuSE 9.2 installation DVD, BUT you need to connect to the internet to get the firmware. I downloaded the latest version from sourceforge and compiled it for my running kernel.
Gentoo: The latest version is in portage
Graphics
The newest version 8.19.10 should support suspend !
The TM 4002 has an ATI Radeon Mobility 9700 gfx
card with 64MB and a 1280x800 WXGA lcd display.
I'm using the closed source driver from ATI. Here ar the instructions:
Download the right rpm from the ATI website.
now check/install the folowing software
- glibc version 2.2 or 2.3
- XFree86 or xorg
- kernel source code
- kernel header(include) files
- GCC compiler
- Make utility
Then install the package using the following command:
rpm -Uvh fglrx_6_8_0-8.12.10-1.i386.rpm
UPDATE: I didn't have the problems with the latest driver, so discard the info about patching the code.
My modules didn't compiled. So I needed to do this myself.
I had some problems while compiling this fglrx version. After searching the web, I found some usefull patches. tm4002.fglrx.p1.patch and tm4002.fglrx.p2.patch.
cp tm4002.fglrx.p* /lib/modules/fglrx/build_mod/ patch < tm4002.fglrx.p1.patch; patch > tm4002.fglrx.p2.patch; chmox +x make.sh ./make.sh cd .. chmod +x make_install.sh ./make_install.sh modprobe fglrx
This builded my kernel module.
Now you can either choose to run the "fglrxconfig" command to generate a
new XF86Config-4 file, or just copy/analyse my file. XF86Config
(warning: the generated of the config file is really ugly! and badly
configged, it will need a lot of tweaking for inputdevices)
Gentoo:
emerge ati-drivers opengl-update ati
Interfaces
IEEE1394 / Firewire
I don't have a firewire device, so I can't test it. If you have tested it, please tell me if/how it works
Infrared Port
Not tested yet
Cardbus/PCMCIA
Works fine out of the box, yenta_socket module
Modem: Intel AC'97 Modem Controller
With the standard kernel the kernel module is already included, if you use your own kernel you need to compile the kernel module yourself.
You can find the drivers here.
SuSE had a little problem with the configuration of the modem. It thinks that the device is accessed at /dev/ttySL0, but the slamr module made a /dev/slamr0 block. By adding this to my /etc/udev/rules.d/50-udev.rules file udev did what I wanted him to do, unlease the power of udev.
"KERNEL="slamr* name="ttySL%n"
It seems that the modem doesn't detect the dial-tone. I can't find a solution at the moment
External VGA
Works fine, the best thing is to change the settings in your XF86Config file.
Here's a little cut from my config file
# === Screen Management ===
Option "DesktopSetup" "0x00000400"
# 0x00000000 for 2nd screen disabled
# 0x00000100 for identical screens
# 0x00000200 for wide screen
# 0x00000300 for high screen
Option "MonitorLayout" "LVDS, CRT"
# TMDS for DVI monitors
# CRT for CRT monitors
# STV for TV Out
# LVDS for Laptop Panels
TV Out
Works fine when you know how to configure it. I lost loads of time to discover that the TV should be set as primary screen to ahve it working. See my XF86Config file for configuration.
Input Devices
Touchpad
The touchpad works fine with the XF86 driver for synaptics touchpads.
If you want an example for the config have a look at my XF86Config file.
It works fine in combination with an USB mouse.
Pressing upper right corner = middleclick, lower right corner = right click
Keyboard
Some keys are working standard:
- screen brightness
- screen on/off
- mousepad on/off
- power button
Antoni Villalonga has send me an email with the keycodes for his TM4001WLMi and his configurations files for the KDE client of lineakd. Using e17 I had to finish (yes, I started these config files some time ago, but didn't finish it until today) the lineakd keyboard mapping and the lineak.conf file.
The keyboard mapping is here: tm4002.acertm4000.def, you need to copy the text into the /etc/linkeakd.def file.
In your /etc/init.d/boot.local file you should add a reference to the tm4002.hotkeys script that set the right keycodes in your kernel mapping. (need to run the script outside of your X)
Afterwards run:
# did you run the hotkeys script outside of your X? lineakd -c ACER-TM4000 # set the right keyboard lineakd -v # and test it by pressing the keys, finish by CTRL+C
MailLED
You can now copy my lineakd.conf to your ~/.lineakd/ home directory. Now run 'lineakd&' to run the lineakd daemon. (don't forget to add it to one of your run-on-X-login files so that it's automagialy loaded on login.
Johan Vromans hacked around and made a driver for the MailLED. Driver+info here
Mobile device issues
Smart Battery System
This battery is a kind of Smart Battery, unfortunately the kernel doesn't support it fully at the moment of writing. There is a solution: patchking your dsdt.
Read this gentoo-wiki page to know how to patch your kernel to load your own dsdt.
You can get my patched and compiled DSDT.aml
Before I recommended to use the acpi_sbs kernel module, but it is incompatible with recent kernels, and generates segmentation faults (I lost hours to discover that was the origin of my segfaults)
Battery times
Depending on the powersaving options you choose (cpu throttling,..) and the activity you can get 4 to 4:30 hours of battery work. If you know a script that simulates workload on the PC to estimate batterytimes, please send me an email.
Suspend / Standby
The suspend2disk works if you are not using the ATI proprietary driver.
Gentoo delivers the 'suspend2-sources' and 'suspend2-userui' ebuilts. Emerge them and configure your /etc/hibernate/hibernate.conf file. To hibernate enter 'hibernate' as root.
I edited my /etc/acpi/defaults.sh to hibernate when pressing the power button.
Another way is to use a normal kernel with the normal suspend. To enable that run 'echo -n disk > /sys/power/state'. Don't forget to unload your usb modules before entering hibernation. Here's the script I wrote when I used that system to go into hibernation.
#!/bin/bash MODULES="uhci_hcd ehci_hcd"; SWAPS="/dev/hda2"; # # start software suspend stuff # echo "Preparing to Resume"; chvt 1; # changing to virtual terminal 1 echo "- removing some modules"; for module in $MODULES; do # remove dangerous modules rmmod $module; done; # # goto softsusp # sync # ensure no dataloss echo -n disk > /sys/power/state # # resume normal stuff # echo -e "Returning from Resume"; chvt 7; echo "- reloading some modules"; for module in $MODULES; do # restore modules modprobe $module& done; # WARNING: remove this if you have to many applications open and your system is already swapping # I don't know what will happen when removing the swap if your ram is not large enough echo "- flushing swap"; for swap in $SWAPS; do # add swap again swapoff $swap && swapon $swap; done; echo "- restarting hotplug"; /etc/init.d/hotplug restart& # maybe not needed
Thanks
- me for writing this page :-)
- Werner Heuser for managing Tuxmobil (I've used it many times, and loads of other g33ks also)
- you for reading this page and sending your comments.