====== Asus Eee PC ======
This page describes %%FreeBSD%% support for the Asus line of netbooks, 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 (''%%rt2860%%'') [2] | - | - |
| L1 ethernet driver for 901 | Done | yongari |
[1] - Needed for Fn + F2 operation to enable/disable wireless.
[2] - An experimental driver for the Ralink 2860 chipset is available at the [[http://repo.or.cz/w/ralink_drivers.git|ralink_drivers.git repository]]. See also [[http://forums.freebsd.org/showthread.php?t=7010|this]]
topic at the %%FreeBSD%% foums.
====== 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 (70x model only) =====
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 =====
* 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)%%''
===== 701 SE (special edition) =====
* Intel(R) Celeron(R) M processor 900MHz (897.76-MHz 686-class CPU)
* 8GB SSD
* Atheros/Attansic AR81xx PCIe Gigabit Ethernet (''%%ale(4)%%'')
* Realtek Wireless (not supported)
===== 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)%%''
For snd_hda on 8.0 / current you'll need the following hint for the headphone/speakers detection to work properly:
hint.hdac.0.cad0.nid21.config="as=1 seq=15"
in ''%%/boot/device.hints%%''.
===== 900A =====
* Intel(R) Atom(TM) CPU N270 @ 1.60GHz
* ''%%ath(4)%%'': Atheros 5424/2424
* ''%%ale(4)%%'': Atheros PCI-E Gigabit Ethernet Controller AR8121
* ''%%acpi_asus(4)%%''
* ''%%acpi_video(4)%%''
For snd_hda on 8.0 / current you'll need the following hint for the headphone/speakers detection to work properly:
hint.hdac.0.cad0.nid21.config="as=1 seq=15"
in ''%%/boot/device.hints%%''. Otherwise, only the speakers work and headphones don't work at all (and plugging in the headphones doesn't turn off the speakers).
===== 900HD =====
* Intel(R) Celeron(R) M processor 900MHz (900.10-MHz 686-class CPU)
* Realtek RTL8187SE Wireless LAN PCIE Network Adapter (not supported)
* ale(4) Atheros L1 %%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 - not supported
* ''%%ale(4)%%'' Atheros L1 %%FastEthernet%%
* ''%%acpi_asus(4)%%''
* ''%%acpi_video(4)%%''
A customized kernel configuration {{laptops/asus_eee/eee_head?linkonly|EEE_HEAD}} is available, this should result in this {{laptops/asus_eee/dmesg-v-20081216-eee901.txt?linkonly|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
===== 1000 =====
* Intel(R) Atom(TM) CPU N270 1.60GHz (1600.01-MHz 686-class CPU)
* Atheros AR8121/AR8113/AR8114 PCIe Ethernet
* Ralink 2860 PCI - NOT currently supported
===== 1000H =====
* Same as 901, but with a 10 inch. screen.
===== 1000HE =====
Configurations are said to vary, especially wrt wireless modules. Some users report Ralink cards.
* Intel(R) Atom(TM) CPU N280 1.66GHz (1662.51-MHz 686-class CPU)
* ''%%ale(4)%%'' Atheros L1 %%FastEthernet%%
* ''%%ath(4)%%'': Atheros 5424/2424 (AW-GE780)
* ''%%ng_ubt(4)%%'': Broadcom BT-253 (AW-BT253)
* ''%%acpi_asus(4)%%''
* ''%%acpi_video(4)%%''
* ''%%snd_hda(4)%%'': Intel 82801G
* 160GB HDD (Hitachi)
===== 1005HA =====
* Same as 1000HE except for the networking
* ''%%alc(4)%%'' Atheros AR8131/AR8132 Gigabit/Fast Ethernet - link handling is flaky
* ''%%ath(4)%%'' Wireless Atheros 9285 (supported in HEAD and 8/STABLE)
===== 1015PD =====
* See https://sites.google.com/site/y7goto/freebsd-on-eeepc-1015pd
===== 1018P =====
* Intel(R) Atom(TM) CPU N455 @ 1.66GHz (1662.54-MHz 686-class CPU)
* ''%%acpi_asus(4)%%''
* ''%%acpi_video(4)%%''
* ''%%alc(4)%%'': Atheros AR8132 PCIe Fast Ethernet
* ''%%cuse4bsd(3)%%'': USB2.0 UVC VGA %%WebCam%% Azurewave
* ''%%intel(4x)%%'': Intel Pineview (M) SVGA Controller
* ''%%ndis(4)%%'': BCM4313 802.11b/g/n Wireless LAN controller
* ''%%ng_ubt(4)%%''
* ''%%sdhci(4)%%''
* ''%%snd_hda(4)%%'': Realtek ALC269
* 250GB HDD (Seagate)
===== 1201N =====
* Intel(R) Atom(TM) CPU N330 1.6GHz 32-bit/64-bit
* Nvidia Ion - either use proprietary driver or Nouveau
* Realtek RTL8191SE B/G/N Wireless
===== 1215N =====
* Intel(R) Atom(TM) CPU D525 1.80GHz
* ''%%alc(4)%%'' Atheros AR8152 v2.0 PCIe Fast Ethernet
* (no driver) BCM4313 802.11b/g/n Wireless LAN Controller
===== S101 =====
* Intel(R) Atom(TM) CPU N270 1.60GHz (1600.01-MHz 686-class CPU)
* ''%%ale(4)%%'' Atheros L1 %%FastEthernet%%
* ''%%acpi_asus(4)%%''
* ''%%acpi_video(4)%%''
* Wireless Atheros AR9280 (supported in 8.0, others?) class=0x028000 card=0x10671a3b chip=0x002a168c rev=0x01 hdr=0x00
* Suspend/resume doesn't work (hangs) after
acpi_acad0: unknown notify 0x81
ale0: 2 link states coalesced
ad0: FAILURE - SET_MULTI status=51 error=4
====== Installation procedure ======
The easiest way to install %%FreeBSD%% on an eee is to use the USB memory stick image. Transfer this to the memory stick with dd:
dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/da0 bs=10240 conv=sync
taking extreme care that the device name (/dev/da0 in the example) is
correct. The memory stick image is available under
/pub/%%FreeBSD%%/releases/i386/ISO-IMAGES/8.0/. Alternative, you can build
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"
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:
* ''%%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 ======
The ae(4) driver first appeared in %%FreeBSD%% 7.1.
====== Atheros L1 FastEthernet ======
This one is second generation of L1 controller which is supposed to be heavily modified by Atheros after acquiring Attansic. It supports the AR8121, AR8113 and AR8114.
The driver first appeared in %%FreeBSD%% 7.1.
====== Atheros AR8131/AR8132 Gigabit Ethernet ======
The driver first appaered in %%FreeBSD%% 8.0.
====== Atheros Wireless LAN ======
See per-model notes.
====== Touchpad (synaptics) configuration ======
* Disable moused in rc.conf
* Add hw.psm.synaptics_support=1 to loader.conf
* pkg_add -r xf86-input-synaptics and edit Xorg.conf according to xf86-input-synaptics'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: on acpi0
After that, the hotkeys should work out-of-the-box. If you don't like how we configured them in ''%%/etc/devd/asus.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).
----
{{tag>InactiveProject Laptop}}