Differences between revisions 41 and 42
Revision 41 as of 2008-09-11 11:07:43
Size: 15151
Editor: ?PeterMoulder
Comment: Suggest linux-2.6.26 for mic problem
Revision 42 as of 2008-09-14 15:06:35
Size: 14972
Editor: BenArmstrong
Comment: Add intro describing purpose of this page
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Work on supporting the 901 and other Atom-based models (1000, 1000H) has commenced. We have a source package for the atl1e ethernet driver at http://eeepc.debian.net/ and are working on producing debs of this and rebuilding the installer to include them so that an ethernet-based install on these models will be possible.

A driver for the wireless hardware can be found at http://www.ralinktech.com.tw/data/drivers/2008_0708_RT2860_Linux_STA_v1.7.0.0.tar.bz2.
== Model 901/1000/1000H support status ==

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 http://wiki.debian.org/DebianEeePC/Bugs/About.

Model 901/1000/1000H support status

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 http://wiki.debian.org/DebianEeePC/Bugs/About.

FixMe: This page has many things that are not model-specific and/or are duplicated elsewhere in the wiki (e.g. m-a, linux-uvc tip, multiple monitors, suspend-to-disk, swfdec flash player). Please delete redundant material and update appropriate pages instead (/HowTo/Sound for 'front mic', for instance) leaving behind only the truly model-specific things (e.g. rt2860, special hotkeys). Thanks.

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.

Installer

?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

Hints and Tips from empika

webcam

You need to

# apt-get install module-assistant

this should also install the kernel headers needed to build the wireless drive. next run

# module-assistant auto-install linux-uvc

to install the right module for the webcam. Afterwards run

# echo 1 > /proc/acpi/asus/camera

You should now have a working webcam, test it with Cheese :D

wifi

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/action/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]

hotkeys, osd and misc bits

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

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'

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.