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

T100TAM-BING-DK016B

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)

Disks:

eMMC 32 GB (/dev/mmcblk0)
flash disk 7.5GB (/dev/sda, hidden, Windows recovery)

eMMC 64GB (/dev/mmcblk0)

RAM:

LPDDR3 1067 2GB (on-board)

Wireless card:

Broadcom 43241b4 SDIO

Bluetooth:

Broadcom (on-board BCM2035 HCI?)

Overall Status in Debian 10 "Buster"

Core Components

photo.jpg

Boot Standard Kernel:

(./)

Detect hard drives:

(./)

CPU:

(./) <!>

Power Management

Shutdown

(./)

Reboot

(./)

Hibernation

/!\

Sleep / Suspend

/!\

Battery monitor

(./)

Screen backlight

(./) <!>

Display Server

Xorg

(./)

- OpenGL

(./)

- Resize and Rotate (randr)

(./) {i}

Wayland

(./)

- Resize and Rotate (randr)

{o}

Built-in/Internal Devices

Keyboard's Hotkeys

(./)

Touchpad

(./)

Touchscreen

(./)

Wifi

(./) {i} X-(

Bluetooth

{o} X-(

Sound

(./) X-(

MicroSD card reader

(./)

Built-in camera

{X}

Light sensor

{X}

Accelerometers

(./)

Magnetomiter (??)

[-]

Legend:

(./)

OK

{i}

Configuration required

<!>

Affected by bugs

X-(

Requires non-free driver and or firmware

/!\

Error (Couldn't get it working)

{o}

Not tested or partially tested

{X}

Unsupported (no driver)

[-]

Not applicable


Important Notes

The information and procedures contained in this page are mostly for the T100TA model, they might not apply for other models. See also Asus X205TA as it has a similar hardware.

Unresolved hardware bugs as of January 2020

Unfortunately the hardware of this machine is not fully supported, this is the list of the major issues still unresolved with linux kernel 4.19.0-6 and 5.4.0-0.bpo.2 (from the Debian backports repository):

Because of these issues, it might be useful to later install newer kernels and firmwares (if any) from the Debian backports repositories.

Things to know before installing Debian

  • The T100 is a mixed mode EFI system (i.e. a 64-bit CPU combined with a 32-bit EFI) already supported by the Debian Installer:
    • to install Debian 32-bit, use the Debian Installer for the i386 architecture;

    • to install Debian 64-bit, use the multiarch Debian Installer.

  • The WiFi card is difficult to configure from the Debian Installer environment, it is recommended to use a standard CD/DVD Debian Installer image (or use a supported WiFI USB dongle if the internet is really required during the installation);

  • Debian Buster supports Secure Boot, please check the Debian wiki page here and evaluate if disabling it or not;

  • If dual-booting with Windows, it is recommended to disable the Windows fast boot feature, see askubuntu - Why disable Fast Boot on Windows 8 when having dual booting?;

  • Because of the bugs mentioned above, it might be necessary to apply the fix described in the Power Management section already when launching the Debian Installer;

  • After the installation, if experiencing weird issues at boot (e.g. freezing when loading the initial ramdisk or screen offset), try to boot with the keyboard/dock detached.


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

Screen backlight control

The screen backlight cannot be controlled yet (see the list of bugs in the Important Notes section) and it remains set at the maximum brightness level. As a (partial) workaround the screen brightness can be changed with xrandr (provided by x11-xserver-utils). A script that provides such functionality is the brightness control script from the t100ta-utility-scripts.

Please note that using xrandr like this will not affect power consumption (no battery saving):

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

The syntax is:

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

where <OUTPUT> can be found with the command xrandr | grep -w connected | cut -d" " -f1, and <VALUE> can be a value between 0 and 1.


Touchscreen

Intel HD Graphics, Atom Processor Z36xxx/Z37xxx Series Graphics & Display. It does not require the driver provided by xserver-xorg-video-intel, this package 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)]
⎜   ↳ Asus TouchPad                             id=11   [slave  pointer  (2)]
⎜   ↳ ATML1000:00 03EB:8C0E                     id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Asus Wireless Radio Control               id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Asus Keyboard                             id=9    [slave  keyboard (3)]
    ↳ Asus Keyboard                             id=10   [slave  keyboard (3)]
    ↳ bytcr-rt5640 Headset                      id=12   [slave  keyboard (3)]
    ↳ Asus WMI hotkeys                          id=14   [slave  keyboard (3)]
    ↳ gpio-keys                                 id=15   [slave  keyboard (3)]

Screen rotation

On-board accelerometers are supported but so far only the GNOME desktop environment provides an automatic screen rotation functionality (see iio-sensor-proxy). However, if missing, such functionality can be provided with custom implementations, like the screen rotator script from the t100ta-utility-scripts repository.

Right mouse button emulation

Right mouse button click via touchscreen has to be emulated. Two solutions are currently working:

About the latter, the Windows button is the small physical button on the left side of the tablet (the bigger button right above is the volume button but it is not recognized by the system). Such button can be mapped to a command that emulates a right mouse button click. One way to do so is by using xdotool and xbindkeys (this should work only with X11, not with Wayland):

  1. Install xdotool and xbindkeys
  2. Create an initial configuration for xbindkeys with xbindkeys --defaults > ~/.xbindkeysrc

  3. Add the action to be mapped to the physical button
     cat << EOF >> ~/.xbindkeysrc
     # Emulate the right mouse button click with the physical Windows button.
     "xdotool click 3"
       m:0x0 + c:248
     EOF
  4. Reload the xbindkeys configuration file or restart you session.

The physical Windows button is represented by the code m:0x0 + c:248, check that it is correct by issuing xbindkeys -k and then pressing it.

Screen offset issue

The following problem might occur (from this post on Linux Mint forum):

A quick fix is to change screen resolution and revert it back , or to run

xrandr --output <OUTPUT> --off && xrandr --output <OUTPUT> --auto

As the problem might occur at every boot as described above, it could be useful to execute the previous command automatically before the login. This can be done by editing/creating a display setup script (if using a display manager such as SDDM, GDM, LightDM), or by creating a custom X session startup script, e.g.:

cat << EOF | sudo tee -a /etc/X11/Xsession.d/45custom-t100ta-reset-display
xrandr --output DSI-1 --off
xrandr --output DSI-1 --auto
EOF

Possible related bug: freedesktop.org - Bug 102929 - Kernel 4.13.1 breaks screen output


Audio

The audio device is an Intel SST Audio / Realtek RT5640, it requires the proprietary firmware firmware-intel-sound and an ALSA Use Case Manager (UCM) file that is provided by the package libasound2-data. Installing these two packages and restarting the machine should be enough to have the audio device working.

Risk of permanent damage to the speakers

There were reports in the past of speakers getting destroyed when experimenting with the ALSA UCM files and setting the volume too high. Such problem should not currently occur but be careful.


WiFi

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 might disconnect sometimes without being able to reconnect again. If such issue occurs, the only way to make it work again is to reload its kernel module:

# modprobe -r brcmfmac && modprobe brcmfmac


Built-in camera

The camera should be a mt9m114 camera device, it is currently not supported.


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, Celeron N2000 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.

  • [get | view] (2019-06-23 21:05:34, 42.7 KB) [[attachment:photo.jpg]]
 All files | Selected Files: delete move to page copy to page