Differences between revisions 34 and 35
Revision 34 as of 2008-09-04 11:05:56
Size: 14968
Editor: BenArmstrong
Comment: Add FixMe re non-model-specific things
Revision 35 as of 2008-09-04 11:50:51
Size: 13861
Editor: ?OzeLot
Comment: Suspend-to-disk moved to unspecific Configuration
Deletions are marked like this. Additions are marked like this.
Line 301: Line 301:

=== Suspend-to-disk ===
[OzeLot] Hibernation (suspend-to-disk) is easy on Debian/lenny with 2.6.26-kernel, when a swap-partition is active. This is an example:

Create a swap partition of 512 MB:

{{{
cfdisk /dev/sdb --> New --> Type 82 Linux Swap --> write --> reboot}}}
Make an entry in /etc/fstab, if sdb2 should be your new swap-partition:

{{{
/dev/sdb2 none swap sw 0 0 }}}
Format the swap space:

{{{
mkswap /dev/sdb2 }}}
Make active with:

{{{
swapon -a or reboot }}}
Install acpid, eee-acpi-scripts (the latest version from sid), uswsusp and pm-utils. splashy is not nescessary at this moment.

If you want to use the swap-partition primarily for hibernation, make this entry in /etc/rc.local (somewhere before exit 0):

{{{
sysctl -w vm.swappiness=1 }}}
You should now be able to hibernate with the root-command s2disk. A compressed image of your system-state is written to the swap and then the eeepc 901 shuts down. The image is loaded again by Power ON.

Suspend-to-disk lasts 20 seconds and resume 25 seconds on my system.

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.

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.
  • 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 .

  • 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 runn

#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!

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 its not already

#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 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

im 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 :)

your now you need to reboot.

after the reboot checkout 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 its just really distorted
  • Recording: Digital. this is the record level for the external mic in. its alot quieter than the front mic even at 100%, prehaps were 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 to

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

a few more annoying things that ive found with the default install

*Iceweasle has an odd version of flash installed where the flash movies are replaced by 'play buttons', this stops a few things working i found. i found this thread which helped sort the issue http://forums.debian.net/viewtopic.php?t=29837&postdays=0&postorder=asc&start=0, quit iceweasel if its running and remove the odd version of flash

#apt-get remove swfdec-mozilla
#aptitude keep-all

the apt-get remove will complain about removing gnome but this is aparently a pseudo package and it was safe for me to hit y. not sure what aptitude keep-all does but they suggest to run it so i did, nothing bad seemed to happen. Next grab the latest flash from adobe and install it to /usr/lib/iceweasel when asked. now restart iceweasel and flash should be working a treat.

The other thing that bugged me about iceweasel was that it doesnt have backspace set as go back in history as default. i like this and to get it working type about:config in the address bar, you will be warned about it being dangerous to mess with these options but we're brave right? use the filter to search for backspace, you should get 1 result back called browser.backspace_action, its value was set to 2, setting it to 0 will make it become a back key again.