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 Transformer Book T100TA-DK002DH |
ASUS Transformer Book T100TAM |
CPU: |
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) |
|
Screen: |
10.1" HD SLIM WV (GL, LED-TP) |
|
Wireless card: |
Broadcom 43241b4 SDIO |
|
Disks: |
eMMC 32 GB (/dev/mmcblk0) |
eMMC 64GB (/dev/mmcblk0) |
RAM: |
LPDDR3 1067 2GB (on-board) |
|
Bluetooth: |
Broadcom (on-board BCM2035 HCI?) |
Contents
Overall Status in Debian Stretch (testing)
Core Components |
||
Boot Standard Kernel: |
|
|
Detect hard drives: |
|
|
CPU: |
(Bay Trail C-state issue, workaround available) |
|
Extra Features |
||
Shutdown |
|
|
Reboot |
|
|
Hibernation |
|
|
Sleep / Suspend |
|
|
Battery monitor |
|
|
Xorg |
|
|
- OpenGL |
|
|
- Resize-and-Rotate(randr) |
|
|
Screen backlight |
(always at full brightness) |
|
Light sensor |
|
|
Switch to External Screen (HDMI) |
|
|
Accelerometers |
|
|
Mouse |
|
|
- Built-in (Touchpad) |
(but no multitouch) |
|
- Built-in (Touchscreen) |
(but no multitouch) |
|
Bluetooth |
|
|
Wireless/Wifi |
|
|
Keyboard's Hotkeys |
(only some keys) |
|
Sound |
|
|
MicroSD card reader |
|
|
Built-in camera |
|
Legend :
= OK ; Unsupported(No Driver) ; = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
= Configuration Required; = 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.
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.
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.
Although the Debian Jessie (stable) installer includes all the needed modules and core changes to install and boot on this machine, it is advisable to install Debian Stretch (testing) and keep it up to date due to a lot of components still unsupported. If you really want to install Debian Jessie (stable) at least you can use the backports repository to install the latest kernels and firmwares when available.
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.
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.
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
Configuration
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
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 kernel linux 4.6, so suspend to RAM, hibernation and the screen power management do not work.
With Linux kernel 4.6:
- battery status information is available
- shutdown correctly works
- reboot correctly works
- suspend to RAM doesn't work
- hibernation doesn't work
- screen power management doesn't work
Suspend to RAM does not work and it sends the machine into a state from which one can only recover by forcing the shutdown. Hibernation partially works because, like the suspend, it requires to force the shutdown and at the next boot the system recovers but with some glitches. Some suggestions are discussed in this thread.
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 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_touchscreen_brightness_ctl-debian-stretch.sh makes use of the command above to progressively reduce the screen brightness.
Touchscreen
Intel Graphics using i915 driver, X.org works.
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_touchscreen_rotation_auto-debian-stretch.sh to the startup applications (use your DE system settings). For a manual rotation of the screen, without using the accelerometers and only when requested by the user, the script t100ta_touchscreen_rotation_manual-debian-stretch.sh 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, to the Windows button by using xbindkeys. These two packages have to be installed, then an initial configuration file for xbindkeys has to be created:
# apt install xbindkeys xdotool $ 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 EOF
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.
Audio
It's possible to destroy the speakers when setting the volume too high, be careful when experimenting with ALSA configuration files.
The audio device is an Intel SST Audio / Realtek RT5640 and, in order to work, it requires its proprietary firmware and a proper configuration file for ALSA.
The firmware can be installed with:
# apt install firmware-intel-sound
The configuration file for ALSA can be created or can be copied from somewhere else and stored in /var/lib/alsa/asound.state. In both cases some files not yet available in the Debian repositories have to be retrieved from external sources.
To create the configuration file, first enable the UCM for the RT5640 audio device by downloading this directory and copying it to /usr/share/alsa/ucm/ (read the README file contained inside). Then, ensure to not have already the /var/lib/alsa/asound.state file and create it with alsactl (available in the package alsa-utils):
# alsactl store && alsactl restore
and if you use pulseaudio restart it with:
$ pulseaudio -k
After that the audio device should work.
The T100 Ubuntu community on G+ has many configuration files you can try and the following ones (retrieved from here) seem to work well:
t100_B.state, speakers work, headphones work but there's a low crackle in background, the microphone records a lot of noise and distortions
t100_g.state, speakers work, headphones work but there's a low crackle in background, the microphone works well
kernel4.5.xand4.4.x.asound.state, (more recent) speakers/headphones and microphone should work without background noises
Download and apply one of the configuration files in this way:
# cp t100_g.state /var/lib/alsa/asound.state # alsactl restore
Switching from speakers to headphones and vice versa seems to not be automatic, it can be done using the audio manager of the DE or a dedicated application like pavucontrol.
WiFi
The wifi device is an on-board SDIO device Broadcom 43241b1, firmware and nvram file need to be installed.
The firmware can be installed with the package firmware-brcm80211 from the debian repository, download it and install it. If you have a way to access to the internet, like a wifi dongle, simply use the package manager to install it.
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 # sudo modprobe brcmfmac
Built-in camera
The model should be "mt9m114". Further information has to be retrieved.
System Summary
lspci
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)
lsusb
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
Resources
Attachments
Some configuration files and sample outputs.
Useful Links
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
Credits
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.