Debian on Acer Aspire 2012

Debian Sarge on the Acer Aspire 2012 WLMi Notebook

In this page i'll document my way to a well-tuned (hopefully soon) installation of Debian Sarge on my new Acer Aspire 2012 notebook.
Comments, questions and help on unsolved issues are welcome. You can reach me under jring_at_gmx.de. If you put Aspire in the subject, your mail will be scored up in my spamfilter...

Joachim Ring

Last Update 15 Oct 2004

Hardware Components

Status under Linux

Notes

Pentium® M Processor, 1.5 GHz

Works

No special procedure required during installation.

15.4" WXGA LCD Display

Works

Bright, fairly fast and great range of visibility

ATI Radeon Mobility 9700 graphics adapter

Works

Needs closed source driver if you want 3D acceleration.

512 MB memory - 2 DDR333 SO-DIMMS

Works

Why in hell did they put 2*256MB in there?

60 GB Toshiba MK6025GAS HD

Works

-

No Floppy

N/A

-

Internal Broadcom BCM4401 Fast Ethernet

Works

b44 module

Internal Intel 2200 BG Wireless Card

Works

native ipw2200 driver v0.12 works fine

Internal Intel 82801DB/DBL/DBM AC'97 Modem Controller

Not Tested

closed source driver loads fine - but not yet tested myself wether it works

QSI SDW-042 DVD+/-R/RW combo drive

Works

-

Intel 82801DB/DBL/DBM AC'97 Audio Controller

Works

works out of the box

Base Installation

When booting it up, i noticed an empty 10 gig fat32 partition called ACER-DATA at the end of the 60 gig hd, which looked like it was there for installing linux ;-)
So I chucked in a Debian Installer CD (the daily build from 29 Jul 2004) and went ahead. I used the 2.6 installer kernel, deleted the 10 gig partition and went through the base install cleanly. I chose grub to go to the MBR as it had recognized the windows partition fine and created an entry for it. After that i rebooted. Only to be quite disappointed when the bios complained about an invalid bootsector and refused to boot from the hd at all. Since the debian installer had not created a backup of the MBR before clobbering it (maybe it had but i didn't find it), i was back to the restore cd's from acer to get back to the system (no floppy drive in that bugger to boot from dos floppy). It duly warned me that they will blast the wole system (so what, not much on there anyways) but then it complained about some funny partition table entries and offered to fix them. I interrupted the restore process right after that and alas - i was facing a working grub prompt after that.
I'd definitly recommend using some other fdisk utility to create the linux partitions which doesn't screw up the part table, though. I went with the 2.6 kernel package from sarge current at the time:
cinemascope:/# uname -a
Linux cinemascope 2.6.7-1-386 #1 Thu Jul 8 05:08:04 EDT 2004 i686 GNU/Linux
I then did the standard desktop install with aptitude.

Hardware

cinemascope:/# lspci
0000:00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02)
0000:00:00.1 System peripheral: Intel Corp. 855GM/GME GMCH Memory I/O Control Registers (rev 02)
0000:00:00.3 System peripheral: Intel Corp. 855GM/GME GMCH Configuration Process Registers (rev 02)
0000:00:01.0 PCI bridge: Intel Corp. 855GME GMCH Host-to-AGP Bridge (Virtual PCI-to-PCI) (rev 02)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 83)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 03)
0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]
0000:02:00.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)
0000:02:01.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
0000:02:02.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05)
0000:02:04.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01)

Custom Kernel

I built a custom kernel today for the laptop. I started getting the 2.6.7 source package from debian and unpacking it:
# apt-get install kernel-source-2.6.7
...
# cd /usr/src
# tar xjf kernel-source-2.6.7.bz2
# ln -s /usr/src/kernel-source-2.6.7 /usr/src/linux
Then i put some unique extraversion line in the Makefile in order not to get modules, initrd and kernel image mixed up later.
For configuration i used make menuconfig (make xconfig wanted loads of strange gnome packets) and did some changes (mainly setting processor type to Pentium® M and setting the default cpufreq governor to userspace). You can have a look at my kernel-config here

After that i did compile it the debian way:
# make-kpkg --initrd kernel-image
# dpkg -i kernel-image-2.6.7-..._10.00.Custom_i386.deb
I made shure that to have the following options in grub's menu.lst file for the new kernel:
title           Debian GNU/Linux, kernel 2.6.7-07082004
root            (hd0,5)
kernel          /boot/vmlinuz-2.6.7-07082004 root=/dev/hda6 video=radeonfb:accel,mtrr ide0=ata66 ro
initrd          /boot/initrd.img-2.6.7-07082004
savedefault
boot
The option video=radeonfb:accel,mtrr tries to get an accelerated framebuffer using the builtin radeon fb support (i haven't tested wether it's actually accelerated but it looks fine until X starts. The ide0=ata66 switches of ATA100 mode (don't ask why, just check it yourself with hdparm).

Update 18 Aug 2004: I have unconfigured the whole framebuffer console support and rebuilt the kernel after getting the ATI closed source drivers to work. They lock up under certain circumstances when a framebuffer console is used. This config is here.

Networking

The Aspire 2012 sports 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

The ethernet was pretty easy, it was automagically detected and runs fine with the b44 module. The only glitch was the fact that the installer tried to configure eth0 (IP on firewire) which didn't work. But changing the interface name to eth1 in /etc/network/interfaces and doing ifconfig eth0 down plus /etc/init.d/networking start did the trick.

Intel 2200BG 802.b/g Wireless Lan

There is a project on sourcefourge to write a native driver for it but when i started to write this, it was not yet ready for primetime. There was reports of people who have had success with that chipset and ndiswrapper so i tried that. Of course one could also have tried linuxants driverloader for cash.

Native driver project under http://ipw2200.sourceforge.net/

Update 15 Oct 2004: tried v0.12 of the native driver today and am impressed as it's a lot faster than the ndiswrapper solution.

Steps:

download and unpack driver archive from http://ipw2200.sourceforge.net/.
enter driver directory
make
make install
download firmware archive from http://ipw2200.sourceforge.net/firmware.php and unpack in /usr/lib/hotplug/firmware
modprobe ipw2200

I used the same iwconfig stuff as for ndiswrapper (see below) except the interface is called eth2 instead of wlan0 now.
iwconfig eth2 mode Managed
iwconfig eth2 key restricted de:ad:be:ef:de:ad:be:ef:de:ad:be:ef:de
iwconfig eth2 essid SecretESSID
ifconfig eth2 up
ifconfig eth2 192.168.0.42
Oh, and the wireless radio on/off button/indicator seems to be hardware - it works fine...


Deprecated ndiswrapper solution from 4 Aug 2004 (maybe useful for somebody): I tried ndiswrapper today and got it to run thanks to some nice guy at LUG Frankfurt.

steps:
download debian packages from http://rigtorp.se/debian/unstable
At the time this was written these were the following but the version numbers might vary...

http://rigtorp.se/debian/unstable/ndiswrapper-source_0.8-1_all.deb
http://rigtorp.se/debian/unstable/ndiswrapper_0.8-1_i386.deb

and install them with dpkg -i.

download XP driver from ftp://ftp.vaio-link.com/pub/Vaio/WLAN/WLD_int_80129000.exe
and unzip it.

do ndiswrapper -i w22n51.INF in the XP driver directory

cd /usr/src/linux make-kpkg modules_image

dpkg -i /usr/src/ndiswrapper-modules...
modprobe ndiswrapper
iwconfig

YEAH!
By the way, the windows driver seems to be a bit picky about the time the WEP key is set at - you cannot associate with an AP an then configure WEP, you need to set the key first. Here's what works for me:
iwconfig wlan0 mode Managed
iwconfig wlan0 key restricted de:ad:be:ef:de:ad:be:ef:de:ad:be:ef:de
iwconfig wlan0 essid SecretESSID
ifconfig wlan0 up
ifconfig wlan0 192.168.0.42


Graphics

The Aspire 2012 has an ATI Radeon Mobility 9700 gfx card with 64MB and a 1280x800 WXGA lcd display. The quick'n'dirty way to get a picture is to use the framebuffer device. For later experiments there's the XF86 4.3.0++ radeon 2d support or the closed source 3d driver.

Framebuffer

The Framebuffer device is slow and the there's only 1024x768 resolution, but at least the scaling is pretty ok. Put vga=792 into your kernel parameter line and boot with framebuffer console. The corresponding XF86Config-4 file has been stolen straight from Knoppix - kudos to Klaus Knopper for it.

XF86 radeon driver (4.3.0 and later)

This one has decent 2d acceleration and is fine for anybody not keen on playing Unreal Tournament 2004 and the like or for those who shun non-free software on their box. Also now we can finally use the native WXGA resolution of 1280x800 points. I found a fitting modeline somewhere on the web. The XF86Config-4 file can be found here.

Proprietary ATI driver with 3D support

This driver supports 3D acceleration but is closed source. I've got it to run after another session at the local LUG. I used Flavio Stanchina's debian packages of the ATI driver which are available under http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html.
Everything went smoothly according to the instructions there. Benchmark scores seem to be a bit low with 1400 fps in glxgears and 250 with fgl_glxgears as compared to nvidia ones, but tuxracer runs nicely even with 600 MHz cpu clock - have not tried other games. Also the native driver will TOTALLY LOCK the system when switching from X-display back to a framebuffer console - since I had compiled in radeon fb support into my first kernel, i had to redo it to fix that.

Reference: http://www.ati.com/support/drivers/linux/radeon-linux.html?type=linux&prodType=graphic&prod=productsLINUXdriver

Interfaces

USB

The three USB2.0 interfaces worked fine out of the box. Tested with USB Mouse, Memorystick and HD.
cinemascope:/# lspci | grep USB
0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 03)

IEEE1394 / Firewire

There is a firewire interface on the machine - it seems to be recognized fine, when i find a device to connect to it, i'll try it and write about it.
cinemascope:/# lspci | grep Fire
0000:02:00.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)

Internal SD/Multimedia/Smartmedia Cardreader

Works fine out of the box as a USB mass storage device. Tested with Smartmedia Card.
cinemascope:/# lsusb
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 005: ID 0d7d:0240 Phison Electronics Corp. I/O Magic Drive
...

Infrared Port

SIR works (tested with irlan connection to my simpad)

- Set irda port to SIR mode in bios setup and Port: 0x03f8, IRQ: 4
- irattach /dev/ttyS0 -s
- cat /proc/net/irda/discovery
IrLMP: Discovery log:
nickname: Linux, hint: 0x4400, saddr: 0x64dd1f1a, daddr: 0x4653e0bd

Did not test FIR yet, does anybody know what module is used?

Cardbus/PCMCIA

Works fine out of the box. Tested with Prism2 based wifi card.
cinemascope:/# lspci | grep Card
0000:02:04.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01)

Modem: Intel AC'97 Modem Controller

Not tested yet, but there seems to be a closed source driver under http://www.smlink.com/main/item.php?ln=en&item_id=84&main_id=32.
cinemascope:/# lspci | grep Modem
0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
Update 14 Aug 2004: Christophe Vandeplas reported that the modem works fine under Suse 9.1 using above driver.
Update 11 Oct 2004: Being a bit bored on a train ride i compiled the closed source driver mentioned above (you still need to compile the wrapper stuff for your kernel). It loads fine and recognizes the hardware. The helper application slmodemd also works. But there was no phoneline on the train, so the test remains for later.

External VGA

Basically works fine. You need to connect the external display before booting and can set the mode (Clone or Ext. only) using Fn-F5 while under bios control. Didn't try funny stuff like dektop extension and the like yet. Anybody?

Update 11 Oct 2004: The closed source fglrx driver brings a thingy called ATI Control which allows to easily switch to clone mode (just need to restart X). It also claims to be able to do desktop extension but isn't.
I have however found a page on dual-head with the fglrx driver and tried it with good success. Config here

TV Out

Not tested yet.

Input Devices

Touchpad

The touchpad works fine with the XF86 driver for synaptics touchpads.
# apt-get install xfree86-driver-synaptics
and the following config (shamelessly stolen from Joan Tur. Eivissa's great page on Sid on the Travelmate 29x series.
The only drawback is that until now it stops working when the laptop is booted with an USB mouse. I've read that loading the psmouse module after the USB mouse is initialized might help. Unfortunately i'm not shure where it is loaded at the moment (initrd?) so i haven't tried that yet.
Anyways it is only a small glitch - usually there's no real need for the touchpad when the rodent is on the loose and if one really needs both, just connect it after booting and both work fine.

Keyboard

Not much to say here - except i have seen better keyboards, but since I'm no touch-typist...
Most of the stuff reached via the function keys seems no-go for now, exceptions are the display brightness, start and end-of-line keys and the display-off switch. There is drivers for the special keys on various Acer models, so there is hope. Will try sometime later.

Update 19 Aug 2004: Christophe Vandeplas got the acerhk driver to run.
Update 11 Oct 2004: I have also tried acerhk. Some stuff working some not (full key events for P1, P2, Bluetooth and WIFI-Key - none for Mail and WWW. Only switchable led so far is the Mail-key one)

Drivers which might work:
http://www.informatik.hu-berlin.de/~tauber/acerhk/
http://www.math.columbia.edu/~jensen/linux/acertm/

Mobile device issues

Power and saving it

Unfortunately the speedstep-centrino module fails loading with some mumblings about unknown cpu with speedstep and please contact the author (which i haven't done yet - but Christophe Vandeplas did and got the answer from Jeremy Fitzhardinge that it is supported in 2.6.8.1-mm1). The good message is that controlling cpu frequency via ACPI works. So i loaded all the manufacturer-independent stuff in /lib/modules/2.6.7-07082004/kernel/drivers/acpi/ and installed cpufreqd via apt-get and it was cool'n'qiet...

Note that the also popular cpudyn doesn't believe it can change the cpu frequency even with the acpi option - we don't need to understand this:
cinemascope:/sys/devices/system/cpu/cpu0/cpufreq# cpudynd -acpi
cpudynd version 1.0 Copyright: Ricardo Galli 
cpudynd: CPU frequency control disabled
Error: Nothing to do, exiting

I haven't timed the battery yet but will do so soon.
Update 11 Oct 2004: I do try to preserve my battery so the only endurance test there is up to now is a 3.5 h train ride of misc. hacking - compiling - playing non-3d games with about 25% left after it. So it should be somewhere 4h++...
Oh, and one more thing, mplayer works fine with cpu scaled down to 600 MHz, so we should be able to enjoy a dvd or two on battery...