TuxMobil
site map · index a-z · search   





Resources


How to Install Debian/GNU Linux on the ASUS M2400N Laptop

Overview

I used a non-official install-cd image of the new debian-installer with xfs support (not yet included in official image).

So / is a xfs filesystem in /dev/hda3 (4GB), grub bootloader is installed in the MasterBootRecord, I installed kernel 2.4.24 initially and 2.6.2 soon thereafter. The -i386 kernels work, the -686 did lock up during boot.

The AmiBios version is 0206.



feature description works comment
cpu intel pentium m centrino 0.6 ... 1.4 GHz ok with -386 stock kernel
memory 256+512 MB (upgrade) ok.  
acpi   ok needs boot options and modules
graphics chip onboard intel i810/855GM ok needs XFree86 4.3
display 1024x768 ok  
touchpad synaptics ok package tpconfig
external usb mouse   ok needs modules
disk 40 GB Toshiba ok  
wireless lan   haven't tried as with all centrino chips, this needs ndiswrapper and the Windows drivers, or the drivers by linuxant.com (cost some money). Or someday Intel will publish native linux drivers, maybe.
ethernet 10/100 Mbit/sec ok module 8139too
dvd-rom   not tested  
cd-rom/r/rw Toshiba ok needs module ide-scsi with 2.4, ide-cd with 2.6 kernel
pcmcia   ok needs module yenta_socket
usb 2 ports usb 2.0 ok tested with memory stick and usb-storage
firewire   not tested modules load ok.
sound ac97 compatible ok OSS: i810_audio module, ALSA: to do
parport   not tested modules load ok
IrDA   not tested modules load ok, daemon starts ok, too
external display   not tested  
Function Keys Fn-5,6 change display brightness ok /proc/acpi/events works, no hacking
Powerbutton to shutdown ok with acpid
closing lid   ok does switch off display
suspend to ram   not tested  
suspend to disk   not tested apparently needs kernel patches (swsusp)

Initial Installation

I used an unofficial image of the new debian-installer in a variant including the xfs filesystem. I installed a minimal sarge system (did not run tasksel, did not install X) with bootloader "grub" installed into MBR (master boot record). I'm not going into details here, since the new debian-installer is still under heavy development.

Alternatively, install a woody minimal system, edit /etc/apt/sources.list to point to "testing" (currently same as "sarge"), and "apt-get update", "apt-get dist-upgrade" should get you to a working "sarge" system as well.

The network works out of the box (module 8139too) and is assumed functional for the rest of this article.

Edit /boot/grub/menu.lst to add vga=791 for more characters on the display.

  < # kopt=root=/dev/hda3 ro
  ---
  > # kopt=root=/dev/hda3 ro vga=791

run update-grub to activate these settings.

Install hdparm and run hdparm /dev/hda to check that DMA is enabled. hdparm -t /dev/hda does timed disk writes. The resulting rate should be larger than 20 MB/sec.

  pallas:~# hdparm /dev/hda
  
  /dev/hda:
   multcount    = 16 (on)
   IO_support   =  3 (32-bit w/sync)
   unmaskirq    =  0 (off)
   using_dma    =  1 (on)
   keepsettings =  0 (off)
   readonly     =  0 (off)
   readahead    = 256 (on)
   geometry     = 65535/16/63, sectors = 78140160, start = 0
  pallas:~# hdparm -t /dev/hda
  
  /dev/hda:
   Timing buffered disk reads:   82 MB in  3.05 seconds =  26.91 MB/sec
  

Neccessary changes can be made on the command line but will be lost during reboot. To make changes persistent over boot, add the settings to /etc/hdparm.conf

  /dev/hda {
        mult_sect_io = 16
        io32_support = 1
        dma = on
  }

Make ACPI work

Add the following acpi boot parameters into /boot/grub/menu.lst like described above.

  acpi=on acpi_irq_balance acpi_irq_isa=3,12

Add the following modules to /etc/modules

  acpi  ac  battery  button  fan  processor  thermal

Now reboot. Check that the modules are loaded, check that acpi if functional by playing with the LEDs on the front side:

  echo 1 > /proc/acpi/asus/mled
  echo 1 > /proc/acpi/asus/wled
  echo 0 > /proc/acpi/asus/mled
  echo 0 > /proc/acpi/asus/wled

Install a daemon to control cpu-speed (powernowd, cpufreqd, cpudyn, maybe more). I selected powernowd. Of course it needs a few more modules to run:

  speedstep-centrino cpufreq-powersave cpufreq-userspace

Load them with modprobe -v modulename and add them to /etc/modules. I have not yet checked, whether powernowd really does something. However, the daemon starts up without complaints.

Note: (20040222) I found that reading .pdf files with acrobat reader (embedded in mozilla) will push CPU usage to 100% (xserver process), will increase CPU frequency to 1400 MHz, and will power up the fan. Even though the CPU consumption is most probably a bug, it shows that powernowd does it's job, and CPU frequency is indeed adjusted.

To make use of the hotkeys and the powerbutton, install acpid. It will listen to /proc/acpi/event. Match patterns and actions are located in /etc/acpi. The powerbutton works out of the box and issues a init 0 when called. More examples are located in /usr/share/doc/acpid/examples.

Install XFree86-4.3

I didn't compile XFree86-4.3. Instead I found that it is available in the experimental section of the Debian apt repositories. My /etc/apt/sources.list contains these lines:

  deb http://artemis/apt-cacher/ftp.de.debian.org/debian stable main contrib non-free
  deb http://artemis/apt-cacher/ftp.de.debian.org/debian testing main contrib non-free
  deb http://artemis/apt-cacher/ftp.de.debian.org/debian unstable main contrib non-free
  deb http://artemis/apt-cacher/ftp.de.debian.org/debian experimental main contrib non-free

I also created the file /etc/apt/apt.conf:

  APT::Default-Release "testing";
  APT::Cache-Limit 10000000;

This marks testing as the preferred release (maybe sarge would be more appropriate). Now run apt-get update to fetch the latest package lists. To install a minimal set of Xfree86 run

  apt-get -t experimental install mdetect read-edid x-window-system-core xterm fluxbox

and watch the show. This is what I chose for configuration

  subpixel text rendering? yes
  autodetect hw ?          yes
  
  xkb ruleset              xfree86
  keyboard model           pc105
  keyboard layout          de
  keyboard variant         nodeadkeys
  keyboard options         ctrl:nocaps
  
  mouse detection?         yes
  mouse                    /dev/input/mice, ImPS/2
  emulate 3 buttons        yes
  enable scroll events     yes
  
  monitor autodetection?   yes
  LCD device?              yes
  hsync, vsync             leave defaults
  modes                    1024x768 800x600 640x480
  color depth              24

Note that the keyboard layout is pc105 (not pc104). Plug in the external usb mouse und run startx. It didn't work on the very first attempt, but with the second :-)

Note: (20040222) XFree86 4.3 has apparently made it into "unstable", so you should not need the "experimental" section any more for this.

Make the touchpad work

I found out that the so called synaptics package (not to be confused with the apt frontend synaptic) is available prepackaged as tpconfig, not to be confused with tpconf. So this was a piece of cake.

  apt-get install tpconfig

Make sure that the modules

  mousedev  psmouse  usbmouse

are loaded. If you run startx now, the touchpad and its 2 buttons should work. Note that the middle scroll button does not work (yet) with this package.

IMHO this is a good place now, to install all the stuff you want, ranging from anacron, ssh, to kde/gnome/xfce and the like. Just make sure to install the experimental (or unstable) packages for everything in the Xfree86 region.

USB

The USB mouse worked immediately. I also successfully connected a memory stick as a scsi device (module usb-storage). Note that the module names are different between kernel versions 2.4 and 2.6.

CD-R/RW writer

I learned that the use of ide-scsi is deprecated with kernel 2.6. Instead load ide-cd and use /dev/hdc to access the writer as well.

#/etc/fstab
  /dev/hdc        /cdrom          iso9660 ro,user,noauto  0 0

Test the CD-writer

  mkisofs -o test.iso -R -T -J /etc
  cdrecord -v dev=/dev/hdc -blank fast  # unless the CD is blank
  cdrecord -v dev=/dev/hdc test.iso
  mount /cdrom

  umount /cdrom
  eject

Everything worked well for me. Note that apparently not all CD-RW flavours are liked.

PCMCIA

The default i82365 driver failed to load, but yenta_socket loads. To make this change permanent, edit /etc/default/pcmcia accordingly.

If there is still an error message about this during boot, then most probably discover tries to load i82365. I removed the start link /etc/rcS.d/S36discover. However, I may remove discover alltogether.

While searching for the error I found out, that bootlogd is disabled and thus no /var/log/boot file is written, which also receives the error messages during boot. To enable, edit /etc/default/bootlogd

Suspend to Disk

If you want this to work, compiling a custom/patched kernel is the road to go. Check swsusp.sourceforge.net for patches and instructions.

Ethernet

In order to make different network connections easy, there is a number of packages available: laptop-net, laptop-netconf (which is a different package and not a configuration front end for the first :), guessnet, divine, netenv, and probably more. All of them try to accomodate different setups for ethernet in different locations (home, office, offline, abroad-with-modem, abroad-with-dsl, and so on).

I have laptop-net at the moment, for no particular reason.

Firewire (ieee1394)

module loads ok (ieee1394). Could not test myself.

IrDA

installed irda-common and irda-tools. Modules load ok, irattach service starts. But again, I cannot test.

Sound

OSS works out of the box (modules i810_audio, ac97_codec, soundcore).
ALSA I did not get it to work yet. The modules load ok, alsamixer displays and I can adjust the volume, xmms (configured to alsa output) will play something happily (watch the visual spectrum thingy), however: no sound.

Note that the CD-Rom will play AudioCDs even when the notebook is shut down. Buttons are on the front side.

Bottom Drawer

  • I found that with modest work the battery will last for more than 6 hours!
  • I managed to create a blowfish encrypted /home file system, which is cryptloop mounted. The key is stored on a USB stick. So it is only available if the stick is there initially. Maybe its possible to automatically unmount as well, if the stick is removed. (Linux Magazin 03/2004). The bad news is, it didn't survive the kernel update to 2.6.2 - it mounts fine with the older 2.6.0 kernel. :-(. So I'll wait for this to become stable.

Todo:

  • test whether the cpu frequency is really adjusted up and down. works ok.
  • check whether xfree86 is using framebuffer or not.
  • test IrDA connection
  • test firewire
  • get the middle button on the touchpad to work
  • test dvd-rom
  • maybe get WLAN to work, I don't need it so far
  • make ALSA sound work properly
  • make software suspend work properly
  • make crypto-loop mounted home filesystem again. Make them survive kernel updates

Files

  • /etc/X11/XF86Config-4
  • /etc/modules
  • output of lspci
  • output of lsmod (kernel 2.6.2)

/etc/X11/XF86Config-4

# XF86Config-4 (XFree86 X server configuration file) generated by dexconf, the
# Debian X Configuration tool, using values from the debconf database.
#
# Edit this file with caution, and see the XF86Config-4 manual page.
# (Type "man XF86Config-4" at the shell prompt.)
#
# This file is automatically updated on xserver-xfree86 package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xfree86
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
#   cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
#   md5sum /etc/X11/XF86Config-4 > /var/lib/xfree86/XF86Config-4.md5sum
#   dpkg-reconfigure xserver-xfree86

Section "Files"
	FontPath	"unix/:7100"			# local font server
	FontPath	"/usr/lib/X11/fonts/Type1"
	FontPath	"/usr/lib/X11/fonts/CID"
	FontPath	"/usr/lib/X11/fonts/Speedo"
	FontPath	"/usr/lib/X11/fonts/misc"
	FontPath	"/usr/lib/X11/fonts/cyrillic"
	FontPath	"/usr/lib/X11/fonts/100dpi"
	FontPath	"/usr/lib/X11/fonts/75dpi"
EndSection

Section "Module"
	Load	"GLcore"
	Load	"bitmap"
	Load	"dbe"
	Load	"ddc"
	Load	"dri"
	Load	"extmod"
	Load	"freetype"
	Load	"glx"
	Load	"int10"
	Load	"record"
	Load	"speedo"
	Load	"type1"
	Load	"vbe"
EndSection

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"keyboard"
	Option		"CoreKeyboard"
	Option		"XkbRules"	"xfree86"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"de"
	Option		"XkbVariant"	"nodeadkeys"
	Option		"XkbOptions"	"ctrl:nocaps"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
	Option		"CorePointer"
	Option		"Device"		"/dev/input/mice"
	Option		"Protocol"		"PS/2"
	Option		"Emulate3Buttons"	"true"
	Option		"ZAxisMapping"		"4 5"
EndSection

Section "InputDevice"
	Identifier	"Generic Mouse"
	Driver		"mouse"
	Option		"SendCoreEvents"	"true"
	Option		"Device"		"/dev/input/mice"
	Option		"Protocol"		"ImPS/2"
	Option		"Emulate3Buttons"	"true"
	Option		"ZAxisMapping"		"4 5"
EndSection

Section "Device"
	Identifier	"Intel Corporation 82852/855GM Integrated Graphics Device"
	Driver		"i810"
	BusID		"PCI:0:2:0"
	VideoRam	8192
EndSection

Section "Monitor"
	Identifier	"Generic Monitor"
	HorizSync	28-50
	VertRefresh	43-75
	Option		"DPMS"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Device		"Intel Corporation 82852/855GM Integrated Graphics Device"
	Monitor		"Generic Monitor"
	DefaultDepth	24
	SubSection "Display"
		Depth		1
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		4
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		8
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		15
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		16
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth		24
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
EndSection

Section "ServerLayout"
	Identifier	"Default Layout"
	Screen		"Default Screen"
	InputDevice	"Generic Keyboard"
	InputDevice	"Configured Mouse"
	InputDevice	"Generic Mouse"
EndSection

Section "DRI"
	Mode	0666
EndSection

/etc/modules

# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line.  Comments begin with
# a "#", and everything on the line after them are ignored.

# acpi
asus-acpi
ac
battery
button
fan
processor
thermal

# powernowd (speedstep)
speedstep-centrino
cpufreq-powersave
#proc_intf
cpufreq-userspace

# mouse/touchpad
mousedev
psmouse

# ethernet
8139too
#pppoe

# usb
uhci-hcd
ehci-hcd
usbmouse
usbkbd
usb-storage

# ieee1394 firewire
ieee1394

# cd-rom/r/rw
ide-cd

#ide-detect

Output of `lspci'

00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02)
00:00.1 System peripheral: Intel Corp.: Unknown device 3584 (rev 02)
00:00.3 System peripheral: Intel Corp.: Unknown device 3585 (rev 02)
00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 03)
00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 03)
00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 03)
00:1d.7 USB Controller: Intel Corp. 82801DB USB2 (rev 03)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 83)
00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corp. 82801DBM Ultra ATA Storage Controller (rev 03)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio Controller (rev 03)
00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem Controller (rev 03)
01:03.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev a9)
01:03.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev a9)
01:03.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 01)
01:04.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:05.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)

Output of `lsmod' (Kernel 2.6.2)

Module                  Size  Used by
snd_pcm_oss            47268  0
snd_mixer_oss          15872  1 snd_pcm_oss
agpgart                29608  0
md5                     3968  1
ipv6                  222144  8
ds                     15108  4
yenta_socket           15488  0
pcmcia_core            60512  2 ds,yenta_socket
irda                  171968  2
snd_intel8x0           28932  0
snd_ac97_codec         45956  1 snd_intel8x0
snd_pcm                87460  2 snd_pcm_oss,snd_intel8x0
snd_timer              22916  1 snd_pcm
snd_page_alloc         11140  2 snd_intel8x0,snd_pcm
snd_mpu401_uart         7040  1 snd_intel8x0
snd_rawmidi            22688  1 snd_mpu401_uart
snd_seq_device          7816  1 snd_rawmidi
snd                    46820  9 snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm, \
.                               snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device
soundcore               9696  1 snd
af_packet              20360  0
ipt_state               2048  2
iptable_mangle          2816  0
iptable_nat            21676  0
ip_conntrack           30128  2 ipt_state,iptable_nat
iptable_filter          2944  1
ip_tables              16384  4 ipt_state,iptable_mangle,iptable_nat,iptable_filter
dm_mod                 35104  0
ide_cd                 37508  0
cdrom                  34464  1 ide_cd
ieee1394               73392  0
usb_storage            58304  0
usbkbd                  6784  0
usbmouse                5376  0
ehci_hcd               22404  0
uhci_hcd               29456  0
usbcore                98396  7 usb_storage,usbkbd,usbmouse,ehci_hcd,uhci_hcd
8139too                22528  0
mii                     4864  1 8139too
crc32                   4608  1 8139too
psmouse                17160  0
mousedev                9684  2
cpufreq_userspace       5796  2
cpufreq_powersave       1920  0
speedstep_centrino      4868  0
freq_table              4356  1 speedstep_centrino
thermal                13456  0
processor              14372  1 thermal
fan                     4236  0
button                  6296  0
battery                 9612  0
ac                      5132  0
asus_acpi              10264  0
rtc                    11960  0
xfs                   516152  3
jfs                   156668  0
reiserfs              197488  0
isofs                  32184  0
ext3                  103720  0
jbd                    54168  1 ext3
sd_mod                 15520  0
ata_piix                7684  0
libata                 35840  1 ata_piix,[permanent]
scsi_mod              109112  3 usb_storage,sd_mod,libata
ide_disk               15872  5
ide_detect              1408  0
piix                   11680  1 [unsafe]
ide_core              144792  5 ide_cd,usb_storage,ide_disk,ide_detect,piix
unix                   25520  192
fbcon                  26176  0
font                    8576  1 fbcon
vesafb                  5452  1
cfbcopyarea             3968  1 vesafb
cfbimgblt               3328  1 vesafb
cfbfillrect             3712  1 vesafb

Links

Debian installer cd images gluck.debian.org/cdimage/testing/
Debian Homepage www.debian.org
Debian installer devel site www.debian.org/devel/debian-installer/
Suspend to Disk patchesswsusp.sourceforge.net
Most importantly check www.tuxmobil.org and references therein.
site of the original synaptics package
Also check out linux-on-laptops.com and references therein

This report is a courtesy to TuxMobil by by Erich Wälde.

Change History

2004-02-12 initial document
2004-02-22 added note: acpi/powernowd working, xfree86 4.3 moved to unstable

Page created with Emacs
by Erich Wälde.








print · i-mode · WAP · PDA
contact · imprint · privacy (P3P) · sponsors · RSS

© Werner Heuser 1997-2014 · http://tuxmobil.org/asus_m2400n2.html · last change Sun Jul 11 2010