gestreift.net  
Home arrow News arrow Hardware unter Linux arrow Linux @ Asus W6A
Linux @ Asus W6A Drucken
Asus W6A[english version] Mein neues Spielzeug ist das Asus-Notebook W6A. Es ist angenehm klein und leicht, bringt WLAN und Bluetooth ins Haus, sieht schick aus und hat interessante Beilagen wie z.B. eine USB-Maus mit fest integriertem Empfänger im Notebook.
 
technische Daten: Centrino, Intel® Pentium® M Prozessor 750, 13.3" Color Shine Glare Type WXGA-Display, 512 MB DDR2 PC533 RAM, 80 GB HDD, 10/100/1000 Ethernet, Bluetooth, 3x USB2.0, TV-out, Firewire, CardReader, 31.5cm x 22.6cm x 3.29cm, 1.86kg

Zusammenfassung

Komponente Status Bemerkungen
Intel(R) Pentium(R) M processor 1.86GHz funktioniert Speedstep geht auf Anhieb 
Intel(R) Mobile 915GM/GMS/910GML Express Graphics
funktioniert
erfordert 915resolution 
Intel(R) PRO/Wireless 2200BG funktioniert   
Realtek RTL-8139/8139C/8139C+  funktioniert   
internes Modem
nicht getestet
 
Bluetooth funktioniert  erfodert Patch
Intel(R) USB-Controller (UHCI und EHCI)
funktioniert   
Intel(R) High Definition Audio
funktioniert  snd_hda_intel model=asus
Cardbus (Ricoh Co Ltd. RL5c476 II)
nicht getestet   
CardReader (Ricoh Co Ltd. R5C822)  nicht getestet   
Firewire (Ricoh Co Ltd. R5C522)
nicht getestet   
 

Installation von Debian Sarge

Hier gab es keine Probleme. Ich habe gleich den 2.6er Kernel (Boot-Option: linux26) gewählt. Die einzige zu umschiffende Klippe war bei der Installation des X.org-Servers die 1280x800-Pixel Auflösung des i915-Chipsatzes - was dank 915resolution auch kein wirkliches Problem darstellte (Tip: Wenn man vor hat, mit einem XGA-Beamer zu arbeiten und via Strg + '+' auf 1024x768 Pixel zu wechseln, sollte man nachdenken und nicht gerade die 1024x768er Auflösung durch 915resolution mappen lassen :-)). Hier steht der relevante Teil meiner xorg.conf.

Framebuffer 

Um Framebuffer zu aktivieren hat man zwei Möglichkeiten: Entweder vesafb oder intelfb. Das intelfb jedoch nicht die WXGA-Auflösung bringt, ist vesafb die bessere Wahl. Kernelparameter:

vga=0x360 video=vesafb:mtrr,1280x800-16@72

Sound

Zwar spricht lspci von einem 'High Definition Audio Controller' und das ALSA-Modul snd_hda_intel läßt sich ohne Fehler laden, doch hört man so noch keinen Ton. Den gibt's erst, wenn man dem ALSA-Modul noch den Parameter model=asus mitgibt und die alsa-utils in einer Version größer oder gleich 1.0.10 installiert. Die Qualität ist in meinen Ohren aber nicht ganz so doll - weil sie unter Windows nicht besser ist, kann der Pinguin aber nix dafür. Der Regler, der sich auf die integrierten Lautsprecher auswirkt, heißt übrigens Front.

Bluetooth

Bluetooth sollte sich über ACPI aktivieren lassen - der entsprechende Punkt /proc/acpi/asus/bt fehlte aber. Ich habe den Patch von Fernando A. P. Gomes für das W5A etwas angepaßt (download) und auf den Vanilla-Kern 2.6.14.3 angewendet. Anschließend kann Bluetooth via 'echo 1 > /proc/acpi/asus/bt' aktiviert werden. Das Syslog meldet den Fund der neuen Hardware auch umgehend und die entsprechende LED leuchtet auf.

ACPI / Speedstep

ACPI spielt von Anfang an mit. Der Prozessor wird erkannt und Speedstep skaliert die CPU-Leistung hervorragend. Auch der Batterie-Status, die momentane Temperatur und der Zustand des Lüfters lassen sich einsehen. Letzterer ist leider immer an, jedoch nicht störend laut. Mit der aktivierten Kernel-Option 'Asus Laptop Extras' und dem Patch für Bluetooth gibt es zusätzlich das Verzeichnis /proc/acpi/asus zu sehen. Hier können Bluetooth an und aus (bt), die Helligkeit des Displays von 0 bis 10 (brn) und die genutzte Video-Ausgabe (lcd, disp) gesetzt werden.

/proc/acpi/event reagiert auf alle Sondertasten bis auf den WLAN-Schalter. Mit den Paketen acpid und osdsh steht Linux somit der Windows-Umgebung in nichts nach! Die von mir benutzten Hotkeys stehen hier.

Konfigurationen

/etc/X11/xorg.conf  (Auszug für Dual-Head-Option):

Section "Device"
        Identifier      "intel915-lcd"
        Driver           "i810"
        BusID           "PCI:00:02:00"
        Option          "MonitorLayout"         "CRT,LFP"
        Option          "DRI"                       "true"
        Screen          0
EndSection

Section "Device"
        Identifier      "intel915-vga"
        Driver           "i810"
        BusID           "PCI:00:02:00"
        Option          "MonitorLayout"         "CRT,LFP"
        Option          "DRI"                       "true"
        Option          "DevicePresence"       "yes"
        Screen          1
EndSection

Section "Monitor"
        Identifier      "monitor-lcd"
        HorizSync      28-49
        VertRefresh   43-72
        Option          "DPMS"
EndSection

Section "Monitor"
        Identifier      "monitor-vga"
        HorizSync      30-83
        VertRefresh   56-75
        Option          "DPMS"
EndSection

Section "Screen"
        Identifier      "lcd"
        Device          "intel915-lcd"
        Monitor         "monitor-lcd"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes           "1280x800" "1024x768"
        EndSubSection
EndSection

Section "Screen"
        Identifier      "vga"
        Device          "intel915-vga"
        Monitor         "monitor-vga"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes           "1024x768"
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier         "lapguin"
        Screen             0 "lcd"
        Screen             1 "vga" RightOf "lcd"
        InputDevice     "Generic Keyboard"
        InputDevice     "Synaptics Touchpad"
        InputDevice     "USB Mouse"
        Option            "Xinerama"      "false" 
EndSection

ACPI-Hotkeys:

event=hotkey ATKD 0000005[cC]Taster rechts neben dem WLAN-Schalter (bei mir: Bluetooth)
event=hotkey ATKD 000000[12].*Display-Helligkeit
event=hotkey ATKD 0000003[01]
Lautstärke, unter dem Cardbus-Slot
event=hotkey ATKD 00000051
Internet-Browser Taste (bei mir: WLAN an/aus)

WLAN-Skript (ein- / ausschalten):

#!/bin/bash

DEVICE=`cat /proc/net/wireless | grep ^[[:blank:]]*eth | sed -es/"^[[:blank:]]*\([A-Za-z0-9]*\):.*"/"\1"/`

if [ -n "$DEVICE" ]; then
        su -c "/usr/bin/osdctl -s 'WLAN wird deaktiviert'" <user>
        logger "shutting down wlan ($DEVICE)"
        /sbin/ifdown $DEVICE
        /sbin/rmmod ipw2200 ieee80211 ieee80211_crypt
        /etc/init.d/ifplugd restart
        su -c "/usr/bin/osdctl -s 'WLAN ist deaktiviert'" <user>
else
        su -c "/usr/bin/osdctl -s 'WLAN wird aktiviert'" <user>
        logger "bringing up wlan"
        /sbin/modprobe ipw2200

        DEVICE=`cat /proc/net/wireless | grep ^[[:blank:]]*eth | sed -es/"^[[:blank:]]*\([A-Za-z0-9]*\):.*"/"\1"/`

        IWCONFIG=/sbin/iwconfig
        $IWCONFIG $DEVICE key [1] xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx
        $IWCONFIG $DEVICE key [2] xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx
        $IWCONFIG $DEVICE key [3] xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx
        $IWCONFIG $DEVICE key [4] xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx
        KEY=`expr $RANDOM % 4 + 1`
        $IWCONFIG $WLAN key [$KEY]

        STATUS=`/usr/sbin/ifplugstatus eth0 | grep beat\ detected`
        [ -z "$STATUS" ] && /etc/ifplugd/action.d/lan_vs_wlan eth0 down
        su -c "/usr/bin/osdctl -s 'WLAN ist aktiviert'" <user>
fi