Asus Eee PC
This page describes FreeBSD support for the Asus line of subnotebooks, Eee PC.
Contents
Tasks
Task |
Status |
Responsible |
Fix ACPI battery information |
Done |
rpaulo |
Add missing pieces to acpi_asus(4) (hotkeys!) |
Committed |
rpaulo |
Ethernet driver (ae(4)) |
Under development |
stas |
Fix snd_hda(4) resume path |
TBD |
TBD (kmacy) |
Fix Synaptics touchpad resume path |
TBD |
TBD (kmacy) |
Implement PCIE hotplug support [1] |
TBD |
TBD (rpaulo) |
Hardware Monitoring |
In development |
rpaulo |
Wireless driver for 901 (ral(4)) |
In development |
thompsa |
L1 ethernet driver for 901 |
TBD |
TBD |
[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
If you get write errors or your system hangs when writing to the SD/SDHC card, 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
- Intel(R) Celeron(R) M processor 900MHz (630.07-MHz 686-class CPU)
ath(4): Atheros 5424/2424
ae(4): Attansic L2 FastEthernet
acpi_asus(4)
acpi_video(4)
900
- Intel(R) Celeron(R) M processor 900MHz (900.10-MHz 686-class CPU)
ath(4): Atheros 5424/2424
ae(4): Attansic L2 FastEthernet
acpi_asus(4)
acpi_video(4)
901
- Intel(R) Atom(TM) CPU N270 1.60GHz (1600.01-MHz 686-class CPU)
ral(4): Ralink 2860
Atheros L1 FastEthernet (unsupported)
acpi_asus(4)
acpi_video(4)
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:
hw.acpi.reset_video=1 (add it to /etc/sysctl.conf)
Most likely you'll also want hw.acpi.sleep_button_state=S3 so that the sleep button actually suspends.
The LCD is off after resuming. To fix that, change the brightness level by hand or add sysctl hw.acpi.asus.lcd_brightness=8 to /etc/rc.resume (after the kldunload comment).
Make sure you umount the SD or SDHC card before suspending. The Eee will detach the USB card reader on suspend and reattach it on resume.
What doesn't work:
After resume, the touchpad will be unresponsive. As a workaround, don't use psm(4) Synaptics support.
snd_hda(4) has no resume support. You have to kldunload it before suspend and kldload it after resume.
ae(4) WOL support was not tested.
Attansic L2 FastEthernet
As of 24 June 2008 ae(4) driver is mostly complete, receive/transmit works pretty stable. There're some things to be polished out, though.
Get the driver at: http://www.SpringDaemons.com/stas/if_ae.diff.2008081800
Atheros L1 FastEthernet
This one is second generation of L1 controller which is supposed to be heavily modified by Atheros after acquiring Attansic. This controller uses different bits/meaning in register layouts and seems to use different descriptor formats. This is not supported by the age(4) driver.
Atheros Wireless LAN
This WiFi card requires a new HAL. Get it from http://people.freebsd.org/~sam/ath_hal-20080528.tgz . Unpack the tarball and move the contents of the ath_hal-20080528 directory to /usr/src/sys/contrib/dev/ath.
After that, rebuild your kernel.
You should see something like:
ath_hal: 0.10.5.6 (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133, RF2425, RF2417)
in your dmesg.
Touchpad (synaptics) configuration
- Disable moused in rc.conf
- Add hw.psm.synaptics_support=1 to loader.conf
- pkg_add -r synaptics and edit Xorg.conf according to synaptic's pkg-message
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
Fetch and install http://people.freebsd.org/~rpaulo/eeemon.tgz. This module creates dev.cpu.0.temperature and dev.cpu.0.fan (note that this is different from ACPI).