Carloraudino (talk | contribs) |
Carloraudino (talk | contribs) |
||
Line 72: | Line 72: | ||
;; | ;; | ||
#Fn+F5 | #Fn+F5 | ||
00000030) | 00000030) | ||
/usr/bin/xrandr --output LVDS \ | /usr/bin/xrandr --output LVDS \ |
Revision as of 10:12, 9 June 2008
EeePC
The EeePC 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 eeePc.
News
- 2008-02-14 Red Hat Magazine: Fedora + Eee PC = Eeedora
ACPI State of play
- Out of the Box F8: The asus_acpi module that Asus provided provides ACPI events that can be handled by the acpid daemon. Asus provides scripts that the acpid can trigger to do 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.
- Out of the Box F9: Fedora 9 ships with a module called eeepc.ko - if you load it at system boot (add modprobe eeepc to /etc/rc.local) pressing one of the extra buttons will generate an acpi event that you can (and have to) handle yourself.
- This is how I got the Fn+F2 (wireless) hotkey working on Fedora 9 with networknanager: Link .
- Goal: I plan to provide an asus_acpi module that gives proper Fedora system integration through HAL.
- Status: Thanks to code Ikke started, I got things in order quite quickly.
Buttons
- Zz/Fn+F1 - Works as expected computer suspends
- Wifi/Fn+F2 - Currently produces the wlan ButtonPressed event on dbus. I am working on hal killswitch functionality for it.
- BrtUp/Fn+F3 - Works. No OSD
- BrtDown/Fn+F4 - Works. No OSD
- SwitchDisplay/Fn+F5 - Produces ButtonPressed events on dbus. My plan is to patch grandr to listen on the dbus and do proper xrandr switching.
- AP/Fn+F6 - 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. OSD. Needs tweaks to gconf
- VolDown/Fn+F8 - Works. OSD. Needs tweaks to gconf
- VolUp/Fn+F9 - Works. OSD. Needs tweaks to gconf
ACPI support in Fedora 9
Let's load ACPI daemon into Fedora 9
su - yum install -y acpid
Now we must start the ACPI daemon and modprobe the eeepc module.
chkconfig acpid on service acpid start modprobe eeepc echo "modprobe eeepc" >> /etc/rc.local
Now let's handle some FN keys and events create these files
gedit /etc/acpi/events/hotkeys.conf
paste this code:
event=hotkey ATKD .* action=/etc/acpi/actions/hotkeys.sh %e
gedit /etc/acpi/actions/hotkeys.sh
Paste this code (please note,volume keys DON'T WORK)
#!/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+F5 00000030) /usr/bin/xrandr --output LVDS \ --preferred --output VGA --off ;; 00000031) /usr/bin/xrandr --output VGA \ --mode 1024x768 --output LVDS --off ;; 00000032) /usr/bin/xrandr --output VGA \ --mode 800x600 --output LVDS --mode 800x480 ;; *) 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
Make scripts executable:
chmod -v +x /etc/acpi/actions/*
Wireless Drivers
Livna-testing has working madwifi drivers
su rpm -ivh http://rpm.livna.org/livna-release-9.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-livna
This will compile a kernel module everytime is necessary... So feel free to update your kernel when fedora team releases updates.
yum --enablerepo livna-testing install akmod-madwifi
On first new kernel boot, it will compile the new kernel module..when finished, reboot and wifi will work! That's all!
If you want to compile manually the madwifi driver, use the experimental one:
First install all necessary packages:
su yum install make binutils gcc glibc-devel glibc-headers libgomp patch kernel-headers kernel-devel wget
Blacklist the ath5k module:
echo "blacklist ath5k" >> /etc/modprobe.d/blacklist
Look at your modprobe.conf:
gedit /etc/modprobe.conf
Your /etc/modprobe.conf should look like this:
<!-- Start Atheros Stuff --> alias wifi0 ath_pci alias ath0 ath_pci options ath_pci autocreate=sta <!-- End Atheros Stuff -->
Download madwifi-nr-r3366+ar5007 driver:
wget http://snapshots.madwifi.org/special/madwifi-nr-r3366+ar5007.tar.gz
Extract madwifi source code and compile it:
tar xvf madwifi-ng-r2756-20071018.tar.gz cd madwifi-nr-r3366+ar5007 make && echo ok su -c "make install && echo ok"
NetworkManager
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 || :; }
Window Manager
Do yourself a favor and install Openbox .
yum 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?
Resolutions
Suspend
- Works great. Using the Madwifi driver for the wireless card you need to add the following code to a script in /etc/pm/sleep.d/ . I call my script S99wireless.
#!/bin/sh case "$1" in thaw|resume) { ip link set wifi0 up ; } 2>/dev/null ;; *) ;; esac exit $?
( Please Note that the machine won't suspend if the radio is turned off and the Madwifi driver is still loaded. )
Make the script executable:
chmod +x /etc/pm/sleep.d/S99wireless
Quirks
Shut down
If your EeePC does not entirely shutdown, like mine, add the following line to /etc/init.d/halt (I put right after the "Saving mixer setting" stuff):
modprobe -r snd-hda-intel && echo "snd-hda-intel module removed!"
I've filed a bug report on this: https://bugzilla.redhat.com/show_bug.cgi?id=444115
TouchPad
To enable the touchpad tapping, make your /etc/X11/xorg.conf look like this .
Source Code
If you want to take a look at the default source code which comes in the EeePC, you could check Asus ftp:
http://update.eeepc.asus.com/p701/pool/
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