ASUS x205ta
Booting Arch install media
The Asus x205TA and x206HA have an exclusively 32-bit EFI bootloader. Since Arch does not include a 32-bit EFI loader in the standard install image, we need to add one. This procedure may work for other exclusively 32-bit EFI machines.
The current image (ARCH_201801) does include the drivers for the x205TA's broadcom wireless modem, so we need to copy efivars during boot as explained below. Adding drivers to the image is not required anymore. Booting archlinux on the x205TA can be achieved in 2 (possibly more) ways: by creating a bootia32.efi loader and modifying an existing iso, or by adding a precompiled bootia32.efi and manually starting archlinux iso from there.
OS Independent Method
This method is not canonical and should not be used unless you are having trouble with the proper method. On the other had this procedure can be followed without compiling bootia32.efi and it might be useful to be used under Windows or any other operating system when no linux systems are around. Create a bootable usb using standard methods (es.Rufus on windows). Download a prebuilt bootia32.efi from any source you trust (es https://github.com/jfwells/linux-asus-t100ta/blob/master/boot/bootia32.efi) and copy it to /EFI/boot folder on the usb. Create a custom grub.cfg file (example), replacing <FS-LABEL> with the correct label for your iso as mentioned above. Copy the custom grub.cfg file to the root folder of the usb. Once booted the x205TA from the (as mentioned above) type the following command in the grub console
$ configfile /grub.cfg
Proceed to arch installation as usual.
Booting the x205ta from USB
Insert your new install medium into your x205ta.
Enter the bios by holding F2 while pressing the power button to turn the x205ta on. Hammering on F2 while the boot process is starting may help too. There is an alternative method to enter the bios by booting into windows and selecting the appropriate menu options (tutorial), but the F2 method allows you to avoid windows entirely.
Turn off secure boot. This procedure varies between different BIOS versions. Mine was achieved by going to 'Security', and switching 'Secure Boot Control' to 'Disabled'.
Select your USB medium from the 'Boot Override' section of the 'Save & Exit' menu.
Install Arch
Enable wifi
The firmware for your wifi modem will not load by default. In addition to the driver we copied over, we will need to copy over our local EFI variables:
$ cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 /lib/firmware/brcm/brcmfmac43340-sdio.txt
Now we can probe the wifi kernel module again to bring it up:
$ rmmod brcmfmac $ modprobe brcmfmac
If you want to run 4.4 kernel, you must revert this commit to get wifi working (regression in the MMC-layer)
Install Arch
Proceed as usual.
Getting hardware working on up-to-date kernels
With some kernel patches on newer kernels the x205ta works. The Intel Baytrail CPU should be able to consume less power than it does. There are still occasional freezes possible due to the CPU power states not being properly supported. (Refer to "Freezes".)
Kernel patches
Patch history
Three very elaborate threads contain the history of patches for the kernel for the x205ta: kernel bug for baytrail power states, kernel bug for chtrt5645 and most important a Ubuntu forum thread with a patched kernel provided by harryharryharry.
AUR package with patched kernel
AUR package linux-x205taAUR applies the patches proposed in the threads above to the standard arch kernel. Sources and references for each patch are in the PKGBUILD file. The package also downloads efivars for the wifi firmware which enables 5 GHz wifi.
Compiling the kernel with the provided config takes about one hour.
The x205ta has a limited amount of RAM, so do not extract and build the kernel in tmpfs.
Manual interventions and patches are needed on older kernels as a lot of patches came in over time. Refer to "On older kernels" below for instructions for older kernels.
Additional config
Freezing
Depending on kernel versions, on an unpatched kernel, the x205ta regularly freezes, where the x205ta can only be restarted by holding down the power button for several seconds. Freezes are due to poor support for the baytrail power functions. Refer to the kernel bug for more info. AUR package linux-x205taAUR applies what seems to be the most effective patch.
Setting kernel argument intel_idle.max_cstate=1
solves the problem on a patched kernel without affecting performance. Power saving functionalities should in theory be impeded using this patch and kernel parameter, but the laptop's battery life remains impressive and freezes are not frequent. The Kernel parameters page may help with adding to the kernel parameters.
Sound
There has recently been some success in getting the x205ta's Realtek RT5648 sound card working, including microphone support. The relevant patches are in Linux release 4.11 and later. Updated Alsa-lib's UCM files are available in alsa-lib-x205taAUR.
In order to have working headphone jack (as of kernel 4.14) is it required to add an "options" line in any modprobe file
/etc/modprobe.d/50-x205ta.conf
options snd_soc_rt5645 quirk=0x31
To select headphones over speakers (which cannot be done automatically as of kernel 4.14) consider using pavucontrol.
Bluetooth
Install a correct firmware file (e.g. BCM43341B0_002.001.014.0122.0176.hcd
from Windows 10 driver) as /lib/firmware/brcm/BCM43341B0.hcd
.
See this page for more information on the hcd file.
In order to get bluetooth working create a systemd unit
/etc/systemd/system/btattach.service
[Unit] Description=Btattach [Service] Type=simple ExecStart=/usr/bin/btattach --bredr /dev/ttyS1 -P bcm ExecStop=/usr/bin/killall btattach [Install] WantedBy=multi-user.target
and enable the service.
Next, follow the normal steps to activate bluetooth.
WIFI Breaks after resume from hibernating
/usr/lib/systemd/system-sleep/hibernate.sh
#!/usr/bin/env bash case $1 in pre) rmmod brcmfmac ;; post) modprobe brcmfmac ;; esac exit 0
and make the script executable.
On older kernels
Patches came in over time. Try to use a new kernel!
Sound
See for a step-by-step description of how to compile Pierre Bossart's patches for sound card support. Not needed as of v4.11.
Power level information (ACPI)
Before 4.2.0-1 kernel version, you must compile your own kernel with the appropriate flag ACPI_I2C_OPREGION=y (cf. FS#44582)
You should have no problem with the power level information now if you obtain the latest kernel version >= 4.2.*. See this page.
Touchpad
With kernel version < 4.3.* the x205ta touchpad is recognised as a mouse and so gestures (e.g., two-finger scrolling) are not recognised.
Since kernel 4.3.* a simpler patch was merged and provides all touch/clickpad functionality out of the box.
Explicitly assigning the 'synaptics' driver to 'Elan Touchpad' in xorg.conf provides even more functionality (e.g., two-finger tap to right click, etc.)
Example:
/etc/X11/xorg.conf.d/elan_synaptics.conf
Section "InputClass" Identifier "Elan Touchpad" MatchIsTouchpad "on" Driver "synaptics" Option "TapButton1" "1" Option "TapButton2" "3" Option "TapButton3" "2" Option "VertTwoFingerScroll" "on" Option "HorizTwoFingerScroll" "on" EndSection
SD card reader
Device support
For older kernel versions < v4.4-rc1 the micro SD card reader will probably not work out of the box. Debian:InstallingDebianOn/Asus/X205TA contains a simple fix. First, create the file as follows:
/etc/modprobe.d/sdhci.conf
# Adjustment to make micro SD card reader work options sdhci debug_quirks=0x8000
Then you will have to run mkinitcpio. Make sure you have root privileges:
$ mkinitcpio -v -g /boot/initramfs-linux.img
This will update your initramfs file and load the new configuration you made in "sdhci.conf". You should be able to view your Micro SD card after a reboot.
With this patch the card reader should work out of the box.
RPMB Partition
For kernel versions < v4.15-rc1 there can be timeouts when probing the Replay Protected Memory Block partition. Refer to this page for more info and a kernel patch disabling the RPMB partition should you never need the RPMB partition. This is fixed in a patch as of v4.15-rc1.
Special keys
On older kernel versions, out of the box, the only keysyms correctly sent are the audio volume keys (F10-F12). Ironic, since the sound card does not work. Can be conveniently remapped to control screen brightness (e.g., by calling xbacklight). On current kernel versions the sleep button, brightness buttons, display button and volume buttons all work in XFCE.