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 owner 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.

Models covered
ASUS X205TA photo1_asusx205ta.pngphoto2_asusx205ta.png

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

{OK}

Hibernation

/!\ (not working through GUI and after some time slows down or is unstable)

Audio

{i} only speakers (actual code break mouse/keyboard due to kernel version)

Sleep / Suspend

/!\ (only idle state, 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

{OK}

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.


Guide to install Debian 9 testing (tested in BSP Paris 13-14 may '17)


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).

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

The very first (still incomplete) driver for these cards has been written for 4.9 kernel and will be maybe integrated (at best) for version 4.11. You can find a pre-built 4.9 kernel with audio support (no bluetooth/exotic fs support) on ubuntu forums

Power Management

Intel Bay Trail CPU C-states issue

Devices with Intel Bay Trail CPUs are affected by this bug which causes seemingly random crashes and has not been resolved so far. 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.

/!\ During installation and until you have configured Grub as described below, you need to manually apply this parameter at each boot! Both in Grub and before launching the Debian installer, you can do this by pressing e after selecting the entry you want to boot and then adding the parameter at the end of the "linux..." line.

To set this parameter, edit the file /etc/default/grub and add the parameter at the GRUB_CMDLINE_LINUX line like this (if there already are other parameters there, leave them and just add yours at the end separated by a space):

GRUB_CMDLINE_LINUX="intel_idle.max_cstate=1"

then update grub with:

# 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


Debian 9

You need a bootable usb with inside a multiarch netinstall debian 9

Another usb key with inside the module for your wifi card, are 2 files:

nonfree firmware unzipped

and this file brcmfmac43340-sdio.txt that is a model, also not need change your MAC address. (You can also find inside your nvram), this is mine for the model: X205_AP6234A_NVRAM_V1.4.7_20140730_WIN8.1_WW.txt 20140731 v1.4.7 Initial version for X205

So start on the PC and press quickly ESC to enter in the UEFI. When the Debian installer start choose Graphic Install. The Debian-installer ask to you about the CD-rom, answer NO about his driver, say YES about manually mount the device with the resources, say NONE about modules of CD-rom.

At this time, move the first usb key to the second port and write to the graphic Debian installer: /dev/sda1

So now, ask to you about the broadcom 43340 wireless module, and you put in the usb port the second usb key.

The Debian installer will find the .bin firmware, but not the .txt file that you have to put manually in /lib/firmware/brcm/

Go in console mode pressing at the same time: ctrl+alt+f1 press enter and write:

mount /dev/sdb1 /mnt 
cp /mnt/brcmfmac43340-sdio.txt /lib/firmware/brcm/
umount /dev/sdb1

And the Debian Installer can recognize the wifi and finish the netinstall.

Partitioning the disk, put attention to not erase the ESP partition.


CategoryLaptopComputer CategoryDebianOn