Asus Eee PC

This page describes FreeBSD support for the Asus line of subnotebooks, Eee PC.

Tasks

Task

Status

Responsible

Fix ACPI battery information

Done

rpaulo

Add missing pieces to acpi_asus(4) (hotkeys!)

Done

rpaulo

Ethernet driver (ae(4))

Done

stas

Fix snd_hda(4) resume path

Done

dumbbell

Fix Synaptics touchpad resume path

TBD

TBD (kmacy)

Implement PCIE hotplug support [1]

TBD

TBD

Hardware Monitoring

In development

rpaulo

Wireless driver for 901 (ral(4))

In development

thompsa

L1 ethernet driver for 901

Done

yongari

[1] - Needed for Fn + F2 operation.

General notes (please READ!)

Some users found that enabling powerd causes sudden reboots and problems with the SD card and/or external devices. The problem may lie in acpi_throttle(4). Please don't enable powerd or disable acpi_throttle in your loader.conf on the 701. If you disable acpi_throttle, powerd is useless because the Eee PC 701 CPU has no Enhanced Speedstep support.

SD card reader problems

Some users found that using the eeemon(4) kernel driver and enabling "high voltage" (sysctl dev.eeemon.0.voltage=1) makes some SD/SDHC cards functional. The error/success on this behavior depends on the card itself.

Another thing to do if you get write errors or your system hangs when writing to the SD/SDHC card is to try changing the BIOS setting of "OS Installation" to "Start". The following should change in your dmesg:

da0: 40.000MB/s transfers

to:

da0: 1.000MB/s transfers

This may not make the problem go away entirely, but makes it less problematic.

Hardware

701

701 SE (special edition)

900

900HD

901

A customized kernel configuration EEE_HEAD is available, this should result in this dmesg-v-20081216-eee901.txt dmesg output. This system is cross-compiled on another host with environment settings TARGET=TARGET_ARCH=i386 and make.conf variable CPUTYPE?=prescott

1000H

1000HE

Configurations are said to vary, especially wrt wireless modules. Some users report Ralink cards.

S101

acpi_acad0: unknown notify 0x81
ale0: 2 link states coalesced
ad0: FAILURE - SET_MULTI status=51<READY,DCS,ERROR> error=4<ABORTED>

Installation procedure

Perhaps the most easy way to install FreeBSD on the Eee is to build HEAD or RELENG_7 from source. A detailed procedure is explained at http://bsdimp.blogspot.com/2007/10/building-bootable-freebsdi386-images.html . This builds "Live Pen Drive" version of FreeBSD.

Pressing "Escape" on the BIOS boot screen allows you to select the boot device. After a sucessful boot, install FreeBSD on the SSD by typing (WARNING: this erases your SSD!):

# fdisk -I ad2
# fdisk -B ad2
# bsdlabel -w ad2s1 auto
# bsdlabel -B ad2s1
# newfs -U /dev/ad2s1a
# mount /dev/ad2s1a /mnt
# cp -Rp /COPYRIGHT /.cshrc /.profile /b* /etc /home /l* /sbin /r* /usr /mnt
# mkdir /mnt/dev /mnt/tmp
# chmod 1777 /mnt/tmp 

Add the following to your /etc/fstab:

/dev/ad2s1a             /               ufs     rw,noatime      1       1
tmpfs                   /tmp            tmpfs   rw,size=20000000        0       0

This creates a 20Mb tmpfs file system on /tmp.

Don't forget to add this to your /boot/loader.conf:

snd_hda_load="YES"
acpi_asus_load="YES"
tmpfs_load="YES"

hw.pci.do_power_nodriver=1
kern.hz=100

Suspend/resume

Basic stuff works. What you need to make it work/caveats:

What doesn't work:

Attansic L2 FastEthernet

The driver has been committed to HEAD. Expect an MFC after 7.1 is out.

Atheros L1 FastEthernet

This one is second generation of L1 controller which is supposed to be heavily modified by Atheros after acquiring Attansic.

The driver has been committed to HEAD, http://lists.freebsd.org/pipermail/svn-src-all/2008-November/001172.html

Atheros Wireless LAN

See per-model notes.

Touchpad (synaptics) configuration

Hotkeys

Update to latest HEAD or RELENG_7 and make sure you have acpi_asus(4) loaded. The following should show up on dmesg:

acpi_asus0: <ASUS EeePC> on acpi0

After that, the hotkeys should work out-of-the-box. If you don't like how we configured them in /etc/devd.conf, edit that file and suit it to your preferences.

Hardware monitor

eeemon(4) is a hardware monitor and tunable for your Eee. With it, you can monitor the temperature and the fan speed. You can also alternate between High/Low voltage and control the fan speed.

Fetch and install http://svn.freebsd.org/viewvc/base/user/rpaulo/eeemon/ . This module creates dev.cpu.0.temperature and dev.cpu.0.fan (note that this is from a different source than ACPI, but the value is usually the same).

References

  1. http://nighthack.org/wiki/EeeBSD

AsusEee (last edited 2009-07-01 13:42:43 by AndrewPantyukhin)