Translation(s): none

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Models covered
ASUS X205TA

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

{OK}

Hibernation

{OK} (not working through GUI and after resume bluetooth stop working)

Audio

{X}

Sleep / Suspend

{OK} (after resume, the touchpad driver has to be reloaded)

Xorg

{OK}

- OpenGL

{OK}

- Resize-and-Rotate(randr)

{OK}

Switch to External Screen

{OK}

Mouse

- Built-in (Touchpad)

{OK}

Wireless/Wifi

{i} X-( (use kernel >= 4.0)

Bluetooth

{OK} (check this script/Headset profile not working)

Keyboard's Hotkeys

/!\ (audio hotkeys work for now... although we don't have audio yet)

MicroSD card reader

{i} (works out of the box in 4.5.0-2)

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Important Note

/!\ While installing Debian you already need to apply the fix described in the Power Management section to keep the installer from crashing.

{i} Before installing Debian, Secure Boot needs to be disabled.

{i} Starting with Jessie d-i RC2, the installer includes all needed modules and core changes to install and boot on this machine. Make sure you use this version or later to install, or you'll have to fight with lots of issues and it's not likely to be fun!

{i} The X205TA is a mixed mode EFI system (i.e. a 64-bit CPU combined with a 32-bit EFI) without any legacy BIOS mode. By default, the Jessie i386 installer images should boot on this machine via UEFI and let you install a complete 32-bit (i386) system. If you use the multi-arch amd64/i386 netinst or DVD image, you will also be able to install in 64-bit mode. You might expect slightly better performance that way, but the limited memory on the machine (2 GiB) will become more of an issue.

{i} During installation, the mmcblk0rpmb device creates a lot of timeouts and makes the process painfully slow (Bug #759656, workaround). Simply removing /dev/mmcblk0rpmb solves the problem, and during regular use these timeouts do not seem to be noticable.

Configuration

Display

This is no longer necessary, starting with kernel version 4.1.

Intel Graphics using i915 driver. X.org works flawlessly.

It might be needed to manually force the brightness level, which seems to default to a very low value (390 out of a maximum of 7812). There are several ways to do this, but a simple solution is to add this line in /etc/sysfs.conf (make sure you have the package sysfsutils installed) :

# Set brightness level, maximum is 7812, needed for Linux Kernel < 4.1
class/backlight/intel_backlight/brightness = 5000  

Since fn hotkeys for brightness are not working right now (but they are recognized by evtest in kernel 4.8.0) you can change brightness assigning an alternative hotkey to a script that change the above variable.

Audio

The built-in card is a Realtek RT5648 (unverified). At this moment there isn't any driver for this card (as of Linux Kernel 4.1.3) :

It may be possible that some models of the X205TA have a different card, a Realtek RT5640 (unverified) :

Power Management

Intel Bay Trail CPU C-states issue

Devices with Intel Bay Trail CPUs have been affected by this bug which has been known to cause seemingly random freezes of the system. The bug has been reported to have been fixed, or at least mitigated, in Linux kernel version 5. Should random freezes still occur, the only work around which has been reported to work consistently is setting the intel_idle.max_cstate=1 kernel parameter which has the drawback of increasing power consumption considerably.

To temporary set this parameter at boot (e.g. when using the Debian installer or at the very first boot of the system), when in Grub press "e" after selecting the entry you want to boot and then add the parameter at the end of the "linux..." line.

To permanently set this parameter, add the file /etc/default/grub.d/intel-bay-trail-cstate-issue.cfg containing these lines:

# Prevent random freezes on Intel Bay Trail CPUs
# WARNING: increases power consumption considerably
# https://wiki.debian.org/InstallingDebianOn/PageFragmentIntelBayTrailCStateIssue
# https://bugzilla.kernel.org/show_bug.cgi?id=109051
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX intel_idle.max_cstate=1"

then update grub with:

$ sudo update-grub

Battery

Battery status information is available since kernel >= 3.19. The X205TA uses some ACPI 5.0 features that are not supported in kernels < 3.19.

Suspend to idle

If you add relative_sleep_states=1 to the kernel command line, suspend to idle (hopefully one of the S0iX states) will work. After resume, touchpad and network will not respond. To fix that, reload their modules:

sudo modprobe -r elan_i2c
sudo modprobe -r brcmfmac
sudo modprobe brcmfmac
sudo modprobe elan_i2c

You can avoid reloading wireless driver disabling bluetooth: add the line

blacklist btsdio

to /etc/modprobe.d/blacklist.conf.

Hibernation

The wireless module brcmfcmac triggers a kernel panic when creating the snapshot and the i2c designware module trigger another one i2c_designware_platform after resume; anyway the system can't live without the latter (unloading it for just a few seconds results in panic), so a workaround is to unloading them, then load the designware module in initramfs: if not present, add the line

RESUME=UUID=yourswappartitionuuid

to /etc/initramfs-tools/conf.d/resume and

i2c_designware_core
i2c_designware_platform

to /etc/initramfs-tools/modules and rebuild initramfs with

sudo update-initramfs

Then, if you want you can use this script to hibernate your laptop

service NetworkManager stop
modprobe -r brcmfmac
modprobe -r brcmutil
modprobe -r cfg80211
modprobe -r i2c_designware_platform && modprobe -r i2c_designware_core & s2disk
sleep 3
modprobe cfg80211
modprobe brcmutil
modprobe brcmfmac
modprobe elan_i2c
service NetworkManager start
sleep 3
modprobe elan_i2c
modprobe i2c_designware_platform
modprobe i2c_designware_core

There should be no problem in replacing s2disk with echo disk > /sys/power/state. Note that after resume you will lose bluetooth functionality and battery status information (to solve this plug in the AC cable).

WiFi

On-board SDIO device is a Broadcom 43341 (vendor id 0x02d0, device id 0xa94d). A kernel patch for support for the device is currently under review.

With kernel 4.0 (e.g. from http://kernel.ubuntu.com/~kernel-ppa/mainline/) wifi is working. However, firmware and nvram file need to be installed.

Firmware can be found on Google's Android Git:

wget https://android.googlesource.com/platform/hardware/broadcom/wlan/+archive/master/bcmdhd/firmware/bcm43341.tar.gz

Then we simply need to copy in in the right place (the directory /lib/firmware/brcm/ might not exist so it may need to be created), with the right name :

tar xf bcm43341.tar.gz
mkdir -p /lib/firmware/brcm/
cp fw_bcm43341.bin /lib/firmware/brcm/brcmfmac43340-sdio.bin

The nvram file can be found under /sys/firmware/efi/efivars/. If the directory is empty, it may need to be (temporarily) mounted first by:

mount -t efivarfs efivarfs /sys/firmware/efi/efivars

Then the nvram-File needs to be copied and renamed:

cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 /lib/firmware/brcm/brcmfmac43340-sdio.txt

Note, that brcmfmac43340-sdio.txt then contains a wrong MAC address. However, this is not a problem and does not need to be changed, as the file is only a template.

This small commit in Linux Kernel 4.4 breaks wifi for the Asus X205TA (see Kernel Bug #106541 for details). You must revert it if you want to compile a 4.4 Kernel. Note that this regression is fixed in Linux Kernel 4.4.4 and reverting the patch is now unneeded.

wget -q http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/rawdiff/drivers/mmc/host/sdhci.c?id=9faac7b95ea4f9e83b7a914084cc81ef1632fd91 -O sdhci_commit_9faac7b95ea4f9e83b7a914084cc81ef1632fd91.diff
patch -p1 -R < sdhci_commit_9faac7b95ea4f9e83b7a914084cc81ef1632fd91.diff
rm -f sdhci_commit_9faac7b95ea4f9e83b7a914084cc81ef1632fd91.diff

Conflict between sdhci-acpi and brcmfmac

Due to some conflict between sdhci-acpi and brcmfmac (https://bugzilla.kernel.org/show_bug.cgi?id=88061), a parameter has to be changed for the sdhci-acpi driver. There are several ways to do this, but a quick fix is to add this line in /etc/sysfs.conf (make sure you have the package sysfsutils installed), this way the option is passed before the brcmfmac driver is loaded :

# Disable SDHCI-ACPI for Wireless, otherwise WLAN doesn't work
bus/platform/drivers/sdhci-acpi/INT33BB:00/power/control = on

microSD Card Reader

As of 4.5.0-2 this isn't necessary anymore!

Create a file /etc/modprobe.d/sdhci.conf with the following content:

# Adjustment to make micro SD card reader work
options sdhci debug_quirks=0x8000

Then run

update-initramfs -u -k all

After a reboot the card reader should be working.


System Summary

Both the Linux kernel and GRUB have gone a long way to get support for X205TA. Originally, GRUB wasn't even able to boot. As of now, the only remaining features are sound (Realtek and Asus appear not to care about this), (all the) hotkeys, proper suspend/hibernation (apparently, the crash occurs when resuming from suspension), and Bluetooth. You can track the most recent news and experimental support in this thread.

lspci

00:00.0 Host bridge [0600]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register [8086:0f00] (rev 0f)
00:02.0 VGA compatible controller [0300]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display [8086:0f31] (rev 0f)
00:14.0 USB controller [0c03]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series USB xHCI [8086:0f35] (rev 0f)
00:1a.0 Encryption controller [1080]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine [8086:0f18] (rev 0f)
00:1f.0 ISA bridge [0601]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit [8086:0f1c] (rev 0f)

lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 04f2:b483 Chicony Electronics Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


CategoryLaptopComputer CategoryDebianOn