https://wiki.archlinux.org/api.php?action=feedcontributions&user=Shodan&feedformat=atomArchWiki - User contributions [en]2024-03-28T15:03:14ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=DansGuardian&diff=66614DansGuardian2009-04-10T18:01:24Z<p>Shodan: /* "Access Denied" Template */</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
== Preface ==<br />
From the Dansguardian [http://dansguardian.org website].<br />
:::''DansGuardian is an award winning Open Source web content filter which currently runs on Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X, HP-UX, and Solaris. It filters the actual content of pages based on many methods including phrase matching, PICS filtering and URL filtering. It does not purely filter based on a banned list of sites like lesser totally commercial filters.''<br />
<br />
:::''DansGuardian is designed to be completely flexible and allows you to tailor the filtering to your exact needs. It can be as draconian or as unobstructive as you want. The default settings are geared towards what a primary school might want but DansGuardian puts you in control of what you want to block.''<br />
<br />
:::''DansGuardian is a true web content filter. ''<br />
<br />
DansGuardian is excellent at filtering pages from the Internet as it examines both the URL and the content of the page, and it has many options to allow you to fine tune the process. To run DansGuardian, you will first need a proxy in place. DansGuardian will work with many proxy servers, but [[Squid]] is the recommended one.<br />
<br />
The original author of this article runs Squid and DansGuardian content filters at several schools in the UK, successfully blocking inappropriate content.<br />
<br />
== Installation ==<br />
<br />
DansGuardian is available in the extra repository. Make sure this is enabled in your pacman.conf, then run:<br />
pacman -Sy dansguardian<br />
<br />
This article is based on DansGuardian 2.8.0.6. DansGuardian is hereby referred to as DG.<br />
<br />
== Configuration ==<br />
=== Config Files ===<br />
Assuming you have [[Squid]] already set up, configuring DG is a relatively straightforward process. All of the configuration files, blocking templates, blacklists, etc are stored in <tt>/etc/dansguardian</tt>.<br />
<br />
DG has the concept of groups, which are groups of users or machines that have certain blocks applied to them. For now, we are just going to set up one group for everyone - the idea being that anyone who wants unfiltered access could just hit Squid directly. (This is not ideal.)<br />
<br />
Start by editing <tt>/etc/dansguardian/dansguardian.conf</tt>. The file is pretty well commented so you shouldn't have many problem problems following it through. The defaults are pretty sane. Be sure to check the options under Network Settings for <tt>filterip</tt>, <tt>filterport</tt>, <tt>proxyip</tt> and <tt>proxyport</tt>. You may also want to examine <tt>weightedphrasemode</tt> and <tt>phrasefiltermode</tt>. The filter mode is especially important if you are running this setup on older hardware.<br />
<br />
Next we need to edit the options for our first, and only, group. Edit the file <tt>/etc/dansguardian/dansguardianf1.conf</tt>. Once again this is pretty well commented, but you should pay attention to the <tt>naughtynesslimit</tt>.<br />
<br />
DG examines the content on a page and adds up the naughty words based on a weighting scheme, with worse words getting more points. If this total exceeds the <tt>naughtnesslimit</tt>, the page will be blocked. 50 is a good limit for young children, whereas 160 is good for young adults. In a corporate environment, you'd want this set around 200.<br />
<br />
=== Blacklists ===<br />
<br />
Adding websites to the block lists are done in the same directory, in the almost self-explanatory configuration files. DG provides a powerful regular expression URL and content filter, as well as ordinary URL blocklists. Some of the important files are:<br />
<br />
*bannedsitelist - The domains for your banned sites, e.g. "human-horse-love.com"<br />
*bannedurllist - If you just want to block part of a website, e.g. "bbc.co.uk/games"<br />
*exception* - This is where your domain/URL exceptions go. Sites in this list will not be checked and allowed straight through.<br />
*bannedregexpurllist - Very powerful. This is where you can put regular expressions to block certain URLs, e.g. "(.*q=.*xxx.*)" to stop searching for the word "xxx".<br />
<br />
Whenever you add or remove a URL from the list, you must tell DG you have done so. This can be done with:<br />
dansguardian -r<br />
Which will force DG to reload it's configuration. Doing it this way, rather than restarting the daemon, will mean that for the most part your users won't notice reloading. (I've noticed that straight after the reload, users may have trouble accessing web pages for about 5-10 seconds - if this is a problem you can always run a cronjob at 12am to run <tt>dansguardian -r</tt>).<br />
<br />
You can download a blacklist collection from [http://urlblacklist.com URLBlacklist], but be sure to read the [http://urlblacklist.com/?sec=faq FAQ] first, as you will, paradoxically, want to unsort the collection to enable DG to start faster. Once you have installed the blacklist under <tt>/etc/dansguardian</tt> you can add them to your DG configuration by opening the appropriate configuration file and adding:<br />
.Include</etc/dansguardian/blacklists/ads/domains><br />
.Include</etc/dansguardian/blacklists/drugs/domains><br />
etc...<br />
To the bottom of the file. Take a look around the blacklist collection to see what is available.<br />
<br />
=== "Access Denied" Template ===<br />
<br />
If you wish to change the page that gets displayed to users when a website is blocked, you need to edit the file:<br />
/usr/share/dansguardian/languages/<LANGUAGE>/template.html.<br />
<br />
=== Web Frontend ===<br />
If you would like a web-based frontend to manage Dansguardian, you could use [[Webmin]] with the Dansguardian [http://sourceforge.net/projects/dgwebminmodule/ Webmin Module].<br />
<br />
== Starting DansGuardian ==<br />
Dansguardian needs to start ''after'' your proxy has started, so run:<br />
/etc/rc.d/squid start<br />
/etc/rc.d/dansguardian start<br />
And ensure in your <tt>DAEMONS=()</tt> section of rc.conf, that DG starts after squid:<br />
DAEMONS=(... squid dansguardian ...)<br />
Without a valid proxy, DG will fail to start, so you will not want to background Squid. Depending on the size of your blacklists and your hardware, DG can take quite a while to start (30-60 seconds), so you may wish to background DG.<br />
DAEMONS=(... squid @dansguardian ...)</div>Shodanhttps://wiki.archlinux.org/index.php?title=ASUS_Eee_PC_901&diff=55883ASUS Eee PC 9012008-12-20T13:35:42Z<p>Shodan: /* Video */</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
== Introduction ==<br />
<br />
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the ASUS EEE 901 PC.<br />
<br />
Most of the article can also be applied to eeepc-models which are similar to the 901 such the 901H, 1000 and 1000H. If you discover a configuration or software option applicable to a certain model that differs from what is described in this article, please add it, with a note about which model the suggestion pertains to.<br />
<br />
== Install Tips for the Asus Eee PC ==<br />
<br />
This wiki page supplements these pages: '''[[Beginners Guide]]''', the '''[[Official Arch Linux Install Guide|Official Install Guide]]''', and '''[[Installing Arch Linux on the Asus EEE PC]]'''. Please refer to those guides ''first'' before following the eeepc-specific pointers on this page.<br />
<br />
Most of this information is from the Arch Forum EEE 901 [http://bbs.archlinux.org/viewtopic.php?id=53464 thread]. Consult this thread, and other resources on the Arch forum, for more details and discussion.<br />
<br />
== Customized Kernel Installation == <br />
<br />
Follow the Arch Linux installation Guide to install the latest stock distribution from USB media or CDROM. Install the '''BASE''' and '''DEVEL''' package categories. Reboot your PC.<br />
<br />
=== Option 1: Install precompiled customized zen-eee901 kernel for the EEE 901 ===<br />
<br />
Robertek has made available kernel packages configured for the EEE 901:<br />
<br />
* '''zen-eee901-*''', built with the [http://zen-sources.org/ Zen kernel source]<br />
<br />
Robertek's repository can be found here:<br />
<br />
[zen-eee]<br />
Server = http://robertek.brevnov.net/files/linux/arch<br />
<br />
<br />
Etuxia set up a mirror for the kernel:<br />
<br />
[zen-eee]<br />
Server = http://archeee.konventare.se<br />
<br />
There are two kernel packages, both of them based on the ''2.6.27'' zen kernel: <br />
<br />
* '''zen-eee901-1G''': optimized for machines with 1GB RAM<br />
* '''zen-eee901-4G''': optimized for machines with 2GB RAM (The "4G" refers to parameters enabled in <tt>kernelconfig</tt>)<br />
<br />
Install the kernel package best suited for your system. As written above: if you have no internet-connection at this point on your eeePC, manually install the kernelpackage from Robertek's repository, move it with an usb-stick to your eeePC and install it locally using [[Pacman#Other_Usage|Pacman]].<br />
<br />
Package sources are available at http://robertek.brevnov.net/files/linux/arch/zen-eee901-1G and http://robertek.brevnov.net/files/linux/arch/zen-eee901-4G<br />
<br />
==== Configure GRUB ====<br />
<br />
Configure GRUB to boot with the new kernel:<br />
<br />
'''zen-eee901''':<br />
title Arch Linux zen-eee901<br />
root (hd0,0)<br />
kernel /boot/zeneee root=/dev/disk/by-uuid/... ro<br />
initrd /boot/zeneee.img<br />
<br />
The kernel <tt>root=</tt> parameter should be changed to the UUID or /dev/sdaX that matches your root partition.<br />
<br />
You may additionally need to set the following HOOKS in <tt>/etc/mkinitcpio.conf</tt>, then create a custom initrd image file:<br />
<br />
HOOKS=(BASE UDEV PATA FILESYSTEMS)<br />
<br />
Add '''USB''' to HOOKS if you plan on running Arch Linux off a USB device or SDHC card.<br />
<br />
=== Option 2: Using the Stock kernel ===<br />
This section gives some hints and clues about how to tweak the stock ArchLinux kernel for the EeePC 901. For more general information about building custom ArchLinux kernels, see [[Kernel Compilation]]. <br />
<br />
The stock kernel has some advantages over the custom kernel:<br />
<br />
* The ethernet driver is now available in stock kernel (called: ''Atheros L1E Gigabit Ethernet support''), so no external modules or patching needed<br />
<br />
* It is likely that more Asus and EeePC-specific features will be included in future versions of the stock kernel, and current drivers will improve with each kernel release. (Word has it that Linus Torvalds himself bought an EeePc). Chances are that the stock kernel now includes the drivers and features you need for your EeePC.<br />
<br />
* The stock kernel, as part of the core repository, is always available and maintained in a number of mirror repositories.<br />
<br />
==== example .config ====<br />
Here is a sample kernel .config file created for the 1000H with the stock 2.6.27.7 kernel: [http://nopaste.info/3daf27d4f3_nl.html .config].<br />
<br />
You can take it as starting point to build your own kernel. Make sure that the filesystem types you want to use are configured (at the moment this configuration only contains ext2, compiled in, and ext3 as module).<br />
<br />
== OS Configuration ==<br />
<br />
=== Networking: Ethernet ===<br />
<br />
Ethernet (wired) network access should work right out of the box with precompiled kernels, or with '''atl1e''' module you built from AUR.<br />
<br />
''Note: The Atheros at1le driver version 1.0.0.4 contains a bug that sometimes cause the driver to assign a bogus MAC address to your ethernet card. The zen-eee901 kernel contains a later version of the driver (1.0.1.0) that fixes this.''<br />
<br />
=== Networking: Wireless ===<br />
After a bios-upgrade the wireless-card of the Eee PC will be disabled by default, so if you have any troubles with wlan check that it is enabled in the bios.<br />
<br />
The precompiled kernels listed above contain a [http://www.itwriting.com/blog/778-fixing-wi-fi-on-asus-eee-pc-901-with-linux.html patched] version of the wifi driver '''rt2860sta''' and it should work with both WEP and WPA. <br />
<br />
If you are compiling the '''rt2860sta''' kernel driver yourself, use the newest (1.8) version of the driver in AUR: http://aur.archlinux.org/packages.php?ID=14557. <br />
<br />
Make sure you have the '''wireless_tools''' package installed, also. You may need to manually download the package from a [[Mirror]] (look in ''core/os/i686/'') and install it locally (e.g. after moving it with a usb-stick to your eeePC) using [[Pacman#Other_Usage|Pacman]].<br />
<br />
There are reported some problems associating an AP with netcfg2 (WEP and open, WPA-PSK works ok). If you experience problems, try another connection manager, for example wicd works fine.<br />
pacman -S wicd<br />
<br />
=== ACPI (Hotkeys) ===<br />
<br />
==== Option 1: Install the '''acpi-eee901''' package from ''robertek's'' repository ====<br />
<br />
Robertek has made available an ACPI package customized for the EeePC 901, which makes use of interfaces available in /proc/acpi/asus:<br />
<br />
pacman -Sy acpi-eee901<br />
<br />
This will enable all the ''Fn + xx'' buttons as configured in the default Xandros distribution (provided you have also installed '''htop''' and '''alsa-utils''')<br />
<br />
Add '''acpid''' to <tt>/etc/rc.conf</tt> to start at boot.<br />
<br />
To enable toggling WiFi on/off via the ''Fn + F2'' hotkey, you will need to configure the '''pciehp''' module.<br />
<br />
* Add to <tt>/etc/modprobe.conf</tt>:<br />
<br />
options pciehp pciehp_force=1<br />
<br />
* To autoload '''pciehp''' on startup, add '''pciehp''' to the MODULES list in <tt>/etc/rc.conf</tt>.<br />
<br />
The four silver function buttons above the keyboard have been minimally configured in the ''robertek'' '''acpi-eee901'''. See <tt>/etc/acpi/eee.conf</tt> for more information about configuring ACPI and enabling special actions. <br />
<br />
==== Option 2: Configure the stock kernel ACPI features ====<br />
<br />
Enable the ASUS_LAPTOP (Device Drivers -> Misc Devices) switch in your kernel config and turn off ACPI_ASUS switch (Power managment options -> ACPI).<br />
<br />
To enable the FN keys, the WLAN and Camera on/off toggles, etc., activate the EEEPC_LAPTOP switch also (Device Drivers -> Misc Devices). <br />
<br />
You can use Robertek's PKGBUILD and files for '''acpi-www901''' at http://robertek.brevnov.net/files/linux/arch/acpi-eee901/ as a base to incorporate the stock kernel modules and ASUS OSD into the ACPI system.<br />
<br />
Note: The kernel interfaces <tt>/proc/acpi/asus</tt> or <tt>/proc/acpi/eee</tt> are not available with the '''eeepc_laptop''' module. The corresponding '''eeepc_laptop''' interfaces are files in: <tt>/sys/devices/platform/eeepc/</tt>. You may need to edit some of the scripts under <tt>/etc/acpi/</tt> to point to the correct paths.<br />
<br />
==== ASUS OSD ====<br />
<br />
Asus OSD is included as part of the '''acpi-eee901''' package. Simply add the command <tt>asusosd &</tt> to your desktop manager startup script, or create the file <tt>/etc/xdg/autostart/asusosd.desktop</tt> with these contents:<br />
<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Name=ASUS OSD<br />
Comment=ASUS OSD<br />
Exec=/usr/bin/asusosd<br />
Terminal=false<br />
Type=Application<br />
StartupNotify=false<br />
Hidden=false<br />
<br />
=== Bluetooth ===<br />
<br />
Currently, Bluetooth is not enabled with the ''Fn + F2'' hotkey. To communicate with Bluetooth devices, make sure Bluetooth has been enabled in the BIOS.<br />
<br />
In the '''zen-eee901''' kernels you can turn Bluetooth on and off:<br />
<br />
# enable<br />
$ echo 1 > /proc/acpi/asus/bluetooth<br />
# disable<br />
$ echo 0 > /proc/acpi/asus/bluetooth<br />
<br />
Install the '''bluez-utils''' and '''bluez-libs''' packages, then <tt>modprobe btusb</tt>.<br />
<br />
''Note: in the test repository '''bluez-utils''' and '''bluez-libs''' are merged into a single package, '''bluez'''.''<br />
<br />
See the Arch Linux [[Bluetooth]] and [[Bluetooth Mouse]] wiki pages for more information about configuring and using Bluetooth devices.<br />
<br />
=== Webcam ===<br />
<br />
To enable/disable the camera:<br />
<br />
# enable<br />
echo 1 > /proc/acpi/asus/camera<br />
# disable<br />
echo 0 > /proc/acpi/asus/camera <br />
<br />
or with eee-kernel901:<br />
<br />
# enable<br />
echo 1 > /sys/devices/platform/eeepc/camera<br />
# disable<br />
echo 0 > /sys/devices/platform/eeepc/camera<br />
<br />
To record video and take photos, you may use '''cheese''' or the '''wxcam''' package (available in the ''edgy'' repository or AUR).<br />
<br />
pacman -S wxcam<br />
<br />
To simply test the camera, you may use <tt>mplayer</tt>:<br />
<br />
mplayer -fps 15 tv://<br />
<br />
The webcam is reported to work with Skype.<br />
<br />
=== Audio ===<br />
<br />
Audio output is enabled with the default ALSA drivers distributed with the kernels. You may need to install the '''alsa-lib''' and '''alsa-utils''' packages to get full functionality. The internal microphone only works with ALSA 1.0.18+ (included by default in the '''zen-eee901''' kernels).<br />
<br />
To load the module upon boot add the snd-hda-intel module to your list of MODULES in /etc/rc.conf:<br />
<br />
MODULES=( ... snd-hda-intel ... )<br />
<br />
or to automatically load modules for your hardware (including bluetooth, if it is enabled in BIOS), enable autoloading in your /etc/rc.conf:<br />
<br />
MOD_AUTOLOAD="yes"<br />
<br />
Note: The current set of scripts isn't prepared to deal with several audio devices, which means that the pc-speaker should not be enabled at the same time. You can black-list the corresponding driver in /etc/rc.conf as follows:<br />
<br />
MODULES=( ... !snd-pcsp ... )<br />
<br />
=== X ===<br />
<br />
==== Video ====<br />
<br />
You will need the xf86-video-intel video driver:<br />
pacman -S xf86-video-intel<br />
<br />
Then X should run out of the box, including with direct rendering, even without xorg.conf. To get full use of the touchpad (including tapping for mouse click), install the xorg.conf file in the [[Installing Arch Linux on the Asus EEE PC]] wiki page, with this change:<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "ASUS"<br />
ModelName "eeePC 901"<br />
Modeline "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +VSync # 60 Hz<br />
EndSection<br />
<br />
Also remove: 'RgbPath "/usr/share/X11/rgb"' from Section "Files"<br />
<br />
Some users have reported problems with vsync and the '''xf86-video-intel''' driver. These problems may be partially solved in the application (see this forum [http://bbs.archlinux.org/viewtopic.php?pid=416645#p416645 post].)<br />
<br />
===== Connecting an external Monitor =====<br />
<br />
The xrandr utility (part of Xorg) can be used to switch into screen modes appropriate either for the EeePC's LCD or an externally connected monitor. Running "xrandr -q" will show you the available output devices and the supported modes. Then run the tool as follows:<br />
<br />
xrandr --output LVDS --off --output VGA --auto # disable LCD, enable monitor<br />
xrandr --output LVDS --auto --output VGA --auto # enable both<br />
etc.<br />
<br />
Your monitor will probably support a bigger resolution than the LCD. To make use of that additional screen space, tell the X server to create an appropriately large framebuffer by adding the "Virtual" directive to the Screen/Display section in /etc/X11/xorg.conf:<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
Virtual 1600 1200 # max resolution is 1600x1200<br />
EndSubSection<br />
EndSection<br />
<br />
On the LCD, the additional space will be unused, but when switching to the external monitor, the screen will be. Note that some window managers (such as ratpoison) might need to be restarted to realize that the visible screen size has changed.<br />
<br />
==== Mouse and Synaptics driver ====<br />
<br />
The '''zen-eee901''' kernels include the Elantech/synaptics touchpad mouse driver, as described on the Gentoo wiki at http://gentoo-wiki.com/Asus_EEE_PC_901#Elantech_Driver .<br />
<br />
To enable the Synaptics drivers, first install the synaptics package:<br />
<br />
pacman -S synaptics<br />
<br />
You also need the evdev driver for Xorg:<br />
<br />
pacman -S xf86-input-evdev<br />
<br />
Then make these changes to <tt>/etc/X11/xorg.conf</tt>:<br />
<br />
Section "ServerLayout"<br />
Identifier "ArchLinux"<br />
Screen 0 "Screen0"<br />
InputDevice "keyboard"<br />
InputDevice "mouse"<br />
'''InputDevice "synaptics"'''<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Files"<br />
'''# RgbPath "/usr/share/X11/rgb"'''<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc"<br />
FontPath "/usr/share/fonts/100dpi:unscaled"<br />
FontPath "/usr/share/fonts/75dpi:unscaled"<br />
FontPath "/usr/share/fonts/TTF"<br />
FontPath "/usr/share/fonts/Type1"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "GLcore"<br />
Load "glx"<br />
Load "record"<br />
Load "dri"<br />
Load "extmod"<br />
Load "xtrap"<br />
Load "dbe"<br />
Load "freetype"<br />
'''Load "synaptics"'''<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "InputDevice"<br />
Identifier "mouse"<br />
Driver "mouse"<br />
Option "Device" "/dev/input/mice"<br />
Option "Protocol" "IMPS/2"<br />
Option "Emulate3Buttons" "yes"<br />
Option "ZAxisMapping" "4 5"<br />
Option "CorePointer"<br />
EndSection<br />
<br />
'''Section "InputDevice"'''<br />
'''Identifier "synaptics"'''<br />
'''Driver "synaptics"'''<br />
'''Option "Device" "/dev/psaux"'''<br />
'''Option "Protocol" "auto-dev"'''<br />
'''Option "PalmDetect" "0"'''<br />
'''Option "SHMConfig" "true"'''<br />
'''Option "SendCoreEvents" "yes"'''<br />
'''Option "RBCornerButton" "0"'''<br />
'''Option "RTCornerButtom" "0"'''<br />
'''Option "TapButton1" "1"'''<br />
'''Option "TapButton2" "2"'''<br />
'''Option "TapButton3" "3"'''<br />
'''Option "AccelFactor" "0.0320"'''<br />
'''Option "MaxSpeed" "0.72"'''<br />
'''Option "MinSpeed" "0.6"'''<br />
'''Option "Emulate3Buttons" "true"'''<br />
'''Option "TouchPadOff" "0"'''<br />
'''Option "LBCornerButton" "2"'''<br />
'''Option "LeftEdge" "60"'''<br />
'''Option "RightEdge" "1070"'''<br />
'''Option "TopEdge" "90"'''<br />
'''Option "BottomEdge" "680"'''<br />
'''Option "VertTwoFingerScroll" "1"'''<br />
'''Option "HorizTwoFingerScroll" "1"'''<br />
'''Option "HorizScrollDelta" "20"'''<br />
'''Option "LockedDrags" "1"'''<br />
'''Option "CoastingSpeed" "0.13"'''<br />
'''Option "CircularScrolling" "1"'''<br />
'''Option "CircScrollTrigger" "8" # 8=Top Left Corner'''<br />
'''EndSection'''<br />
<br />
The latest version of the Elantech touchpad driver patch is available at http://arjan.opmeer.net/elantech/. You'll need to apply this patch to your kernel source, then recompile the kernel. This patch has been tested on the 2.6.27.6 and 2.6.27.7 kernels.<br />
<br />
<br />
<br />
====A complete working set Xorg/HAL config files====<br />
<br />
The latest version of <tt>xserver</tt> recommends using the HAL subsystem to manage X device configurations, in place of <tt>xorg.conf</tt>.<br />
<br />
If it isn't installed already, install HAL, then add '''hal''' to the list of daemons in your <tt>/etc/rc.conf</tt> file:<br />
<br />
pacman -s hal<br />
<br />
Create the following HAL device configuration files for X:<br />
<br />
'''File:''' /etc/hal/fdi/policy/10-keymap.fdi (configure the '''input.xkb.layout''' parameter to match your locale)<br />
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- --><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.keymap"><br />
<append key="info.callouts.add" type="strlist">hal-setup-keymap</append><br />
</match><br />
<br />
<match key="info.capabilities" contains="input.keys"><br />
<merge key="input.xkb.rules" type="string">base</merge><br />
<br />
<merge key="input.xkb.model" type="string">keyboard</merge><br />
<match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"><br />
<merge key="input.xkb.model" type="string">evdev</merge><br />
</match><br />
<br />
<merge key="input.xkb.layout" type="string">se</merge><br />
<merge key="input.xkb.variant" type="string" /><br />
<merge key="input.xkb.options" type="string">ctrl:nocaps</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
<br />
'''File:''' /etc/hal/fdi/policy/9-x11-elantech.fdi (configuration for the Elantech touchpad -- <font color="red">could be improved</font>)<br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<match key="info.product" contains="Elantech Touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.SHMConfig" type="string">on</merge><br />
<merge key="input.x11_options.MaxSpeed" type="string">1.00</merge><br />
<merge key="input.x11_options.MinSpeed" type="string">0.75</merge><br />
<merge key="input.x11_options.Emulate3Buttons" type="string">on</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.LockedDrags" type="string">11</merge><br />
</match><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
'''File:''' /etc/X11/xorg.conf<br />
Section "ServerLayout"<br />
Identifier "ArchLinux"<br />
Screen "Screen0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Device0"<br />
Driver "intel"<br />
Option "XAANoOffScreenPixmaps" "true"<br />
Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Device0"<br />
EndSection<br />
The <tt>xorg.conf</tt> file is no longer strictly necessary, but some features, such as windowtitles in wmii, run faster if configured here.<br />
<br />
==== Miscellaneous ====<br />
If you don't have an xorg.conf file, and want to configure the keyboard layout on the fly:<br />
<br />
# Set keyboard to cz with qwerty<br />
setxkbmap cz qwerty<br />
<br />
To configure the mouse speed:<br />
# Set mouse movement and acceleration (you need to tweak this to your needs)<br />
xset m 2 1<br />
<br />
== Power management & Tips ==<br />
<br />
The following tweaks can be used to improve performance and/or power consumption.<br />
<br />
<font color="red">''Warning: these tweaks have not yet been empirically proven to decrease battery power consumption or improve performance. Moreover, they have the potential to cause real havoc to your system, up to and including kernel panic and/or frying your CPU. Caveat Emptor.''</font><br />
<br />
=== FSB (front side bus) ===<br />
<br />
To improve power consumption, and get more hours from your battery, try changing the FSB speed:<br />
<br />
* Insert the eee module (included in the '''zen-eee901''' kernels, above) <br />
<br />
modprobe eee<br />
<br />
Or add '''eee''' to your '''MODULES''' list in <tt>/etc/rc.conf</tt>, to load on boot. The '''zen-eee901''' kernels are distributed with the '''eee''' module.<br />
<br />
Once the module is loaded, there should be a new directory <tt>/proc/eee</tt>. To see the default (boot) FSB settings:<br />
<br />
cat /proc/eee/fsb <br />
<br />
You will see a string similar to <tt>100 50 1</tt>, where 100=PLL multiplier, 50=PLL divisor, and 1=normal voltage<br />
<br />
In general, follow these rules of thumb:<br />
<br />
* The key value is the PLL multiplier (the first value). Some testing indicates that on the EEE 901, with the PLL divisor set to 50, this value will approximate the percentage of the rated speed of the CPU (1600 MHz). Setting the PLL multiplier to "85", for example, will change your CPU speed to around 1360MHz (.85 * 1600). User experiences indicate that safe PLL multiplier values are between 85 and 110. YMMV.<br />
* Don't change the PLL divisor (50).<br />
* The special file <tt>/proc/cpuinfo</tt> will not report accurate CPU speeds. Use '''gkrellm''' or '''conky''' to measure CPU speed.<br />
* Valid values for the voltage flag are '''0''' (low voltage) and '''1''' (normal voltage). Some users have encountered problems running at low CPU speeds with normal voltage; to be on the safe side, use the low voltage flag whenever changing the PLL multiplier to a value below 85.<br />
* Change the FSB speed in steps, not in large jumps. For example, to change from 110 to 85:<br />
<br />
echo 100 50 1 > /proc/eee/fsb<br />
echo 95 50 1 > /proc/eee/fsb<br />
echo 90 50 1 > /proc/eee/fsb<br />
echo 85 50 1 > /proc/eee/fsb<br />
<br />
* To change the FSB to low voltage mode:<br />
<br />
echo 100 50 0 > /proc/eee/fsb<br />
<br />
The '''acpi-eee901''' package in ''robertek's'' repository contains scripts for managing the FSB speed.<br />
<br />
For more information on the Front Side Bus on the Asus EEE PC line, see http://wiki.eeeuser.com/howto:overclockfsb .<br />
<br />
=== Speedstep ===<br />
<br />
Speedstep is included by default in the Linux 2.6.x kernel.<br />
<br />
The '''zen-eee901''' kernels contain the Speedstep modules. Add '''acpi-cpufreq''' to your MODULES list in <tt>/etc/rc.conf</tt> to enable it on boot, or execute:<br />
<br />
modprobe acpi-cpufreq<br />
<br />
See http://rffr.de/acpi for more information.<br />
<br />
== Appendix ==<br />
=== Hardware Overview for 901 ===<br />
<br />
The following hardware is used in the Asus EEE 901:<br />
<br />
* CPU: 1.6GHz N270 Intel Atom<br />
* RAM: 1024 MB, DDR2 667<br />
* ports: 3x USB, VGA<br />
* LAN/ethernet: Atheros L1e 1000 Mbit<br />
* WLAN: Ralink rt2860 802.11b/g/n<br />
* Bluetooth, webcam 1.3 Mpix<br />
* Card reader: SD, SDHC, MMC<br />
* touchpad: "Multi-touch" elantech<br />
* display: 1024x600 8.9"<br />
* weight: 1 kg<br />
* battery: Li-ion, 6600mAh<br />
* HDD: 4 + 8GB, empty slot for 1,8" (remove of the 8GB module needed)<br />
* Graphics: Intel GM950 core, 945GME chipset<br />
<br />
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)<br />
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)<br />
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)<br />
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)<br />
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)<br />
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)<br />
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)<br />
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)<br />
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)<br />
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)<br />
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02) <br />
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)<br />
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)<br />
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)<br />
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)<br />
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)<br />
01:00.0 Network controller: RaLink Device 0781</div>Shodanhttps://wiki.archlinux.org/index.php?title=ASUS_Eee_PC_901&diff=55882ASUS Eee PC 9012008-12-20T13:35:25Z<p>Shodan: /* Video */</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
== Introduction ==<br />
<br />
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the ASUS EEE 901 PC.<br />
<br />
Most of the article can also be applied to eeepc-models which are similar to the 901 such the 901H, 1000 and 1000H. If you discover a configuration or software option applicable to a certain model that differs from what is described in this article, please add it, with a note about which model the suggestion pertains to.<br />
<br />
== Install Tips for the Asus Eee PC ==<br />
<br />
This wiki page supplements these pages: '''[[Beginners Guide]]''', the '''[[Official Arch Linux Install Guide|Official Install Guide]]''', and '''[[Installing Arch Linux on the Asus EEE PC]]'''. Please refer to those guides ''first'' before following the eeepc-specific pointers on this page.<br />
<br />
Most of this information is from the Arch Forum EEE 901 [http://bbs.archlinux.org/viewtopic.php?id=53464 thread]. Consult this thread, and other resources on the Arch forum, for more details and discussion.<br />
<br />
== Customized Kernel Installation == <br />
<br />
Follow the Arch Linux installation Guide to install the latest stock distribution from USB media or CDROM. Install the '''BASE''' and '''DEVEL''' package categories. Reboot your PC.<br />
<br />
=== Option 1: Install precompiled customized zen-eee901 kernel for the EEE 901 ===<br />
<br />
Robertek has made available kernel packages configured for the EEE 901:<br />
<br />
* '''zen-eee901-*''', built with the [http://zen-sources.org/ Zen kernel source]<br />
<br />
Robertek's repository can be found here:<br />
<br />
[zen-eee]<br />
Server = http://robertek.brevnov.net/files/linux/arch<br />
<br />
<br />
Etuxia set up a mirror for the kernel:<br />
<br />
[zen-eee]<br />
Server = http://archeee.konventare.se<br />
<br />
There are two kernel packages, both of them based on the ''2.6.27'' zen kernel: <br />
<br />
* '''zen-eee901-1G''': optimized for machines with 1GB RAM<br />
* '''zen-eee901-4G''': optimized for machines with 2GB RAM (The "4G" refers to parameters enabled in <tt>kernelconfig</tt>)<br />
<br />
Install the kernel package best suited for your system. As written above: if you have no internet-connection at this point on your eeePC, manually install the kernelpackage from Robertek's repository, move it with an usb-stick to your eeePC and install it locally using [[Pacman#Other_Usage|Pacman]].<br />
<br />
Package sources are available at http://robertek.brevnov.net/files/linux/arch/zen-eee901-1G and http://robertek.brevnov.net/files/linux/arch/zen-eee901-4G<br />
<br />
==== Configure GRUB ====<br />
<br />
Configure GRUB to boot with the new kernel:<br />
<br />
'''zen-eee901''':<br />
title Arch Linux zen-eee901<br />
root (hd0,0)<br />
kernel /boot/zeneee root=/dev/disk/by-uuid/... ro<br />
initrd /boot/zeneee.img<br />
<br />
The kernel <tt>root=</tt> parameter should be changed to the UUID or /dev/sdaX that matches your root partition.<br />
<br />
You may additionally need to set the following HOOKS in <tt>/etc/mkinitcpio.conf</tt>, then create a custom initrd image file:<br />
<br />
HOOKS=(BASE UDEV PATA FILESYSTEMS)<br />
<br />
Add '''USB''' to HOOKS if you plan on running Arch Linux off a USB device or SDHC card.<br />
<br />
=== Option 2: Using the Stock kernel ===<br />
This section gives some hints and clues about how to tweak the stock ArchLinux kernel for the EeePC 901. For more general information about building custom ArchLinux kernels, see [[Kernel Compilation]]. <br />
<br />
The stock kernel has some advantages over the custom kernel:<br />
<br />
* The ethernet driver is now available in stock kernel (called: ''Atheros L1E Gigabit Ethernet support''), so no external modules or patching needed<br />
<br />
* It is likely that more Asus and EeePC-specific features will be included in future versions of the stock kernel, and current drivers will improve with each kernel release. (Word has it that Linus Torvalds himself bought an EeePc). Chances are that the stock kernel now includes the drivers and features you need for your EeePC.<br />
<br />
* The stock kernel, as part of the core repository, is always available and maintained in a number of mirror repositories.<br />
<br />
==== example .config ====<br />
Here is a sample kernel .config file created for the 1000H with the stock 2.6.27.7 kernel: [http://nopaste.info/3daf27d4f3_nl.html .config].<br />
<br />
You can take it as starting point to build your own kernel. Make sure that the filesystem types you want to use are configured (at the moment this configuration only contains ext2, compiled in, and ext3 as module).<br />
<br />
== OS Configuration ==<br />
<br />
=== Networking: Ethernet ===<br />
<br />
Ethernet (wired) network access should work right out of the box with precompiled kernels, or with '''atl1e''' module you built from AUR.<br />
<br />
''Note: The Atheros at1le driver version 1.0.0.4 contains a bug that sometimes cause the driver to assign a bogus MAC address to your ethernet card. The zen-eee901 kernel contains a later version of the driver (1.0.1.0) that fixes this.''<br />
<br />
=== Networking: Wireless ===<br />
After a bios-upgrade the wireless-card of the Eee PC will be disabled by default, so if you have any troubles with wlan check that it is enabled in the bios.<br />
<br />
The precompiled kernels listed above contain a [http://www.itwriting.com/blog/778-fixing-wi-fi-on-asus-eee-pc-901-with-linux.html patched] version of the wifi driver '''rt2860sta''' and it should work with both WEP and WPA. <br />
<br />
If you are compiling the '''rt2860sta''' kernel driver yourself, use the newest (1.8) version of the driver in AUR: http://aur.archlinux.org/packages.php?ID=14557. <br />
<br />
Make sure you have the '''wireless_tools''' package installed, also. You may need to manually download the package from a [[Mirror]] (look in ''core/os/i686/'') and install it locally (e.g. after moving it with a usb-stick to your eeePC) using [[Pacman#Other_Usage|Pacman]].<br />
<br />
There are reported some problems associating an AP with netcfg2 (WEP and open, WPA-PSK works ok). If you experience problems, try another connection manager, for example wicd works fine.<br />
pacman -S wicd<br />
<br />
=== ACPI (Hotkeys) ===<br />
<br />
==== Option 1: Install the '''acpi-eee901''' package from ''robertek's'' repository ====<br />
<br />
Robertek has made available an ACPI package customized for the EeePC 901, which makes use of interfaces available in /proc/acpi/asus:<br />
<br />
pacman -Sy acpi-eee901<br />
<br />
This will enable all the ''Fn + xx'' buttons as configured in the default Xandros distribution (provided you have also installed '''htop''' and '''alsa-utils''')<br />
<br />
Add '''acpid''' to <tt>/etc/rc.conf</tt> to start at boot.<br />
<br />
To enable toggling WiFi on/off via the ''Fn + F2'' hotkey, you will need to configure the '''pciehp''' module.<br />
<br />
* Add to <tt>/etc/modprobe.conf</tt>:<br />
<br />
options pciehp pciehp_force=1<br />
<br />
* To autoload '''pciehp''' on startup, add '''pciehp''' to the MODULES list in <tt>/etc/rc.conf</tt>.<br />
<br />
The four silver function buttons above the keyboard have been minimally configured in the ''robertek'' '''acpi-eee901'''. See <tt>/etc/acpi/eee.conf</tt> for more information about configuring ACPI and enabling special actions. <br />
<br />
==== Option 2: Configure the stock kernel ACPI features ====<br />
<br />
Enable the ASUS_LAPTOP (Device Drivers -> Misc Devices) switch in your kernel config and turn off ACPI_ASUS switch (Power managment options -> ACPI).<br />
<br />
To enable the FN keys, the WLAN and Camera on/off toggles, etc., activate the EEEPC_LAPTOP switch also (Device Drivers -> Misc Devices). <br />
<br />
You can use Robertek's PKGBUILD and files for '''acpi-www901''' at http://robertek.brevnov.net/files/linux/arch/acpi-eee901/ as a base to incorporate the stock kernel modules and ASUS OSD into the ACPI system.<br />
<br />
Note: The kernel interfaces <tt>/proc/acpi/asus</tt> or <tt>/proc/acpi/eee</tt> are not available with the '''eeepc_laptop''' module. The corresponding '''eeepc_laptop''' interfaces are files in: <tt>/sys/devices/platform/eeepc/</tt>. You may need to edit some of the scripts under <tt>/etc/acpi/</tt> to point to the correct paths.<br />
<br />
==== ASUS OSD ====<br />
<br />
Asus OSD is included as part of the '''acpi-eee901''' package. Simply add the command <tt>asusosd &</tt> to your desktop manager startup script, or create the file <tt>/etc/xdg/autostart/asusosd.desktop</tt> with these contents:<br />
<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Name=ASUS OSD<br />
Comment=ASUS OSD<br />
Exec=/usr/bin/asusosd<br />
Terminal=false<br />
Type=Application<br />
StartupNotify=false<br />
Hidden=false<br />
<br />
=== Bluetooth ===<br />
<br />
Currently, Bluetooth is not enabled with the ''Fn + F2'' hotkey. To communicate with Bluetooth devices, make sure Bluetooth has been enabled in the BIOS.<br />
<br />
In the '''zen-eee901''' kernels you can turn Bluetooth on and off:<br />
<br />
# enable<br />
$ echo 1 > /proc/acpi/asus/bluetooth<br />
# disable<br />
$ echo 0 > /proc/acpi/asus/bluetooth<br />
<br />
Install the '''bluez-utils''' and '''bluez-libs''' packages, then <tt>modprobe btusb</tt>.<br />
<br />
''Note: in the test repository '''bluez-utils''' and '''bluez-libs''' are merged into a single package, '''bluez'''.''<br />
<br />
See the Arch Linux [[Bluetooth]] and [[Bluetooth Mouse]] wiki pages for more information about configuring and using Bluetooth devices.<br />
<br />
=== Webcam ===<br />
<br />
To enable/disable the camera:<br />
<br />
# enable<br />
echo 1 > /proc/acpi/asus/camera<br />
# disable<br />
echo 0 > /proc/acpi/asus/camera <br />
<br />
or with eee-kernel901:<br />
<br />
# enable<br />
echo 1 > /sys/devices/platform/eeepc/camera<br />
# disable<br />
echo 0 > /sys/devices/platform/eeepc/camera<br />
<br />
To record video and take photos, you may use '''cheese''' or the '''wxcam''' package (available in the ''edgy'' repository or AUR).<br />
<br />
pacman -S wxcam<br />
<br />
To simply test the camera, you may use <tt>mplayer</tt>:<br />
<br />
mplayer -fps 15 tv://<br />
<br />
The webcam is reported to work with Skype.<br />
<br />
=== Audio ===<br />
<br />
Audio output is enabled with the default ALSA drivers distributed with the kernels. You may need to install the '''alsa-lib''' and '''alsa-utils''' packages to get full functionality. The internal microphone only works with ALSA 1.0.18+ (included by default in the '''zen-eee901''' kernels).<br />
<br />
To load the module upon boot add the snd-hda-intel module to your list of MODULES in /etc/rc.conf:<br />
<br />
MODULES=( ... snd-hda-intel ... )<br />
<br />
or to automatically load modules for your hardware (including bluetooth, if it is enabled in BIOS), enable autoloading in your /etc/rc.conf:<br />
<br />
MOD_AUTOLOAD="yes"<br />
<br />
Note: The current set of scripts isn't prepared to deal with several audio devices, which means that the pc-speaker should not be enabled at the same time. You can black-list the corresponding driver in /etc/rc.conf as follows:<br />
<br />
MODULES=( ... !snd-pcsp ... )<br />
<br />
=== X ===<br />
<br />
==== Video ====<br />
<br />
You will need the xf86-video-intel video driver:<br />
pacman -S xf86-video-intel<br />
<br />
Then X should run out of the box, including with direct rendering, even without xorg.conf. To get full use of the touchpad (including tapping for mouse click), install the xorg.conf file in the [[Installing Arch Linux on the Asus EEE PC]] wiki page, with this change:<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "ASUS"<br />
ModelName "eeePC 901"<br />
Modeline "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +VSync # 60 Hz<br />
EndSection<br />
<br />
Also remove: 'RgbPath "/usr/share/X11rb"' from Section "Files"<br />
<br />
Some users have reported problems with vsync and the '''xf86-video-intel''' driver. These problems may be partially solved in the application (see this forum [http://bbs.archlinux.org/viewtopic.php?pid=416645#p416645 post].)<br />
<br />
===== Connecting an external Monitor =====<br />
<br />
The xrandr utility (part of Xorg) can be used to switch into screen modes appropriate either for the EeePC's LCD or an externally connected monitor. Running "xrandr -q" will show you the available output devices and the supported modes. Then run the tool as follows:<br />
<br />
xrandr --output LVDS --off --output VGA --auto # disable LCD, enable monitor<br />
xrandr --output LVDS --auto --output VGA --auto # enable both<br />
etc.<br />
<br />
Your monitor will probably support a bigger resolution than the LCD. To make use of that additional screen space, tell the X server to create an appropriately large framebuffer by adding the "Virtual" directive to the Screen/Display section in /etc/X11/xorg.conf:<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
Virtual 1600 1200 # max resolution is 1600x1200<br />
EndSubSection<br />
EndSection<br />
<br />
On the LCD, the additional space will be unused, but when switching to the external monitor, the screen will be. Note that some window managers (such as ratpoison) might need to be restarted to realize that the visible screen size has changed.<br />
<br />
==== Mouse and Synaptics driver ====<br />
<br />
The '''zen-eee901''' kernels include the Elantech/synaptics touchpad mouse driver, as described on the Gentoo wiki at http://gentoo-wiki.com/Asus_EEE_PC_901#Elantech_Driver .<br />
<br />
To enable the Synaptics drivers, first install the synaptics package:<br />
<br />
pacman -S synaptics<br />
<br />
You also need the evdev driver for Xorg:<br />
<br />
pacman -S xf86-input-evdev<br />
<br />
Then make these changes to <tt>/etc/X11/xorg.conf</tt>:<br />
<br />
Section "ServerLayout"<br />
Identifier "ArchLinux"<br />
Screen 0 "Screen0"<br />
InputDevice "keyboard"<br />
InputDevice "mouse"<br />
'''InputDevice "synaptics"'''<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Files"<br />
'''# RgbPath "/usr/share/X11/rgb"'''<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc"<br />
FontPath "/usr/share/fonts/100dpi:unscaled"<br />
FontPath "/usr/share/fonts/75dpi:unscaled"<br />
FontPath "/usr/share/fonts/TTF"<br />
FontPath "/usr/share/fonts/Type1"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "GLcore"<br />
Load "glx"<br />
Load "record"<br />
Load "dri"<br />
Load "extmod"<br />
Load "xtrap"<br />
Load "dbe"<br />
Load "freetype"<br />
'''Load "synaptics"'''<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "InputDevice"<br />
Identifier "mouse"<br />
Driver "mouse"<br />
Option "Device" "/dev/input/mice"<br />
Option "Protocol" "IMPS/2"<br />
Option "Emulate3Buttons" "yes"<br />
Option "ZAxisMapping" "4 5"<br />
Option "CorePointer"<br />
EndSection<br />
<br />
'''Section "InputDevice"'''<br />
'''Identifier "synaptics"'''<br />
'''Driver "synaptics"'''<br />
'''Option "Device" "/dev/psaux"'''<br />
'''Option "Protocol" "auto-dev"'''<br />
'''Option "PalmDetect" "0"'''<br />
'''Option "SHMConfig" "true"'''<br />
'''Option "SendCoreEvents" "yes"'''<br />
'''Option "RBCornerButton" "0"'''<br />
'''Option "RTCornerButtom" "0"'''<br />
'''Option "TapButton1" "1"'''<br />
'''Option "TapButton2" "2"'''<br />
'''Option "TapButton3" "3"'''<br />
'''Option "AccelFactor" "0.0320"'''<br />
'''Option "MaxSpeed" "0.72"'''<br />
'''Option "MinSpeed" "0.6"'''<br />
'''Option "Emulate3Buttons" "true"'''<br />
'''Option "TouchPadOff" "0"'''<br />
'''Option "LBCornerButton" "2"'''<br />
'''Option "LeftEdge" "60"'''<br />
'''Option "RightEdge" "1070"'''<br />
'''Option "TopEdge" "90"'''<br />
'''Option "BottomEdge" "680"'''<br />
'''Option "VertTwoFingerScroll" "1"'''<br />
'''Option "HorizTwoFingerScroll" "1"'''<br />
'''Option "HorizScrollDelta" "20"'''<br />
'''Option "LockedDrags" "1"'''<br />
'''Option "CoastingSpeed" "0.13"'''<br />
'''Option "CircularScrolling" "1"'''<br />
'''Option "CircScrollTrigger" "8" # 8=Top Left Corner'''<br />
'''EndSection'''<br />
<br />
The latest version of the Elantech touchpad driver patch is available at http://arjan.opmeer.net/elantech/. You'll need to apply this patch to your kernel source, then recompile the kernel. This patch has been tested on the 2.6.27.6 and 2.6.27.7 kernels.<br />
<br />
<br />
<br />
====A complete working set Xorg/HAL config files====<br />
<br />
The latest version of <tt>xserver</tt> recommends using the HAL subsystem to manage X device configurations, in place of <tt>xorg.conf</tt>.<br />
<br />
If it isn't installed already, install HAL, then add '''hal''' to the list of daemons in your <tt>/etc/rc.conf</tt> file:<br />
<br />
pacman -s hal<br />
<br />
Create the following HAL device configuration files for X:<br />
<br />
'''File:''' /etc/hal/fdi/policy/10-keymap.fdi (configure the '''input.xkb.layout''' parameter to match your locale)<br />
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- --><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.keymap"><br />
<append key="info.callouts.add" type="strlist">hal-setup-keymap</append><br />
</match><br />
<br />
<match key="info.capabilities" contains="input.keys"><br />
<merge key="input.xkb.rules" type="string">base</merge><br />
<br />
<merge key="input.xkb.model" type="string">keyboard</merge><br />
<match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"><br />
<merge key="input.xkb.model" type="string">evdev</merge><br />
</match><br />
<br />
<merge key="input.xkb.layout" type="string">se</merge><br />
<merge key="input.xkb.variant" type="string" /><br />
<merge key="input.xkb.options" type="string">ctrl:nocaps</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
<br />
'''File:''' /etc/hal/fdi/policy/9-x11-elantech.fdi (configuration for the Elantech touchpad -- <font color="red">could be improved</font>)<br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<match key="info.product" contains="Elantech Touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.SHMConfig" type="string">on</merge><br />
<merge key="input.x11_options.MaxSpeed" type="string">1.00</merge><br />
<merge key="input.x11_options.MinSpeed" type="string">0.75</merge><br />
<merge key="input.x11_options.Emulate3Buttons" type="string">on</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.LockedDrags" type="string">11</merge><br />
</match><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
'''File:''' /etc/X11/xorg.conf<br />
Section "ServerLayout"<br />
Identifier "ArchLinux"<br />
Screen "Screen0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Device0"<br />
Driver "intel"<br />
Option "XAANoOffScreenPixmaps" "true"<br />
Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Device0"<br />
EndSection<br />
The <tt>xorg.conf</tt> file is no longer strictly necessary, but some features, such as windowtitles in wmii, run faster if configured here.<br />
<br />
==== Miscellaneous ====<br />
If you don't have an xorg.conf file, and want to configure the keyboard layout on the fly:<br />
<br />
# Set keyboard to cz with qwerty<br />
setxkbmap cz qwerty<br />
<br />
To configure the mouse speed:<br />
# Set mouse movement and acceleration (you need to tweak this to your needs)<br />
xset m 2 1<br />
<br />
== Power management & Tips ==<br />
<br />
The following tweaks can be used to improve performance and/or power consumption.<br />
<br />
<font color="red">''Warning: these tweaks have not yet been empirically proven to decrease battery power consumption or improve performance. Moreover, they have the potential to cause real havoc to your system, up to and including kernel panic and/or frying your CPU. Caveat Emptor.''</font><br />
<br />
=== FSB (front side bus) ===<br />
<br />
To improve power consumption, and get more hours from your battery, try changing the FSB speed:<br />
<br />
* Insert the eee module (included in the '''zen-eee901''' kernels, above) <br />
<br />
modprobe eee<br />
<br />
Or add '''eee''' to your '''MODULES''' list in <tt>/etc/rc.conf</tt>, to load on boot. The '''zen-eee901''' kernels are distributed with the '''eee''' module.<br />
<br />
Once the module is loaded, there should be a new directory <tt>/proc/eee</tt>. To see the default (boot) FSB settings:<br />
<br />
cat /proc/eee/fsb <br />
<br />
You will see a string similar to <tt>100 50 1</tt>, where 100=PLL multiplier, 50=PLL divisor, and 1=normal voltage<br />
<br />
In general, follow these rules of thumb:<br />
<br />
* The key value is the PLL multiplier (the first value). Some testing indicates that on the EEE 901, with the PLL divisor set to 50, this value will approximate the percentage of the rated speed of the CPU (1600 MHz). Setting the PLL multiplier to "85", for example, will change your CPU speed to around 1360MHz (.85 * 1600). User experiences indicate that safe PLL multiplier values are between 85 and 110. YMMV.<br />
* Don't change the PLL divisor (50).<br />
* The special file <tt>/proc/cpuinfo</tt> will not report accurate CPU speeds. Use '''gkrellm''' or '''conky''' to measure CPU speed.<br />
* Valid values for the voltage flag are '''0''' (low voltage) and '''1''' (normal voltage). Some users have encountered problems running at low CPU speeds with normal voltage; to be on the safe side, use the low voltage flag whenever changing the PLL multiplier to a value below 85.<br />
* Change the FSB speed in steps, not in large jumps. For example, to change from 110 to 85:<br />
<br />
echo 100 50 1 > /proc/eee/fsb<br />
echo 95 50 1 > /proc/eee/fsb<br />
echo 90 50 1 > /proc/eee/fsb<br />
echo 85 50 1 > /proc/eee/fsb<br />
<br />
* To change the FSB to low voltage mode:<br />
<br />
echo 100 50 0 > /proc/eee/fsb<br />
<br />
The '''acpi-eee901''' package in ''robertek's'' repository contains scripts for managing the FSB speed.<br />
<br />
For more information on the Front Side Bus on the Asus EEE PC line, see http://wiki.eeeuser.com/howto:overclockfsb .<br />
<br />
=== Speedstep ===<br />
<br />
Speedstep is included by default in the Linux 2.6.x kernel.<br />
<br />
The '''zen-eee901''' kernels contain the Speedstep modules. Add '''acpi-cpufreq''' to your MODULES list in <tt>/etc/rc.conf</tt> to enable it on boot, or execute:<br />
<br />
modprobe acpi-cpufreq<br />
<br />
See http://rffr.de/acpi for more information.<br />
<br />
== Appendix ==<br />
=== Hardware Overview for 901 ===<br />
<br />
The following hardware is used in the Asus EEE 901:<br />
<br />
* CPU: 1.6GHz N270 Intel Atom<br />
* RAM: 1024 MB, DDR2 667<br />
* ports: 3x USB, VGA<br />
* LAN/ethernet: Atheros L1e 1000 Mbit<br />
* WLAN: Ralink rt2860 802.11b/g/n<br />
* Bluetooth, webcam 1.3 Mpix<br />
* Card reader: SD, SDHC, MMC<br />
* touchpad: "Multi-touch" elantech<br />
* display: 1024x600 8.9"<br />
* weight: 1 kg<br />
* battery: Li-ion, 6600mAh<br />
* HDD: 4 + 8GB, empty slot for 1,8" (remove of the 8GB module needed)<br />
* Graphics: Intel GM950 core, 945GME chipset<br />
<br />
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)<br />
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)<br />
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)<br />
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)<br />
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)<br />
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)<br />
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)<br />
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)<br />
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)<br />
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)<br />
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02) <br />
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)<br />
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)<br />
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)<br />
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)<br />
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)<br />
01:00.0 Network controller: RaLink Device 0781</div>Shodanhttps://wiki.archlinux.org/index.php?title=ASUS_Eee_PC_901&diff=55881ASUS Eee PC 9012008-12-20T13:23:20Z<p>Shodan: /* Configure GRUB */</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
== Introduction ==<br />
<br />
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the ASUS EEE 901 PC.<br />
<br />
Most of the article can also be applied to eeepc-models which are similar to the 901 such the 901H, 1000 and 1000H. If you discover a configuration or software option applicable to a certain model that differs from what is described in this article, please add it, with a note about which model the suggestion pertains to.<br />
<br />
== Install Tips for the Asus Eee PC ==<br />
<br />
This wiki page supplements these pages: '''[[Beginners Guide]]''', the '''[[Official Arch Linux Install Guide|Official Install Guide]]''', and '''[[Installing Arch Linux on the Asus EEE PC]]'''. Please refer to those guides ''first'' before following the eeepc-specific pointers on this page.<br />
<br />
Most of this information is from the Arch Forum EEE 901 [http://bbs.archlinux.org/viewtopic.php?id=53464 thread]. Consult this thread, and other resources on the Arch forum, for more details and discussion.<br />
<br />
== Customized Kernel Installation == <br />
<br />
Follow the Arch Linux installation Guide to install the latest stock distribution from USB media or CDROM. Install the '''BASE''' and '''DEVEL''' package categories. Reboot your PC.<br />
<br />
=== Option 1: Install precompiled customized zen-eee901 kernel for the EEE 901 ===<br />
<br />
Robertek has made available kernel packages configured for the EEE 901:<br />
<br />
* '''zen-eee901-*''', built with the [http://zen-sources.org/ Zen kernel source]<br />
<br />
Robertek's repository can be found here:<br />
<br />
[zen-eee]<br />
Server = http://robertek.brevnov.net/files/linux/arch<br />
<br />
<br />
Etuxia set up a mirror for the kernel:<br />
<br />
[zen-eee]<br />
Server = http://archeee.konventare.se<br />
<br />
There are two kernel packages, both of them based on the ''2.6.27'' zen kernel: <br />
<br />
* '''zen-eee901-1G''': optimized for machines with 1GB RAM<br />
* '''zen-eee901-4G''': optimized for machines with 2GB RAM (The "4G" refers to parameters enabled in <tt>kernelconfig</tt>)<br />
<br />
Install the kernel package best suited for your system. As written above: if you have no internet-connection at this point on your eeePC, manually install the kernelpackage from Robertek's repository, move it with an usb-stick to your eeePC and install it locally using [[Pacman#Other_Usage|Pacman]].<br />
<br />
Package sources are available at http://robertek.brevnov.net/files/linux/arch/zen-eee901-1G and http://robertek.brevnov.net/files/linux/arch/zen-eee901-4G<br />
<br />
==== Configure GRUB ====<br />
<br />
Configure GRUB to boot with the new kernel:<br />
<br />
'''zen-eee901''':<br />
title Arch Linux zen-eee901<br />
root (hd0,0)<br />
kernel /boot/zeneee root=/dev/disk/by-uuid/... ro<br />
initrd /boot/zeneee.img<br />
<br />
The kernel <tt>root=</tt> parameter should be changed to the UUID or /dev/sdaX that matches your root partition.<br />
<br />
You may additionally need to set the following HOOKS in <tt>/etc/mkinitcpio.conf</tt>, then create a custom initrd image file:<br />
<br />
HOOKS=(BASE UDEV PATA FILESYSTEMS)<br />
<br />
Add '''USB''' to HOOKS if you plan on running Arch Linux off a USB device or SDHC card.<br />
<br />
=== Option 2: Using the Stock kernel ===<br />
This section gives some hints and clues about how to tweak the stock ArchLinux kernel for the EeePC 901. For more general information about building custom ArchLinux kernels, see [[Kernel Compilation]]. <br />
<br />
The stock kernel has some advantages over the custom kernel:<br />
<br />
* The ethernet driver is now available in stock kernel (called: ''Atheros L1E Gigabit Ethernet support''), so no external modules or patching needed<br />
<br />
* It is likely that more Asus and EeePC-specific features will be included in future versions of the stock kernel, and current drivers will improve with each kernel release. (Word has it that Linus Torvalds himself bought an EeePc). Chances are that the stock kernel now includes the drivers and features you need for your EeePC.<br />
<br />
* The stock kernel, as part of the core repository, is always available and maintained in a number of mirror repositories.<br />
<br />
==== example .config ====<br />
Here is a sample kernel .config file created for the 1000H with the stock 2.6.27.7 kernel: [http://nopaste.info/3daf27d4f3_nl.html .config].<br />
<br />
You can take it as starting point to build your own kernel. Make sure that the filesystem types you want to use are configured (at the moment this configuration only contains ext2, compiled in, and ext3 as module).<br />
<br />
== OS Configuration ==<br />
<br />
=== Networking: Ethernet ===<br />
<br />
Ethernet (wired) network access should work right out of the box with precompiled kernels, or with '''atl1e''' module you built from AUR.<br />
<br />
''Note: The Atheros at1le driver version 1.0.0.4 contains a bug that sometimes cause the driver to assign a bogus MAC address to your ethernet card. The zen-eee901 kernel contains a later version of the driver (1.0.1.0) that fixes this.''<br />
<br />
=== Networking: Wireless ===<br />
After a bios-upgrade the wireless-card of the Eee PC will be disabled by default, so if you have any troubles with wlan check that it is enabled in the bios.<br />
<br />
The precompiled kernels listed above contain a [http://www.itwriting.com/blog/778-fixing-wi-fi-on-asus-eee-pc-901-with-linux.html patched] version of the wifi driver '''rt2860sta''' and it should work with both WEP and WPA. <br />
<br />
If you are compiling the '''rt2860sta''' kernel driver yourself, use the newest (1.8) version of the driver in AUR: http://aur.archlinux.org/packages.php?ID=14557. <br />
<br />
Make sure you have the '''wireless_tools''' package installed, also. You may need to manually download the package from a [[Mirror]] (look in ''core/os/i686/'') and install it locally (e.g. after moving it with a usb-stick to your eeePC) using [[Pacman#Other_Usage|Pacman]].<br />
<br />
There are reported some problems associating an AP with netcfg2 (WEP and open, WPA-PSK works ok). If you experience problems, try another connection manager, for example wicd works fine.<br />
pacman -S wicd<br />
<br />
=== ACPI (Hotkeys) ===<br />
<br />
==== Option 1: Install the '''acpi-eee901''' package from ''robertek's'' repository ====<br />
<br />
Robertek has made available an ACPI package customized for the EeePC 901, which makes use of interfaces available in /proc/acpi/asus:<br />
<br />
pacman -Sy acpi-eee901<br />
<br />
This will enable all the ''Fn + xx'' buttons as configured in the default Xandros distribution (provided you have also installed '''htop''' and '''alsa-utils''')<br />
<br />
Add '''acpid''' to <tt>/etc/rc.conf</tt> to start at boot.<br />
<br />
To enable toggling WiFi on/off via the ''Fn + F2'' hotkey, you will need to configure the '''pciehp''' module.<br />
<br />
* Add to <tt>/etc/modprobe.conf</tt>:<br />
<br />
options pciehp pciehp_force=1<br />
<br />
* To autoload '''pciehp''' on startup, add '''pciehp''' to the MODULES list in <tt>/etc/rc.conf</tt>.<br />
<br />
The four silver function buttons above the keyboard have been minimally configured in the ''robertek'' '''acpi-eee901'''. See <tt>/etc/acpi/eee.conf</tt> for more information about configuring ACPI and enabling special actions. <br />
<br />
==== Option 2: Configure the stock kernel ACPI features ====<br />
<br />
Enable the ASUS_LAPTOP (Device Drivers -> Misc Devices) switch in your kernel config and turn off ACPI_ASUS switch (Power managment options -> ACPI).<br />
<br />
To enable the FN keys, the WLAN and Camera on/off toggles, etc., activate the EEEPC_LAPTOP switch also (Device Drivers -> Misc Devices). <br />
<br />
You can use Robertek's PKGBUILD and files for '''acpi-www901''' at http://robertek.brevnov.net/files/linux/arch/acpi-eee901/ as a base to incorporate the stock kernel modules and ASUS OSD into the ACPI system.<br />
<br />
Note: The kernel interfaces <tt>/proc/acpi/asus</tt> or <tt>/proc/acpi/eee</tt> are not available with the '''eeepc_laptop''' module. The corresponding '''eeepc_laptop''' interfaces are files in: <tt>/sys/devices/platform/eeepc/</tt>. You may need to edit some of the scripts under <tt>/etc/acpi/</tt> to point to the correct paths.<br />
<br />
==== ASUS OSD ====<br />
<br />
Asus OSD is included as part of the '''acpi-eee901''' package. Simply add the command <tt>asusosd &</tt> to your desktop manager startup script, or create the file <tt>/etc/xdg/autostart/asusosd.desktop</tt> with these contents:<br />
<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Name=ASUS OSD<br />
Comment=ASUS OSD<br />
Exec=/usr/bin/asusosd<br />
Terminal=false<br />
Type=Application<br />
StartupNotify=false<br />
Hidden=false<br />
<br />
=== Bluetooth ===<br />
<br />
Currently, Bluetooth is not enabled with the ''Fn + F2'' hotkey. To communicate with Bluetooth devices, make sure Bluetooth has been enabled in the BIOS.<br />
<br />
In the '''zen-eee901''' kernels you can turn Bluetooth on and off:<br />
<br />
# enable<br />
$ echo 1 > /proc/acpi/asus/bluetooth<br />
# disable<br />
$ echo 0 > /proc/acpi/asus/bluetooth<br />
<br />
Install the '''bluez-utils''' and '''bluez-libs''' packages, then <tt>modprobe btusb</tt>.<br />
<br />
''Note: in the test repository '''bluez-utils''' and '''bluez-libs''' are merged into a single package, '''bluez'''.''<br />
<br />
See the Arch Linux [[Bluetooth]] and [[Bluetooth Mouse]] wiki pages for more information about configuring and using Bluetooth devices.<br />
<br />
=== Webcam ===<br />
<br />
To enable/disable the camera:<br />
<br />
# enable<br />
echo 1 > /proc/acpi/asus/camera<br />
# disable<br />
echo 0 > /proc/acpi/asus/camera <br />
<br />
or with eee-kernel901:<br />
<br />
# enable<br />
echo 1 > /sys/devices/platform/eeepc/camera<br />
# disable<br />
echo 0 > /sys/devices/platform/eeepc/camera<br />
<br />
To record video and take photos, you may use '''cheese''' or the '''wxcam''' package (available in the ''edgy'' repository or AUR).<br />
<br />
pacman -S wxcam<br />
<br />
To simply test the camera, you may use <tt>mplayer</tt>:<br />
<br />
mplayer -fps 15 tv://<br />
<br />
The webcam is reported to work with Skype.<br />
<br />
=== Audio ===<br />
<br />
Audio output is enabled with the default ALSA drivers distributed with the kernels. You may need to install the '''alsa-lib''' and '''alsa-utils''' packages to get full functionality. The internal microphone only works with ALSA 1.0.18+ (included by default in the '''zen-eee901''' kernels).<br />
<br />
To load the module upon boot add the snd-hda-intel module to your list of MODULES in /etc/rc.conf:<br />
<br />
MODULES=( ... snd-hda-intel ... )<br />
<br />
or to automatically load modules for your hardware (including bluetooth, if it is enabled in BIOS), enable autoloading in your /etc/rc.conf:<br />
<br />
MOD_AUTOLOAD="yes"<br />
<br />
Note: The current set of scripts isn't prepared to deal with several audio devices, which means that the pc-speaker should not be enabled at the same time. You can black-list the corresponding driver in /etc/rc.conf as follows:<br />
<br />
MODULES=( ... !snd-pcsp ... )<br />
<br />
=== X ===<br />
<br />
==== Video ====<br />
<br />
You will need the xf86-video-intel video driver:<br />
pacman -S xf86-video-intel<br />
<br />
Then X should run out of the box, including with direct rendering, even without xorg.conf. To get full use of the touchpad (including tapping for mouse click), install the xorg.conf file in the [[Installing Arch Linux on the Asus EEE PC]] wiki page, with this change:<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "ASUS"<br />
ModelName "eeePC 901"<br />
Modeline "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +VSync # 60 Hz<br />
EndSection<br />
<br />
Some users have reported problems with vsync and the '''xf86-video-intel''' driver. These problems may be partially solved in the application (see this forum [http://bbs.archlinux.org/viewtopic.php?pid=416645#p416645 post].)<br />
<br />
===== Connecting an external Monitor =====<br />
<br />
The xrandr utility (part of Xorg) can be used to switch into screen modes appropriate either for the EeePC's LCD or an externally connected monitor. Running "xrandr -q" will show you the available output devices and the supported modes. Then run the tool as follows:<br />
<br />
xrandr --output LVDS --off --output VGA --auto # disable LCD, enable monitor<br />
xrandr --output LVDS --auto --output VGA --auto # enable both<br />
etc.<br />
<br />
Your monitor will probably support a bigger resolution than the LCD. To make use of that additional screen space, tell the X server to create an appropriately large framebuffer by adding the "Virtual" directive to the Screen/Display section in /etc/X11/xorg.conf:<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
Virtual 1600 1200 # max resolution is 1600x1200<br />
EndSubSection<br />
EndSection<br />
<br />
On the LCD, the additional space will be unused, but when switching to the external monitor, the screen will be. Note that some window managers (such as ratpoison) might need to be restarted to realize that the visible screen size has changed.<br />
<br />
==== Mouse and Synaptics driver ====<br />
<br />
The '''zen-eee901''' kernels include the Elantech/synaptics touchpad mouse driver, as described on the Gentoo wiki at http://gentoo-wiki.com/Asus_EEE_PC_901#Elantech_Driver .<br />
<br />
To enable the Synaptics drivers, first install the synaptics package:<br />
<br />
pacman -S synaptics<br />
<br />
You also need the evdev driver for Xorg:<br />
<br />
pacman -S xf86-input-evdev<br />
<br />
Then make these changes to <tt>/etc/X11/xorg.conf</tt>:<br />
<br />
Section "ServerLayout"<br />
Identifier "ArchLinux"<br />
Screen 0 "Screen0"<br />
InputDevice "keyboard"<br />
InputDevice "mouse"<br />
'''InputDevice "synaptics"'''<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "Files"<br />
'''# RgbPath "/usr/share/X11/rgb"'''<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc"<br />
FontPath "/usr/share/fonts/100dpi:unscaled"<br />
FontPath "/usr/share/fonts/75dpi:unscaled"<br />
FontPath "/usr/share/fonts/TTF"<br />
FontPath "/usr/share/fonts/Type1"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "GLcore"<br />
Load "glx"<br />
Load "record"<br />
Load "dri"<br />
Load "extmod"<br />
Load "xtrap"<br />
Load "dbe"<br />
Load "freetype"<br />
'''Load "synaptics"'''<br />
EndSection<br />
<br />
[...]<br />
<br />
Section "InputDevice"<br />
Identifier "mouse"<br />
Driver "mouse"<br />
Option "Device" "/dev/input/mice"<br />
Option "Protocol" "IMPS/2"<br />
Option "Emulate3Buttons" "yes"<br />
Option "ZAxisMapping" "4 5"<br />
Option "CorePointer"<br />
EndSection<br />
<br />
'''Section "InputDevice"'''<br />
'''Identifier "synaptics"'''<br />
'''Driver "synaptics"'''<br />
'''Option "Device" "/dev/psaux"'''<br />
'''Option "Protocol" "auto-dev"'''<br />
'''Option "PalmDetect" "0"'''<br />
'''Option "SHMConfig" "true"'''<br />
'''Option "SendCoreEvents" "yes"'''<br />
'''Option "RBCornerButton" "0"'''<br />
'''Option "RTCornerButtom" "0"'''<br />
'''Option "TapButton1" "1"'''<br />
'''Option "TapButton2" "2"'''<br />
'''Option "TapButton3" "3"'''<br />
'''Option "AccelFactor" "0.0320"'''<br />
'''Option "MaxSpeed" "0.72"'''<br />
'''Option "MinSpeed" "0.6"'''<br />
'''Option "Emulate3Buttons" "true"'''<br />
'''Option "TouchPadOff" "0"'''<br />
'''Option "LBCornerButton" "2"'''<br />
'''Option "LeftEdge" "60"'''<br />
'''Option "RightEdge" "1070"'''<br />
'''Option "TopEdge" "90"'''<br />
'''Option "BottomEdge" "680"'''<br />
'''Option "VertTwoFingerScroll" "1"'''<br />
'''Option "HorizTwoFingerScroll" "1"'''<br />
'''Option "HorizScrollDelta" "20"'''<br />
'''Option "LockedDrags" "1"'''<br />
'''Option "CoastingSpeed" "0.13"'''<br />
'''Option "CircularScrolling" "1"'''<br />
'''Option "CircScrollTrigger" "8" # 8=Top Left Corner'''<br />
'''EndSection'''<br />
<br />
The latest version of the Elantech touchpad driver patch is available at http://arjan.opmeer.net/elantech/. You'll need to apply this patch to your kernel source, then recompile the kernel. This patch has been tested on the 2.6.27.6 and 2.6.27.7 kernels.<br />
<br />
<br />
<br />
====A complete working set Xorg/HAL config files====<br />
<br />
The latest version of <tt>xserver</tt> recommends using the HAL subsystem to manage X device configurations, in place of <tt>xorg.conf</tt>.<br />
<br />
If it isn't installed already, install HAL, then add '''hal''' to the list of daemons in your <tt>/etc/rc.conf</tt> file:<br />
<br />
pacman -s hal<br />
<br />
Create the following HAL device configuration files for X:<br />
<br />
'''File:''' /etc/hal/fdi/policy/10-keymap.fdi (configure the '''input.xkb.layout''' parameter to match your locale)<br />
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- --><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.keymap"><br />
<append key="info.callouts.add" type="strlist">hal-setup-keymap</append><br />
</match><br />
<br />
<match key="info.capabilities" contains="input.keys"><br />
<merge key="input.xkb.rules" type="string">base</merge><br />
<br />
<merge key="input.xkb.model" type="string">keyboard</merge><br />
<match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"><br />
<merge key="input.xkb.model" type="string">evdev</merge><br />
</match><br />
<br />
<merge key="input.xkb.layout" type="string">se</merge><br />
<merge key="input.xkb.variant" type="string" /><br />
<merge key="input.xkb.options" type="string">ctrl:nocaps</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
<br />
'''File:''' /etc/hal/fdi/policy/9-x11-elantech.fdi (configuration for the Elantech touchpad -- <font color="red">could be improved</font>)<br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<match key="info.product" contains="Elantech Touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.SHMConfig" type="string">on</merge><br />
<merge key="input.x11_options.MaxSpeed" type="string">1.00</merge><br />
<merge key="input.x11_options.MinSpeed" type="string">0.75</merge><br />
<merge key="input.x11_options.Emulate3Buttons" type="string">on</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.LockedDrags" type="string">11</merge><br />
</match><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
'''File:''' /etc/X11/xorg.conf<br />
Section "ServerLayout"<br />
Identifier "ArchLinux"<br />
Screen "Screen0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Device0"<br />
Driver "intel"<br />
Option "XAANoOffScreenPixmaps" "true"<br />
Option "AccelMethod" "XAA"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Device0"<br />
EndSection<br />
The <tt>xorg.conf</tt> file is no longer strictly necessary, but some features, such as windowtitles in wmii, run faster if configured here.<br />
<br />
==== Miscellaneous ====<br />
If you don't have an xorg.conf file, and want to configure the keyboard layout on the fly:<br />
<br />
# Set keyboard to cz with qwerty<br />
setxkbmap cz qwerty<br />
<br />
To configure the mouse speed:<br />
# Set mouse movement and acceleration (you need to tweak this to your needs)<br />
xset m 2 1<br />
<br />
== Power management & Tips ==<br />
<br />
The following tweaks can be used to improve performance and/or power consumption.<br />
<br />
<font color="red">''Warning: these tweaks have not yet been empirically proven to decrease battery power consumption or improve performance. Moreover, they have the potential to cause real havoc to your system, up to and including kernel panic and/or frying your CPU. Caveat Emptor.''</font><br />
<br />
=== FSB (front side bus) ===<br />
<br />
To improve power consumption, and get more hours from your battery, try changing the FSB speed:<br />
<br />
* Insert the eee module (included in the '''zen-eee901''' kernels, above) <br />
<br />
modprobe eee<br />
<br />
Or add '''eee''' to your '''MODULES''' list in <tt>/etc/rc.conf</tt>, to load on boot. The '''zen-eee901''' kernels are distributed with the '''eee''' module.<br />
<br />
Once the module is loaded, there should be a new directory <tt>/proc/eee</tt>. To see the default (boot) FSB settings:<br />
<br />
cat /proc/eee/fsb <br />
<br />
You will see a string similar to <tt>100 50 1</tt>, where 100=PLL multiplier, 50=PLL divisor, and 1=normal voltage<br />
<br />
In general, follow these rules of thumb:<br />
<br />
* The key value is the PLL multiplier (the first value). Some testing indicates that on the EEE 901, with the PLL divisor set to 50, this value will approximate the percentage of the rated speed of the CPU (1600 MHz). Setting the PLL multiplier to "85", for example, will change your CPU speed to around 1360MHz (.85 * 1600). User experiences indicate that safe PLL multiplier values are between 85 and 110. YMMV.<br />
* Don't change the PLL divisor (50).<br />
* The special file <tt>/proc/cpuinfo</tt> will not report accurate CPU speeds. Use '''gkrellm''' or '''conky''' to measure CPU speed.<br />
* Valid values for the voltage flag are '''0''' (low voltage) and '''1''' (normal voltage). Some users have encountered problems running at low CPU speeds with normal voltage; to be on the safe side, use the low voltage flag whenever changing the PLL multiplier to a value below 85.<br />
* Change the FSB speed in steps, not in large jumps. For example, to change from 110 to 85:<br />
<br />
echo 100 50 1 > /proc/eee/fsb<br />
echo 95 50 1 > /proc/eee/fsb<br />
echo 90 50 1 > /proc/eee/fsb<br />
echo 85 50 1 > /proc/eee/fsb<br />
<br />
* To change the FSB to low voltage mode:<br />
<br />
echo 100 50 0 > /proc/eee/fsb<br />
<br />
The '''acpi-eee901''' package in ''robertek's'' repository contains scripts for managing the FSB speed.<br />
<br />
For more information on the Front Side Bus on the Asus EEE PC line, see http://wiki.eeeuser.com/howto:overclockfsb .<br />
<br />
=== Speedstep ===<br />
<br />
Speedstep is included by default in the Linux 2.6.x kernel.<br />
<br />
The '''zen-eee901''' kernels contain the Speedstep modules. Add '''acpi-cpufreq''' to your MODULES list in <tt>/etc/rc.conf</tt> to enable it on boot, or execute:<br />
<br />
modprobe acpi-cpufreq<br />
<br />
See http://rffr.de/acpi for more information.<br />
<br />
== Appendix ==<br />
=== Hardware Overview for 901 ===<br />
<br />
The following hardware is used in the Asus EEE 901:<br />
<br />
* CPU: 1.6GHz N270 Intel Atom<br />
* RAM: 1024 MB, DDR2 667<br />
* ports: 3x USB, VGA<br />
* LAN/ethernet: Atheros L1e 1000 Mbit<br />
* WLAN: Ralink rt2860 802.11b/g/n<br />
* Bluetooth, webcam 1.3 Mpix<br />
* Card reader: SD, SDHC, MMC<br />
* touchpad: "Multi-touch" elantech<br />
* display: 1024x600 8.9"<br />
* weight: 1 kg<br />
* battery: Li-ion, 6600mAh<br />
* HDD: 4 + 8GB, empty slot for 1,8" (remove of the 8GB module needed)<br />
* Graphics: Intel GM950 core, 945GME chipset<br />
<br />
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)<br />
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)<br />
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)<br />
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)<br />
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)<br />
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)<br />
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)<br />
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)<br />
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)<br />
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)<br />
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02) <br />
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)<br />
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)<br />
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)<br />
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)<br />
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)<br />
01:00.0 Network controller: RaLink Device 0781</div>Shodan