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.

Models covered

ASUS Transformer Book T100TA-DK002DH



Intel Atom Bay Trail Z3740 (BYT-T)/BGA

Intel Atom Bay Trail Z3775 (BGA)

Video card:

Intel HD Graphics (Atom Processor Z36xxx/Z37xxx Series Graphics & Display)



Wireless card:

Broadcom 43241b4 SDIO


eMMC 32 GB (/dev/mmcblk0)
internal USB Disk 7.5GB (/dev/sda, hidden, Windows recovery)

eMMC 64GB (/dev/mmcblk0)


LPDDR3 1067 2GB (on-board)


Broadcom (on-board BCM2035 HCI?)

Overall Status in Debian Testing

Core Components


Boot Standard Kernel:


Detect hard drives:



{i} (Bay Trail C-state issue, workaround available)

Extra Features







Sleep / Suspend


Battery monitor




- OpenGL


- Resize-and-Rotate(randr)


Screen backlight

{X} (always at full brightness)

Light sensor







- Built-in (Touchpad)

{OK} (but no multitouch)

- Built-in (Touchscreen)

{OK} (but no multitouch)


{i} /!\


{i} X-(

Keyboard's Hotkeys

{OK} (only some keys)


{i} X-(

MicroSD card reader


Built-in camera


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 Notes

The information and procedures contained in this page are mostly for the T100TA model (see hardware specifics above) and therefore it is possible that they are not completely suitable for different T100 models. The T100TA has an hardware similar to that one of the Asus X205TA, informations and procedures regarding these two models can be usefully shared.

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

/!\ After the installation, if the system freezes at GRUB when loading the initial ramdisk try to boot it with the keyboard/dock detached.

/!\ Closing the lid triggers automatic suspend to RAM, which causes a full freeze. To prevent this see the article about Suspend on this wiki. Disabling suspend is not enough, the lid close action needs to be changed too.

{i} Before installing Debian, Secure Boot needs to be disabled. Also, if dual-booting with Windows 8 or greater version, it is recommended to disable the fast boot feature in Windows.

{i} Since Debian Jessie the Debian installer includes all the needed modules and core changes to install and boot on this machine, however it is advisable to install Debian Testing and keep it up to date due to a lot of components still unsupported. If you really want to install Debian Stable at least you can use the backports repository to install the latest kernels and firmwares when available.

{i} The T100TA 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} WiFi is difficult to configure inside the Debian Installer environment (as explained in the WiFi section). Thus it is recommended to use a standard CD/DVD Debian Installer image and not a small netinst image. Alternatively you can use USB network to get internet or use debootstrap from a live debian based system on a usb stick (preferably pre configured to work on a T100).

If you want to install Debian 64-bit without the debian installer, e.g. with debootstrap, remember to install GRUB for the 32-bit EFI: chroot to the newly installed Debian partition and install GRUB in this way:

# apt install grub-efi-ia32-bin
# grub-install --target i386-efi


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


then update grub with:

# update-grub

Status of the Intel Crystal Cove PMIC

The power management integrated circuit (PMIC) of the Intel Baytrail is called Crystal Cove. Full support for this PMIC is not yet available with the Linux kernel 4.X, so suspend to RAM, hibernation and the screen power management do not work.

With the current Linux kernel in Debian Testing:

Screen power management

Because the Crystal Cove PMIC is not yet fully supported the brightness level of the screen cannot be adjusted and it is locked at the maximum value. Some patches for this issue are discussed in this discussion. Also, the system tends to freeze if the screen goes in sleep/suspend mode, so it is better to disable this feature in the power management of the system.

As a partial workaround for the brightness control issue, xrandr (provided by x11-xserver-utils) allows to change the brightness of the screen with a software only modification:

$ man xrandr
--brightness brightness
    Multiply the gamma values on the crtc currently attached to the output to specified floating value.
    Useful for overly bright or overly dim outputs. However, this is a software only modification, if 
    your hardware has support to actually change the brightness, you will probably prefer to use xbacklight.

meaning that it does not dim the backlight and therefore it does not reduce power consumption. The syntax is:

$ xrandr --output <OUTPUT> --brightness <VALUE>

where the <OUTPUT> can be found with:

$ xrandr | grep -w connected | cut -d" " -f1

and the <VALUE> should be something between 0 and 1. For example:

$  xrandr --output DSI-1 --brightness 0.8

The script t100ta_screen_brightness_ctl makes use of the command above to decrease or increase the screen brightness on user's request.


Intel HD Graphics (Atom Processor Z36xxx/Z37xxx Series Graphics & Display), it does not require the i915 driver (xserver-xorg-video-intel can be uninstalled).

The touchscreen is identified as ATML1000:

$ xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ASUSTek COMPUTER INC. ASUS Base Station(T100)     id=9    [slave  pointer  (2)]
⎜   ↳ ASUSTek COMPUTER INC. ASUS Base Station(T100)     id=10   [slave  pointer  (2)]
⎜   ↳ ATML1000:00 03EB:8C0E                     id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Sleep Button                              id=7    [slave  keyboard (3)]
    ↳ ASUSTek COMPUTER INC. ASUS Base Station(T100)     id=8    [slave  keyboard (3)]
    ↳ Asus WMI hotkeys                          id=12   [slave  keyboard (3)]

Screen rotation

On-board accelerometers are supported and the screen can be automatically rotated by adding the script t100ta_screen_rotation_auto to the startup applications. For a manual rotation of the screen, without using the accelerometers and only when requested by the user, the script t100ta_screen_rotation_manual can be used instead.

Right mouse button emulation

The touchscreen does not emulate a right mouse button out of the box. One way to do that is by using an accessibility tool for mouse that, for example, can emulate a right click when there is a prolonged touch. Otherwise, it is possible to use one of the unused hardware buttons of the tablet.

On the left side of the tablet there are two buttons: the volume button, the bigger one, that is not recognized yet by the kernel and cannot be used, and the other one, the Windows button, that is recognized by the kernel and can be used as a right mouse button.

It is possible to do that by linking a command, in this case xdotool click 3 (xdotool package), to the Windows button by using xbindkeys. An initial configuration file for xbindkeys is required:

$ xbindkeys --defaults > ~/.xbindkeysrc

After that, the command that perform the right mouse button click have to be associated to the Windows button by inserting a proper entry in the xbindkeys configuration file. Read the manual for instruction but, in brief, the following command should be good:

$ cat << EOF >> ~/.xbindkeysrc
# emulate right mouse button with the Windows button
"xdotool click 3"
  m:0x0 + c:248

The associated key is represented by the code m:0x0 + c:248, check that it is correct by issuing xbindkeys -k and then pressing the Windows button. If everything is ok then make xbindkeys reload its configuration file or restart your session.


The audio device is an Intel SST Audio / Realtek RT5640, it requires the proprietary firmware firmware-intel-sound and an ALSA configuration file.

/!\ It's possible to destroy the speakers when setting the volume too high, be careful when experimenting with ALSA configuration files.

{i} Starting with the Linux kernel 4.12 the audio does not work because of the PulseAudio bugs 100488 and 102378 (with a workaround). Installations without PulseAudio may not be affected by this issue.

To create the ALSA configuration file, first enable the UCM for the RT5640 audio device by downloading this directory and copying it to /usr/share/alsa/ucm/ (please read the README file). Then create the ALSA configuration file with alsactl (provided by alsa-utils):

# alsactl store

this will create the configuration file /var/lib/alsa/asound.state. If you use PulseAudio restart it with:

$ pulseaudio -k

After that the audio device should work.

Switching from speakers to headphones and vice versa is not automatic, use pavucontrol or the audio manager (if available) of your desktop environment.


The wifi device is an on-board SDIO device Broadcom 43241b1, it requires the proprietary firmware firmware-brcm80211 and a nvram file.

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/brcmfmac43241b4-sdio.txt

If this does not work on T100TAL, try:

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

In general, you can determine the name of the target file looking at the output in the /tmp/var/syslog after you restart the brcmfmac module:

brcmfmac_sdio mmc1:0001:1: firmware: failed to load brcm/brcmfmac43340-sdio.bin (-2) 

Note that brcmfmac43241b4-sdio.txt (and other) 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.

After that reboot the system or reload the brcmfmac module:

# modprobe -r brcmfmac && modprobe brcmfmac

WiFi instabilities

The wifi device disconnects sometimes and when it happens it is not able to reconnect. The only workaround is to reload its kernel module:

# modprobe -r brcmfmac && modprobe brcmfmac

For some hints check this discussion

Built-in camera

The model should be "mt9m114". Further information has to be retrieved.

System Summary


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


Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0b05:17e0 ASUSTek Computer, Inc. 
Bus 001 Device 002: ID 0b05:17e4 ASUSTek Computer, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub



Some configuration files and sample outputs.

  • [get | view] (2017-04-02 19:12:40, 2.4 KB) [[attachment:t100ta_screen_brightness_ctl]]
  • [get | view] (2017-04-02 19:12:57, 3.6 KB) [[attachment:t100ta_screen_rotation_auto]]
  • [get | view] (2017-04-02 19:13:12, 2.9 KB) [[attachment:t100ta_screen_rotation_manual]]
 All files | Selected Files: delete move to page copy to page

The following links are specific to Ubuntu (meaning that everything found there doesn't strictly apply to Debian), use them only to retrieve more information and news and/or test new features.
G+ group ASUS T100 Ubuntu
John Wells - Latest steps to install Ubuntu on the Asus T100TA
John Wells - T100TA drivers and scripts


Much of the information reported in this page were retrieved from the G+ group ASUS T100 Ubuntu and tested and adapted in order to work on Debian Stretch. Credits go to the developers that reported and solved the different issues.