Eee PC

From FedoraProject

Revision as of 15:23, 27 September 2008 by Duli (Talk | contribs)

Jump to: navigation, search

NOTE: This page is work in progress. Take care what are you doing, if you decide to follow its instructions

Contents

Eee PC

The Eee PC has really taken the sub-compact pc market by storm. Although the bundled linux installation is interesting, Fedora is more our style. This page should contain all the needed quirks and notes needed to run Fedora perfectly on the Eee PC.

News

  • 2008-06-11 Fn+F5 Switch WORKS
  • 2008-06-10 New resume from suspend wireless FIX: handles both Wifi ON and OFF...so no problems with madwifi not loaded
  • 2008-06-10 New feature: Webcam ON/OFF switch in Fn+F6!
  • 2008-06-10 Fixed resume from suspend backlight issue, look at the new fix
  • 2008-06-10 Fixed fn Volume keys. Update your script
  • 2008-06-09 Enriching this wiki page with all fixes found by Duli and members of eeeuser forum.
  • 2008-02-14 Red Hat Magazine: Fedora + Eee PC = Eeedora

ACPI State of play

  • Fedora 8: Need to compile the asus_acpi module and use the Asus scripts that handle various functions, Volume Up, Volume Down, Wifi On/Off etc. Asus also provides their OSD code to notify the user that they have pressed a button.
  • Fedora 9: ships with a module called eeepc.ko - read the ACPI support in Fedora 9 to get it work.


Fn Buttons

  • Zz/Fn+F1 - Works as expected computer suspends
  • Wifi/Fn+F2 - read ACPI support in Fedora 9 to get it work.
  • BrtUp/Fn+F3 - Works. No OSD
  • BrtDown/Fn+F4 - Works. No OSD
  • SwitchDisplay/Fn+F5 - read ACPI support in Fedora 9 to get it work.
  • AP/Fn+F6 - Webcam Switch ON/OFF, read ACPI support in Fedora 9 to get it work. AccessPoint Mode? I don't think we need this. I was thinking about making this button use xrandr to switch on and off a scrolling Virtual Display. This should help if a large dialog box pops up off screen. (Originally this Fn Key was meant to open the task manager)
  • Mute/Fn+F7 - Works in Fedora 8 with Asus module. read ACPI support in Fedora 9 to get it work.
  • VolDown/Fn+F8 - Works in Fedora 8 with Asus module. read ACPI support in Fedora 9 to get it work.
  • VolUp/Fn+F9 - Works in Fedora 8 with Asus module. read ACPI support in Fedora 9 to get it work.

What does NOT work

What Fedora 9 gives you

  • Full linux experience (it runs VERY well with stock gnome)
  • Acceptable boot time
  • Fedora is a lifestyle :) always bleeding edge software for you!

Installing Fedora

  • Using DVD, you need an external DVD/CD reader
  • Using USB pendrive (at least 1 GB) take a look at the USB Howto page
  • Using USB pendrive, from Windows liveusb-creator

ACPI support in Fedora 9

Note : for security reasons, these instructions are not suitable on a production or critical environment. So use at your own risk.

Also, in new eee PC 901 there is no atheros anymore which was replaced by RT2860 Wireless (rt2860sta can be compiled from sources <http://www.ralinktech.com/ralink/Home/Support/Linux.html>).

Grant X access to local user root:

$ echo "xhost +local:root" >> ~/.bash_profile
$ echo "xhost -local:root" >> ~/.bash_logout
$ su --login
# echo "xhost +local:root" >> /etc/skel/.bash_profile
# echo "xhost -local:root" >> /etc/skel/.bash_logout

Let's load ACPI daemon into Fedora 9

su -
yum -y install acpid

Now we must start the ACPI daemon Bug has been reported

chkconfig acpid on
service acpid start


FN keys and events (fixed)

create these files Bug has been reported (fixed in rawhide)

gedit /etc/acpi/events/hotkeys.conf

paste this code:

event=hotkey ATKD .*
action=/etc/acpi/actions/hotkeys.sh %e

Create this file:

gedit /etc/acpi/actions/hotkeys.sh

Paste this code

#!/bin/bash

export DISPLAY=:0

case "$3" in

    #Fn+F2
    00000010)
        # Wlan On
        /etc/acpi/actions/wlan.sh poweron
        ;;
    00000011)
        # Wlan Off
        /etc/acpi/actions/wlan.sh poweroff
        ;;

    #Fn+F6
    00000012)
        # Webcam switch
        /etc/acpi/actions/camera.sh
        # TaskManager
	# /usr/bin/gnome-system-monitor
	;;

    #Fn+F7
    00000013)
        # Volume mute
	/usr/bin/amixer set -D hw:0 Master toggle
	;;

    #Fn+F8
    00000014)
        # Volume down
        /usr/bin/amixer set -D hw:0 Master 10%- unmute
        ;;

    #Fn+F9
    00000015)
        # Volume up
        /usr/bin/amixer set -D hw:0 Master 10%+ unmute
        ;;

    #Fn+F5
    00000030)

	/usr/bin/xrandr --output VGA  --mode 1024x768 \
			--output LVDS --off

	if [[ "$?" != "0" ]]; then

	/usr/bin/xrandr --output VGA  --preferred \
			--output LVDS --off

	fi
	;;

    00000031)

	/usr/bin/xrandr --output LVDS --mode 800x480 \
		        --output VGA  --mode 800x600

        ;;
    
    00000032)

	/usr/bin/xrandr --output VGA  --off       \
           		--output LVDS --preferred

        ;;
    *)
        logger "ACPI hotkey $3 action is not defined"
        ;;
esac

Other file:

gedit /etc/acpi/actions/wlan.sh

paste this code:

#!/bin/bash

PWR=$(cat /sys/devices/platform/eeepc/wlan)

UnloadModules() {
    rmmod ath_pci
    rmmod ath_rate_sample
    rmmod wlan_scan_sta
    rmmod wlan_tkip
    rmmod wlan_wep
    rmmod wlan
}

LoadModules() {
    modprobe ath_pci
}

case $1 in
    poweron)
        if [[ "$PWR" = "0" ]]; then
            modprobe pciehp pciehp_force=1

	    echo 1 > /sys/devices/platform/eeepc/wlan

	    rmmod pciehp

        fi
        ;;
           
    poweroff)
        if [[ "$PWR" = "1" ]]; then

            modprobe pciehp pciehp_force=1

            ifconfig ath0 down

            wlanconfig ath0 destroy

            UnloadModules

            echo 0 > /sys/devices/platform/eeepc/wlan

            rmmod pciehp

        fi
        ;;
esac

Webcam Switch file (NEW!):

gedit /etc/acpi/actions/camera.sh

paste this code:

#!/bin/bash

CAMERA=$(cat /sys/devices/platform/eeepc/camera)

        if [[ "$CAMERA" = "0" ]]; then
   	    echo 1 > /sys/devices/platform/eeepc/camera
         else
            echo 0 > /sys/devices/platform/eeepc/camera
        fi

(please, do the following step after updating scripts, or new features like the webcam switch!!!)

Make scripts executable:

chmod -v +x /etc/acpi/actions/*

Wireless Drivers

Eee PC wireless is provided by an Atheros chipset (which, in Eee Pc 901 was replaced by Ralink RT2860). At this very moment, the only way to make it work is using Madwifi patched drivers, or windows driver with ndiswrapper.

Warning (medium size).png
The Madwifi driver isn't 100% Free Software, it contains proprietary code.

You can compile the kernel module or easily install it from an external repository like livna. After installing livna you can install the driver with the help of yum from the testing repository by using the --enablerepo=livna-testing option.

Sooner or later it would be possible to use the open source version of the ath5k driver for the Atheros chipsets.

Here are some compiled packages for kernel 2.6.25.4-30.fc9.i686.

Livna repository and Madwifi driver are not officially affiliated or endorsed by the Fedora Project. Use them at your own discretion and risk.

Fixes and solutions to common problems

Shut down fix

If your Eee PC does not entirely shutdown, add the following line to /etc/init.d/halt (I put right after the "Saving mixer setting" stuff):

su -
gedit /etc/init.d/halt

add this line just before the # Save random seed block

#Shutdown eeepc fix
action "Removing module snd-hda-intel: " modprobe -r snd-hda-intel
or now there's not any FOSS driver for GNU/Linux


Bug has been reported: https://bugzilla.redhat.com/show_bug.cgi?id=444115


Wireless resume from suspend fix

BUG HAS BEEN REPORTED Temp workaround:

With Madwifi driver, wireless doesn't work when resuming from sleep...but we can fix this issue with this script (UPDATED! New script, handles sleep with both wifi ON/OFF) Create the file:

su -
gedit /etc/pm/sleep.d/S99wireless

and paste this code:

#!/bin/sh
WLAN=$(cat /sys/devices/platform/eeepc/wlan)

case "$1" in
thaw|resume)
if [[ "$WLAN" = "1" ]]; then
{ ip link set wifi0 up ; } 2>/dev/null
fi
;;
*)
;;
esac
exit $?

Make the script executable:

chmod +x /etc/pm/sleep.d/S99wireless

NetworkManager drop outs fix (Fedora 8 only)

Not necessary in Fedora 9

  • Works well with the Madwifi-NG drivers. To solve problems with frequents drop outs and communication problems try issuing this command.
iwpriv ath0 bgscan 0
  • Just a quick update on a better way to issue this command on every boot. Edit your /etc/modprobe.conf and change change your lines for ath0 to look like this.
alias ath0 ath_pci
install ath_pci /sbin/modprobe --first-time --ignore-install ath_pci && { /sbin/iwpriv  ath0 bgscan 0 > /dev/null 2>&1 || :; }

Internal Mic not working (fixed)

Bug has been reported (fixed in rawhide)

Workaround:

Double leftclick the volume icon, open preferences and enable e-Mic and e-Mic Boost. In options select input source: e-Mic

(strange, i-mic and e-mic are inverted!)

TouchPad tap fix

To fix the lack of TouchPad tap in Fedora 9, just install the Synaptics package available here

rpm -ihv http://www.ocf.berkeley.edu/~bobk/packages/synaptics-0.14.6-8.1.fc9.i386.rpm

Old solution (I think this is for Fedora 8, please specify) To enable the touchpad tapping, make your /etc/X11/xorg.conf look like this .

No backlight on resume from suspend (fixed)

Bug has been reported (fixed in rawhide)

This bug has been fixed in kernel 2.6.26.

The temporany workaround isn't working anymore, so let's wait for the new kernel release in fedora 9

Hints and alternative software

Openbox as window manager

Do yourself a favor and install Openbox .

yum -y install openbox obconf

After installation you will need to choose openbox as your new window manager. If you are running gdm click on the session button and choose Gnome/Openbox. If you have an .xinitrc that is run at log in you can add, openbox, openbox-session or openbox-gnome-session to it.

Why?

  • This Window Manager is FAST!!!
  • The decorations are very small and simple.
  • By default Openbox trys to shrink windows to fit the viewable screen
  • Did I say this how fast this WM is?

Firefox 3, really a cpu eater

Use Epiphany instead of Firefox 3... it's slim (written using the GTK libs) fast as Firefox 3, same compatibility (uses gecko as rendering engine).

Webcam

The driver for the built-in webcam for the Eee PC 900 serie is installed with Fedora 9, you just have to load it.

modprobe uvcvideo

To get the same webcam application like the original OS of the Eee PC, install a small tool named ucview

yum -y install ucview


Kickstart files

With a kickstart file you can ease the process of installing Fedora on your Eee PC.

Source Code

If you want to take a look at the default source code which comes in the Eee PC, you could check Asus ftp:

Comments

It might be good to coordinate efforts and reach out to http://code.google.com/p/eeedora/. Some comments at http://www.bytebot.net/blog/archives/2008/01/31/eeedora-impressions and at http://wiki.eeeuser.com/howto:eeedora