Differences between revisions 48 and 49
Revision 48 as of 2008-09-25 20:37:58
Size: 15425
Editor: ?psyche
Comment: question about two VOLUME_LABELs with alsa driver
Revision 49 as of 2008-09-29 11:54:45
Size: 15426
Editor: ?paul
Comment: Fixed path to /etc/acpi/actions/wireless.sh
Deletions are marked like this. Additions are marked like this.
Line 85: Line 85:
 * modify /etc/acpi/action/wireless.sh, below change to on section:  * modify /etc/acpi/actions/wireless.sh, below change to on section:

?TableOfContents

This page summarizes the status of support for models 901, 1000 and 1000H. Please do not use it as a bug tracking system. Instead, file bugs and apply model-specific usertags as described on ["DebianEeePC/Bugs/About"].

Please put no non-model specific information on this page. The general eee-configuration page can be found in [:DebianEeePC/HowTo/Configure].

Wifi

Debian package for rt2860

[liable] We are working on supporting the rt2860 driver. A working source deb is now available in the eeepc.debian.net repository. The name of the package is rt2860-source and can be fetched with apt-get or your favourite package manager once you have added the repo. Instructions for adding the repository are linked from the main page of the wiki.

This can be built with module-assistant or from the tarball it installs. The easiest way is a simple

m-a prepare
m-a a-i rt2860-source 

Then install the built deb file.

[?OzeLot] I had success building the rt2860-driver from rt2860-source_1.7.0.0-1_all.deb on Debian/lenny with 2.6.26 kernel.

Before I followed your recipe, I installed the debs build-essential, kernel-package, module-assistant and the linux-headers-2.6.26-1-686.

To build the rt2860 module from the sources I did:

m-a prepare
m-a a-i rt2860

and installed the resulting rt2860-modules-2.6.26-1-686_1.7.0.0-1+2.6.26-3_i386.deb.

To manage my eth0 and ra0 interface, I installed network-manager-kde on my eeepc 901 with KDE. Then you need just three definitions in /etc/network/interfaces:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto ra0
iface ra0 inet dhcp

The management does network-manager afterwards.

I confirm WPA1 AES connect to a (ralink) access-point.

[Mathijs] If you get the driver directly from the [http://www.ralinktech.com/ralink/Home/Support/Linux.html Ralink website] there is a bug causing the compilation process to fail with the error 'struct net_device' has no member named 'nd_net'. To fix this, edit the file 'os/linux/rt_main_dev.c' and change 'dev->nd_net' on line 804 to 'dev_net(dev)'.

Alternative installation methods

I followed the instructions on http://www.itwriting.com/blog/778-fixing-wi-fi-on-asus-eee-pc-901-with-linux.html which links to this driver from Ralink http://www.itwriting.com/DPO_RT28xx_60_LinuxSTA_V1.7.0.0_2008_07_15.tgz, it has special eee-pc bits in and is ready to compile once extracted, just run make and make install in the source dir.

You need to edit /etc/acpi/actions/wireless.sh and replace all instances of ath0 with ra0 and ath_pci with rt2860sta To get the wireless hotkey to display the correct message when on the OSD you need to edit /etc/acpi/actions/hotkey.sh, find the line (around 35)

if grep -q ath0 /proc/net/wireless; then

and change it to

if grep -q ra0 /proc/net/wireless; then

network-manager-gnome didnt work for me, it did not give me the option to use WPA encryption so I installed Wicd which works pretty well most of the time. Grab it from http://wicd.sourceforge.net/

Follow the instructions on the download page and remove everything from /etc/network/interfaces bar

auto lo
iface lo inet loopback

wikd should be in your apps->internet menu, you can now run it and connect to wireless AP's!

[?ArturCzechowski] With following version of involved software:

Linux jalapeno 2.6.26-1-686 #1 SMP Thu Aug 28 12:00:54 UTC 2008 i686 GNU/Linux
linux-image-2.6.26-1-686             2.6.26-4
rt2860-modules-2.6.26-1-686          1.7.0.0-1+2.6.26-4

Fn+F2 turns off the wifi, but turning on doesn't work. A lot of errors in dmesg: http://pastebin.com/f698965f9

After some messing up with configuration I finally got things work.

  • put into /etc/modprobe.d/for-wireless line:

options pciehp pciehp_slot_with_bus=1 pciehp_force=1
  • add pciehp to /etc/modules to load it at boot start
  • modify /etc/acpi/actions/wireless.sh, below change to on section:

    on|enable)
        if [ $(cat $wlan_control) = 0 ]; then
            echo 1 > $wlan_control
            # adding a sleep here, due to some bug the driver loading is not atomic here
            # and could cause ifconfig to fail
            sleep 1
            if ! ifconfig ra0 up; then exec $0 off; fi
        fi
        ;;

Alternatively you can apply following patch. Please note this patch also replaces device and module names.

--- wireless.sh.orig    2008-09-07 22:45:20.000000000 +0200
+++ wireless.sh 2008-09-07 22:41:08.000000000 +0200
@@ -6,20 +6,17 @@
 case $1 in
     on|enable)
        if [ $(cat $wlan_control) = 0 ]; then
-           modprobe -r pciehp
-           modprobe pciehp pciehp_force=1
            echo 1 > $wlan_control
-           modprobe ath_pci
            # adding a sleep here, due to some bug the driver loading is not atomic here
            # and could cause ifconfig to fail
            sleep 1
-           if ! ifconfig ath0 up; then exec $0 off; fi
+           if ! ifconfig ra0 up; then exec $0 off; fi
        fi
        ;;
     off|disable)
        if [ $(cat $wlan_control) = 1 ]; then
-           ifdown --force ath0
-           modprobe -r ath_pci
+           ifdown --force ra0
+           modprobe -r rt2860sta
            echo 0 > $wlan_control
        fi
        ;;

To apply the patch paste it into file, for example: /tmp/toggle-wifi.diff. Then run:

  • cd /etc/acpi/actions
  • patch -p0 < /tmp/toggle-wifi.diff

If there are no error messages content of /etc/acpi/actions/wireless.sh shall be OK. [?/ArturCzechowski]

Webcam

See [:DebianEeePC/HowTo/Configure#head-ed631b3e487f9437df8ac4d010ed55c7dae79503].

Hotkeys

If you want to see a message on your screen when you use a hotkey run apt-get install aosd-cat to install the OSD display'er. you then need to edit /etc/default/eeepc-acpi-scripts and change the following lines ENABLE_OSD='no' to ENABLE_OSD='yes'

If you are not going to install the latest alsa driver to get the front mic working you can change

VOLUME_LABEL='LineOut'
VOLUME_LABEL='iSpeaker'

to

VOLUME_LABEL='Master'
VOLUME_LABEL='Headphones'

See the section below about what to do if you are installing the latest alsa

Multiple monitors

For a description how to get multiple monitors running see [:DebianEeePC/HowTo/Configure#head-b1142e74e531a6f0315b0c809d587232a432204e].

Troubleshooting

this is detailed on another page but i had some issues getting the desktop to display over the two monitors so have pasted my xorg.conf and some more info below to help. Firstly install xrandr if it’s not already installed

#apt-get install xrandr

then edit /etc/default/eee-acpi-scripts, change the line COMBINED_DISPLAY_SWITCHES='--mode 640x480' to

COMBINED_DISPLAY_SWITCHES='--output VGA --auto --above LVDS'

next you need to edit your /etc/X11/xorg.conf here is my version

Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "kbd"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "gb"
EndSection
Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "synaptics"
        Option          "CorePointer"
        Option          "SendCoreEvents"        "true"
        Option          "Device"        "/dev/input/mice"
        Option          "Protocol"      "auto-dev"
        Option          "HorizEdgeScroll"       "1"
EndSection
Section "Device"
        Identifier      "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
        Driver          "intel"
        BusID           "PCI:0:2:0"
EndSection
Section "Monitor"
        Identifier      "Configured Monitor"
        Option          "DPMS"
EndSection
Section "Screen"
        Identifier      "Default Screen"
        Device          "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
        Monitor         "Configured Monitor"
        DefaultDepth    24
        SubSection      "Display"
                Depth   24
                Modes   "1024x600"
                #ADD LINE FOR MULTI DISPLAYS
                #this is 1024 wide by 1368 high (768+600=1368)
                Virtual 1024 1368
        EndSubSection
EndSection

restart X without your external monitor plugged in, hitting the hotkey (f+f5) should now activate your external monitor. If not then you can debug issues by running

#xrandr

as a normal user (or a user that has permission to run x stuff), this will give you an output from which you can tell which monitors are plugged in. Without external monitor plugged in:

Screen 0: minimum 320 x 200, current 1024 x 600, maximum 1024 x 1368
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected 1024x600+0+0 (normal left inverted right x axis y axis) 195mm x 113mm
   1024x600       60.0*+
   800x600        60.3
   640x480        59.9
TV disconnected (normal left inverted right x axis y axis)

With external monitor plugged in:

Screen 0: minimum 320 x 200, current 1024 x 600, maximum 1024 x 1368
VGA connected (normal left inverted right x axis y axis)
   1024x768       60.0
   800x600        60.3
   640x480        59.9
LVDS connected 1024x600+0+0 (normal left inverted right x axis y axis) 195mm x 113mm
   1024x600       60.0*+
   800x600        60.3
   640x480        59.9
TV disconnected (normal left inverted right x axis y axis)

Running the xrandr command with the options we specified in /etc/default/eee-acpi-scripts should also help you debug any problems

#xrandr --output VGA --auto --above LVDS

Front Mic

To get the front mic working you have to rebuild the alsa driver using the latest release candidate. grab it from here ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.18rc1.tar.bz2

Next you need to unpack it somewhere like /usr/src/ then build it. You may want to backup your old driver first

/usr/lib/2.6.25-2-686/kernel/sounds/pci/hda/# cp snd-hda-intel.ko snd-hda-intel.ko.stock
/usr/src/alsa-driver-1.0.18rc1# ./configure --with-cards=hda-intel --with-options=all
/usr/src/alsa-driver-1.0.18rc1# make
/usr/src/alsa-driver-1.0.18rc1# make install
/usr/src/alsa-driver-1.0.18rc1# ./snddevices

I’m not sure if the last step is necessary but i ran it anyway.

You can verify your new driver with

/usr/lib/2.6.25-2-686/kernel/sounds/pci/hda/# ls -l

Check that the date on the snd-hda-intel.ko is about the time you compiled it :)

Now you need to reboot.

After the reboot, have a look at your mixer settings with alsamixer or the gnome-volume-control, the channels have changed from the stock driver.

  • Playback: PCM. this is the master volume for the speakers
  • Playback: ?LineOut. this is the volume for the headphone socket

  • Recording: Capture. this is the record level for the front mic. it only seems usable at about 30% otherwise it’s just really distorted
  • Recording: Digital. this is the record level for the external mic in. It’s a lot quieter than the front mic even at 100%, perhaps we’re missing some ?MicBoost like the stock driver has.

To get your hot keys to work again you need to edit /etc/default/eee-acpi-scripts and change the mixer labels

VOLUME_LABEL='LineOut'
VOLUME_LABEL='iSpeaker'

to

VOLUME_LABEL='PCM'
VOLUME_LABEL='LineOut'

[psyche] Are you sure there should be two VOLUME_LABEL keys? I think for the second item should be HEADPHONE_LABEL='?LineOut'

You also need to add the line

I_SWITCH_LABEL='iSpeaker'

This should get the volume keys working again.

To get the mute key to work you need to edit /etc/acpi/actions/hotkey.sh. Comment out the line (around line number 50)

status=$(amixer get $VOLUME_LABEL | sed -n '/%/{s/.*\[\(on\|off\)\].*/\u\1/p;q}')

and add this line underneath it

status=$(amixer get $I_SWITCH_LABEL | sed -n 's/.*\[\(on\|off\)\].*/\1/;ta;d;:a;p;q')

Further down in the ‘# Fn+F7 -- mute/unmute speakers’ section, comment out the line

amixer -q set $VOLUME_LABEL toggle

and add instead

amixer -q set $I_SWITCH_LABEL toggle

You should now be all set.

Touchpad

See ["DebianEeePC/Model/900#Touchpad"].

Users

?JohnGoerzen has confirmed these things work on the 901:

  • X
  • Hardware ethernet
  • Wifi with above driver, including WPA2 and network-manager
  • Suspend/Resume
  • Hotkeys: suspend, brightness, others untested.

Performance seems to be better than the Xandros install.

?ThijmenDeGooijer has confirmed these things to work on the 1000H:

  • X also on external display
  • Hardware ethernet
  • Wifi with above driver, including WPA2 and network-manager
  • Sound output, recording untested
  • Suspend/Resume to disk
  • Hotkeys: suspend, brightness, volume control (after modifying VOLUME_LABEL in /etc/default/eeepc-acpi-scripts).

?IvanSanchez reports:

  • In order for the Wifi hotkey (Fn+F2) to work, /etc/acpi/actions/wireless.sh needs to be tweaked: replace "ath0" with "ra0" and "ath_pci" with "rt2860sta". Do this after installing the rt2860sta driver from the above link.
  • Bluetooth works OK, but only if enabled from the BIOS. There is no way (yet) of enabling/disabling it - the eeepc acpi module needs some patching (see http://forum.eeeuser.com/viewtopic.php?pid=304343). The bluetooth adapter is an USB device, much like the webcam.

  • Remember to install cpufrequtils to allow throttling, if you skipped tasksel (works like a charm with acpi_cpufreq).
  • ACPI events do work out of the box with 2.6.26 kernel — seems like the 901's ACPI implementation is less buggy than the 701's.
  • rt2860sta driver won't compile with 2.6.26 kernel (sid); use 2.6.25 (lenny) for the time being.
    • works for me - installed Debian Lenny with kernel from linux-image-2.6.26-1-686 version 2.6.26-4, I compiled rt-sta and I use it with no problems [?ArturCzechowski]

  • Internal microphone does not seem to work. Most probably the 901 suffers from theh same problem as the 900. See http://wiki.debian.org/DebianEeePC/Model/900#head-1ef9e12308f2364008cb9f9871633d94ea331159 .

    • That page says that it works on the 900 with Linux-2.6.26; does it also work on 901 when using that version of Linux ?
  • The four "silver" keys (in the silver strip where the power button is) throw an ACPI event. The hotkey.sh script should reference those keys to do something useful (e.g. toggle webcam/bluetooth on/off).
  • suspend/hibernate/resume works; X with external display works (hint: edit /etc/default/eeepc-acpi-scripts for a higher resolution); LAN works.

This doesn't seem to work out-of-the-box:

  • Display switching
  • Hotkeys: LCD off, others untested

Macks can confirm that on a 100H:

  • Works:
    • WLAN with above drivers
    • Hotkeys (after changing the /etc/default/eeepc-acpi-scripts)
    • Suspend etc.
    • ACPI etc.
    • Webcam
  • Doesn't work:
    • Front mic (haven't tried the newest alsa...)
  • Not tested
    • Bluetooth
    • Card Reader