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) |
eMMC 64GB (/dev/mmcblk0) |
RAM: |
LPDDR3 1067 2GB (on-board) |
|
Wireless card: |
Broadcom BCM4324/5 SDIO (BCM43241B4) |
|
Bluetooth: |
Broadcom BCM4324/5 SDIO (BCM4324B3) |
Contents
Overall Status in Debian 12 "Bookworm"
Core Components |
|
|
Boot Standard Kernel: |
|
|
Detect hard drives: |
|
|
CPU: |
|
|
Power Management |
||
Shutdown |
|
|
Reboot |
|
|
Hibernation |
|
|
Suspend |
|
|
Battery monitor |
|
|
Screen backlight |
|
|
Display Server |
||
Xorg |
|
|
- OpenGL |
|
|
- Resize and Rotate (randr) |
|
|
Wayland |
|
|
- Resize and Rotate (randr) |
|
|
Built-in/Internal Devices |
||
Keyboard's Hotkeys |
|
|
Touchpad |
|
|
Touchscreen |
|
|
Wifi |
|
|
Bluetooth |
|
|
Sound |
|
|
MicroSD card reader |
|
|
Built-in camera |
|
|
Light sensor |
|
|
Accelerometer + Gyro |
|
|
Magnetomiter |
|
Legend:
|
OK |
|
|
Configuration required |
|
Affected by bugs |
|
|
Requires non-free driver and or firmware |
|
Error (Couldn't get it working) |
|
|
Not tested or partially tested |
|
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 to different models.
Similar model: Asus X205TA.
Non-working hardware and possible issues - September 2024
The Intel Bay Trail CPU suffered of occasional freeze with older kernels, should the problem still occur refer to Kernel.org bug #109051;
The system supports only the s2idle suspend mode (see The Linux Kernel - System Sleep States), in this state the battery consumption is about 2~2.5% per hour;
The system might not be able to hibernate (suspend-to-disk), going into a freeze state that can be recovered only with a hard shutdown;
The built-in camera Aptina MT9M114 does not work, no working atomisp driver is available; see possibly related discussions Kernel.org bug #109821 and Linux Surface Issue #91;
- The ambient light sensor Capella Microsystems CM3218x does not work (or requires to be configured).
Additional hardware support and bug fixes might come with future version of the Linux kernel and firmwares. You can install them from the Debian backports repositories, when available.
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) supported by both the 32-bit and the 64-bit Debian Installer;
The WiFi card requires a proprietary firmware already included in the normal Debian installer images (since Debian 12 Bookworm). During the installation, skip the offer to load the driver from a different location;
Debian supports Secure Boot, please check the Debian wiki page here and consider whether to disable it or not;
If dual-booting with Windows, it would be advisable to disable its fast boot feature, see askubuntu - Why disable Fast Boot on Windows 8 when having dual booting?;
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
Since Debian 10 Bullseye the screen backlight is fully controllable and it requires no manual configuration. The following information is kept here only for future reference.
Prior of Linux 5.10, the screen backlight couldn't be adjusted without recompiling the kernel (see Debian bug #971953).
A (partial) workaround was to adjust the screen brightness using xrandr (provided by x11-xserver-utils), but with not impact on the power consumption whatsoever (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.
To manually change the brightness with xrandr do:
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.
A script that makes use of this xrandr functionality is the brightness control script from the t100ta-utility-scripts.
Display
The integrated GPU Intel HD Graphics, Atom Processor Z36xxx/Z37xxx Series Graphics & Display works out of the box. Make sure to uninstall the driver xserver-xorg-video-intel, as nor it is required nor its usage is recommended.
Hardware Video Acceleration in media players and internet browsers is provided by the i965-va-driver, that should be installed by default and used automatically. Check the page Hardware Video Acceleration for additional details.
Touchscreen
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)]
It works out of the box, no configuration required.
Screen rotation
The ?InvenSense MPU6500 Accelerometer + Gyro works out of the box and the automatic screen rotation functionality should be provided by applications using iio-sensor-proxy, like in the GNOME desktop environment and the KDE Plasma desktop environment if using Wayland. If missing, such functionality can be provided with custom implementations, like the screen rotator script from the t100ta-utility-scripts.
Multi-touch
Multi-touch works out of the box. Pinch to zoom, rotation and long press for right-click work in applications that support such gestures and actions.
If the long press action is not recognised, the right-click can be emulated via two different solutions:
using the virtual keyboard onboard, that has a dedicated button for it;
mapping the action to the physical Windows button of the tablet.
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 recognised 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):
- Install xdotool and xbindkeys
Create an initial configuration for xbindkeys with xbindkeys --defaults > ~/.xbindkeysrc
- 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
- Reload the xbindkeys configuration file or restart your session.
The physical Windows button is represented by the code m:0x0 + c:248, check it buy running the command xbindkeys -k and then pressing the button.
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 make the audio device work.
WiFi and Bluetooth
WiFi and Bluetooth are provided by a Broadcom BCM4324/5 on-board SDIO combined device. The device is identified as:
BCM43241B4 for the WiFi
- BCM4324B3 for the Bluetooth
WiFi
The device 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 has to be (temporarily) mounted first:
sudo mount -t efivarfs efivarfs /sys/firmware/efi/efivars
Inspect the syslog and check wich firmware the system tried to load:
sudo dmesg | grep brcmfmac # ... brcmfmac mmc0:0001:1: firmware: failed to load brcm/brcmfmac43241b4-sdio.ASUSTeK COMPUTER INC.-T100TA.bin (-2) # ...
(for the the T100TAL it should be brcm/brcmfmac43340-sdio).
Then save the nvram-file as a .txt file with the same firmware name just found:
# For the T100TA sudo cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 /lib/firmware/brcm/brcmfmac43241b4-sdio.ASUSTeK\ COMPUTER\ INC.-T100TA.txt # For the T100TAL sudo cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 /lib/firmware/brcm/brcmfmac43340-sdio.txt
Note that nvram-file might contain a wrong MAC address, but it is not a problem as the file is only a template.
Reboot the system or reload the brcmfmac module:
sudo modprobe -r brcmfmac && sudo modprobe brcmfmac
Bluetooth
Because this is a combined device, the Bluetooth might not work if the WiFi has not been configured yet (see previous section.)
The Bluetooth requires a HDC firmware file:
sudo dmesg | grep -i "brcm\|bcm" # ... bluetooth hci0: firmware: failed to load brcm/BCM4324B3.hcd (-2) # ...
This is distributed only in Broadcom Windows drivers, but it is easy to retrieve. Search for and download the latest Broadcom - Bluetooth Controller Non USB - Broadcom Serial Bus Driver over UART Bus Enumerator CAB archive (it should be from 2016) from the Microsoft Update Catalog. Extract the archive and copy the latest BCM4324B3 file to /lib/firmware/brcm as BCM.hcd (or BCM4324B3.hcd)
sudo cp BCM4324B3_002.004.006.0130.0161.hcd /lib/firmware/brcm/BCM.hcd
Reboot the system and then follow the instructions at the page Using Bluetooth in a Debian system to set up the Bluetooth.
Tweaks for low memory
The limited amount of RAM, 2GB only, will forcibly reduce the use case scenarios for this device. Some tweaks may help:
Set up ZRam, it might improve a bit the responsiveness of the system (not the performance). Setting PERCENT=66 in /etc/default/zramswap seems to give good results, but do your research and tests as your mileage may vary;
Enable the Hardware Video Acceleration in media players and internet browsers (see also the notes in the Display section).
Troubleshooting
WiFi instabilities
The wifi device can sometime get stuck, causing internet connection disruption and the appearance of the following messages in kernel logs:
ieee80211 phy1: brcmf_cfg80211_dump_station: BRCMF_C_GET_ASSOCLIST failed, err=-110 ieee80211 phy1: brcmf_proto_bcdc_query_dcmd: brcmf_proto_bcdc_msg failed w/status -110
When this happens, the only solution seems to reset the wifi device by reloading the brcmfmac kernel module:
sudo modprobe -r brcmfmac && sudo modprobe brcmfmac
In some cases it may be necessary to restart NetworkManager as well. If the issue starts causing major instabilities, then the system needs to be rebooted.
Suspend prevented by the light sensor
Although it does not work, the light sensor might prevent the system from going into sleep by immediately waking it up when it reaches the suspend state (check the kernel logs). Therefore, it is better to just disable the light sensor by blacklisting its kernel module:
cat << EOF | sudo tee /etc/modprobe.d/cm32181-blacklist.conf # The ambient light sensor Capella Microsystems CM3218x does not work and it # prevents the system from going into suspend. Disable it. blacklist cm32181 EOF
Reboot the machine to apply the change.
System hangs during boot at "Loading initial ramdisk ..."
This issue seems to appear immediately after a new Debian installation, and it occurs when the device is turned on with its keyboard attached. The cause of the problem is not clear. If it occurs: turn off the device, detach the keyboard and turn on the device again, reattaching the keyboard only at a later time.
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
/sys/bus/iio/devices/
Sensors:
- Capella Microsystems CM3218x Ambient Light Sensor
?InvenSense MPU6500 Accelerometer + Gyro
- AKM AK8963 Magnetometer
cat /sys/bus/iio/devices/iio\:device0/name i2c-CPLM3218:00 cat /sys/bus/iio/devices/iio\:device1/name INVN6500 cat /sys/bus/iio/devices/iio\:device2/name AK8963
Resources
Attachments
Some configuration files and sample outputs.
Useful Links
t100ta-utility-scripts: utility scripts for the ASUS T100TA running GNU/Linux;
G+ group ASUS T100 Ubuntu: a lot of useful information that have been then tested and adapted for Debian were provided in the past in this now defunct G+ group;
Linux on the Dell Venue 8 Pro: a detailed webpage on how to run Linux on a similar Bay Trail device.
Credits