Asus Zenbook and FreeBSD 11
This is a short description how I got running FreeBSD 11-current on my Asus Zenbook UX32VD laptop. Im very happy with the current setup but of course it is room for improvements in many areas. Having DTrace, ZFS and the other goodies makes FreeBSD a real good candidate for a mobile environment.
Last Updated: 16 March 2015
CPU: Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz
Memory: 6 GB RAM
Storage: SanDisk SSD i100 24GB, Samsung SSD 840 PRO 500GB
Video: Intel HD Graphics 4000, Nvidia GT620M
Display: 13" IPS Full HD anti-glare
Wifi: Intel Centrino Advanced-N 6235
3 x USB 3.0 port(s)
1 x HDMI
1 x Mini VGA Port
1 x SD card reader
Note: The laptop's internal hard drive, has been replaced by a Samsung SSD.
10.0 Stable
Media: FreeBSD-10.0-RELEASE-amd64-memstick.img
The WLAN driver, iwn did not detect the wireless card. You have to manually patch the driver and recompile the kernel for that. Sound, Xorg all working fine.
11 Current
Media: FreeBSD-11.0-CURRENT-amd64-VT-20140508-r265628-memstick.img
WLAN functional, the kernel is able to use the WLAN. Sound, Xorg all working fine.
# kldload acpi_asus_wmi
# sysctl dev.acpi_asus_wmi.0.kbd_backlight=0
It does not make a very big change regarding laptop's energy consumption, but it is cool to be able to handle that. (Thanks to Johannes Meixner FreeBSD)
Last Updated: 16 March 2015
Zenbook UX32VD Configuration
CPU: Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz
Memory: 6 GB RAM
Storage: SanDisk SSD i100 24GB, Samsung SSD 840 PRO 500GB
Video: Intel HD Graphics 4000, Nvidia GT620M
Display: 13" IPS Full HD anti-glare
Wifi: Intel Centrino Advanced-N 6235
3 x USB 3.0 port(s)
1 x HDMI
1 x Mini VGA Port
1 x SD card reader
Note: The laptop's internal hard drive, has been replaced by a Samsung SSD.
Overview
The general status about FreeBSD support on this laptop, including installation notes.Item | Status | Description |
---|---|---|
Installation | ZFS | Use MBR instead of GPT |
UFS | Use MBR instead of GPT | |
Xorg | Intel driver | See xorg.conf |
NVIDIA | Not tested | |
Power Saving | Keyboard lights | Require to load acpi_asus_wmi |
Display brightness | Doesn't work | |
NVIDIA Optimus | Not supported at this time | |
Suspend | ||
Hibernate | ||
Connectivity | Wifi | Works in FreeBSD 11. Requires manual changes FreeBSD 10 |
USB Ethernet | ||
Display | External screen | Works via HDMI, VGA cables |
Projector | ||
Touchpad | ELAN Smart Click-Pad |
BIOS Update
Latest version is BIOS 214 (UX32VD). You can check latest release and download the firmware from: UX32VDInstallation Notes
Suppose you plan to install the operating system on SanDisk 24GB SSD disk, the device ada1 and use ZFS for that. Use the bsdinstaller and install ZFS on that disk as a stripe of the entire disk. Make sure you turn GPT to MBR to be able to boot after installation.10.0 Stable
Media: FreeBSD-10.0-RELEASE-amd64-memstick.img
The WLAN driver, iwn did not detect the wireless card. You have to manually patch the driver and recompile the kernel for that. Sound, Xorg all working fine.
11 Current
Media: FreeBSD-11.0-CURRENT-amd64-VT-20140508-r265628-memstick.img
WLAN functional, the kernel is able to use the WLAN. Sound, Xorg all working fine.
Wifi
The iwn0 in FreeBSD 11 automatically is supporting the Intel Centrino 6235 adapter. No changes are required. For FreeBSD 10 users, you need to manually patch iwn driver to work with 6235 adapter.
See below iwn0 configured and connected to an access point:
iwn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
ether c4:85:08:a3:4e:09
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
media: IEEE 802.11 Wireless Ethernet autoselect mode 11ng
status: associated
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether c4:85:08:a3:4e:09
inet 10.59.0.33 netmask 0xffffff00 broadcast 10.59.0.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: IEEE 802.11 Wireless Ethernet MCS mode 11ng
status: associated
ssid XXXXX channel 1 (2412 MHz 11g ht/20) bssid cc:5d:4e:ec:d1:04
country US authmode WPA2/802.11i privacy ON deftxkey UNDEF
AES-CCM 2:128-bit AES-CCM 3:128-bit txpower 11 bmiss 10 scanvalid 60
bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 64
protmode CTS ampdulimit 64k ampdudensity 8 -amsdutx amsdurx shortgi
wme roaming MANUAL
ether c4:85:08:a3:4e:09
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
media: IEEE 802.11 Wireless Ethernet autoselect mode 11ng
status: associated
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether c4:85:08:a3:4e:09
inet 10.59.0.33 netmask 0xffffff00 broadcast 10.59.0.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: IEEE 802.11 Wireless Ethernet MCS mode 11ng
status: associated
ssid XXXXX channel 1 (2412 MHz 11g ht/20) bssid cc:5d:4e:ec:d1:04
country US authmode WPA2/802.11i privacy ON deftxkey UNDEF
AES-CCM 2:128-bit AES-CCM 3:128-bit txpower 11 bmiss 10 scanvalid 60
bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 64
protmode CTS ampdulimit 64k ampdudensity 8 -amsdutx amsdurx shortgi
wme roaming MANUAL
Xorg
Version: X.Org X Server 1.14.7
Power Saving
There are some extra steps needed to run to have a decent power management under Asus Zenbook UX32VD.Keyboard backlight
Keyboard backlight can be turned off. We need to load the kernel module:# kldload acpi_asus_wmi
# sysctl dev.acpi_asus_wmi.0.kbd_backlight=0
It does not make a very big change regarding laptop's energy consumption, but it is cool to be able to handle that. (Thanks to Johannes Meixner FreeBSD)
NVIDIA Optimus
Currently NVIDIA does not deliver any Optimus binary package for FreeBSD. However certain things can be improved to increase the battery lifetime by shutting down the discrete GPU.
We will need the following package, installed from ports/packages:
sysutils/acpi_call
The way to turn it off is to iteratively try every known ACPI call known to
shut off the NVIDIA GPU. There is a script developed by Johannes Meixner, that will save the successful call, so that on reruns it can skip all the others.
http://xmj.me/freebsd/turn_off_gpu.sh
sysutils/acpi_call
The way to turn it off is to iteratively try every known ACPI call known to
shut off the NVIDIA GPU. There is a script developed by Johannes Meixner, that will save the successful call, so that on reruns it can skip all the others.
http://xmj.me/freebsd/turn_off_gpu.sh
This script will be needed to be executed during boot time. Running this script highly improves the battery life from 2hrs to over 4hrs.
Credits
Thank you very much to all people contributing to this post:
Johannes Meixner (FreeBSD)
Johannes Meixner (FreeBSD)
Hello,
ReplyDeleteCould you give a little more detail on the install? When I select ZFS, it tells me that ZFS on root is not supported under UEFI, and selecting UFS, it tells me that MBR is unbootable on this system.
Thanks!
Don
Im using FreeBSD current. Are you using UX32VD ? Have you changed any of the internal storage options, meaning replace the internal disk with a faster SSD ? I have installed a Samsung 840PRO as SSD and that I keep it for my home directory. The default Sandisk I am using for root and OS itself.
ReplyDeleteAwesome post, thanks for this. My UX31A is now working like a charm with 11.0.
ReplyDeleteThe trick with the ZFS on UEFI root is to select "MBR" instead of "GPT" on the zfs screen of the installer.
well, thx for the info
ReplyDeletebut still cant boot after install os and reboot