Differences between revisions 48 and 49
Revision 48 as of 2015-10-22 18:11:28
Size: 16945
Editor: devfra
Comment: update "screen brightness" section
Revision 49 as of 2015-10-23 15:02:55
Size: 16771
Editor: devfra
Comment: update "audio" section
Deletions are marked like this. Additions are marked like this.
Line 59: Line 59:
|| Sound || {i} || || Sound || {i} X-( ||
Line 173: Line 173:
The device is an Intel SST Audio / Realtek RT5640.

##, it currently doesn't work. Useful informations are discussed in
## [[https://bugzilla.kernel.org/show_bug.cgi?id=86581|kernel bug report
## 86581]] ## and in [[https://bugs.debian.org/cgi-bin
## /bugreport.cgi?bug=774914|Debian bug report 774914]]

Sound works under the current stable kernel linux-image-3.16.0-4-amd64, using the firmware and alsa files here [[https://drive.google.com/folderview?id=0B4s5KNXf2Z36VVJDQnY5NEltdmc&usp=sharing&tid=0B9C1WK1FQhjfcXNrbzN6djQzajg#list|https://drive.google.com/folderview?id=0B4s5KNXf2Z36VVJDQnY5NEltdmc&usp=sharing&tid=0B9C1WK1FQhjfcXNrbzN6djQzajg#list]], it also works under linux-image-4.3.0-rc3-amd64 with the state file from the previous link and the firmware image from here: [[https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/intel/fw_sst_0f28.bin-48kHz_i2s_master|https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/intel/fw_sst_0f28.bin-48kHz_i2s_master]]

## Here some related sparse messages provided by '''dmesg''':
## {{{
## ...
## sst-acpi 80860F28:00: firmware: failed to load intel/fw_sst_0f28.bin-
## i2s_master (-2)
## sst-acpi 80860F28:00: Direct firmware load failed with error -2
## sst-acpi 80860F28:00: Falling back to user helper
## sst-acpi 80860F28:00: Cannot load firmware intel/fw_sst_0f28.bin-i2s_master
## ...
## byt-rt5640 byt-rt5640: ASoC: CPU DAI baytrail-pcm-audio not registered
## ...
## Modules linked in: ... snd_soc_sst_byt_rt5640_mach ... snd_soc_rt5640
## snd_soc_rl6231 snd_soc_core ... snd_compress snd_pcm snd_timer ... snd
## soundcore ... snd_soc_sst_acpi ...
## }}}
The device is an Intel SST Audio / Realtek RT5640. The firmware can be installed (only in Sid for now, but the package works also in Stretch) with:
{{{
# apt-get install firmware-intel-sound
}}}
However a manual configuration of the device is still required. Is it possible to do it using '''alsactl''' (available in the package '''alsa-utils''') and a proper configuration file. The [[https://plus.google.com/communities/117853703024346186936|T100 Ubuntu community on G+]] has many configuration files you can try but [[https://drive.google.com/folderview?id=0B4s5KNXf2Z36cmt0dERRaDUtVEk&usp=sharing&tid=0B9C1WK1FQhjfcXNrbzN6djQzajg|this one]] seems to work well. Download and apply the configuration file in this way:
{{{
# cp t100_B.state /var/lib/alsa/asound.state
# alsactl restore
}}}
Please be aware that there are reports indicating that in some cases the sound can be distorted and the speakers can be even damaged if the volume is high. Be careful in doing tests. Headphones work too but switching from the speaker is not automatic, it can be done using the audio manager of the DE or a dedicated application like '''pavucontrol'''.

For the linux kernel 3.16 in Debian Jessie use the firmware and the alsa configuration files available [[https://drive.google.com/folderview?id=0B4s5KNXf2Z36VVJDQnY5NEltdmc&usp=sharing&tid=0B9C1WK1FQhjfcXNrbzN6djQzajg#list|here]]. However, as suggested in the important notes above, it is not advisable to use this kernel due to a lot of components unsupported.

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

- CPU: Intel Atom Bay Trail Z3740 (BYT-T)/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), internal USB Disk 7.5GB (/dev/sda, hidden, Windows recovery)
- RAM: LPDDR3 1067 2GB (on-board)
- Bluetooth: Broadcom (on-board BCM2035 HCI?)

Overall Status in Debian Stretch (testing)

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

Detect hard drives:

{OK}

Extra Features

Shutdown

{OK}

Reboot

{OK}

Hibernation

/!\

Sleep / Suspend

/!\

Battery monitor

{OK}

Xorg

{OK}

- OpenGL

{OK}

- Resize-and-Rotate(randr)

{i}

Screen backlight

{X}

Light sensor

{X}

Switch to External Screen (HDMI)

{OK}

Mouse

- Built-in (Touchpad)

{OK} (but no multitouch)

- Built-in (Touchscreen)

{OK} (but no multitouch)

Bluetooth

{i} /!\

Wireless/Wifi

{i} X-(

Keyboard's Hotkeys

[?]

Sound

{i} X-(

MicroSD card reader

{i}

Built-in camera

{X}

Accelerometers

{i}

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

{i} The T100TA has an hardware similar to that one of the Asus X205TA, informations and procedures regarding these two models can be usefully shared.

/!\ /!\ /!\ There is a grave issue in linux kernel > 3.16 (now available only in Debian Jessie) with CPU C-states which causes instability during mmc data operations, leading possibly to data loss and file system corruption. In linux kernel 4.2 the problem still persists and a workaround is proposed in the Power Management section, make sure to apply it also during the installation.

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

{i} 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.

{i} In order to install Debian using the internet (e.g. with a netinst image) the wifi has to be enabled. See the steps described in the WiFi section, prepare the needed firmware (see also the d-i manual Loading Missing Firmware) and reproduce the steps using a shell during the installation procedure.

{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 Debian 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. For those installing Debian 64-bit without the d-i, e.g. with debootstrap, chroot to the newly installed Debian partition and install GRUB in this way:

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

Configuration

Power Management

Status, 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.2, so suspend to ram, hibernation and screen brightness controll does not work.

With kernel linux 4.2:
- battery status information is available
- shutdown correctly works
- reboot correctly works
- suspend to RAM doesn't work
- hibernation doesn't work

Suspend to RAM does not work and sends the machine into a state from which one can only recover by forcing the shutdown. Hibernation partially works as it, like the suspend, requires to force the shutdown and at the following boot the system recovers from the hibernation but with some glitches. Some suggestions are discussed in this thread.

Screen brightness

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 are discussed in this discussion.

However 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 DSI1 --brightness 0.8

CPU C-states issue with the internal eMMC

This issue causes instability during mmc data operations, leading possibly to data loss and file system corruption, and it is discussed in this thread and a patch seems to be already proposed in this discussion. However a proper fix doesn't seem to be yet available. As a workaround it is necessary to boot the system with the kernel parameter:

intel_idle.max_cstate=0

Check this post for further suggestions and instruction. Please be aware that using this workaround can impact on the battery duration, but it is better than lose data.

Touchscreen

Intel Graphics using i915 driver, X.org works.

The accelerometers are not supported yet, therefore the screen can only be manually rotated using xrandr. However the touchscreen inputs also have to be manually adjusted with xinput to be coherent with the rotations. See the example script ts_rotate.Stretch_ASUS_T100TA.sh.

The accelerometers work as of at least linux-image-4.3.0-rc3-amd64.

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

Audio

The device is an Intel SST Audio / Realtek RT5640. The firmware can be installed (only in Sid for now, but the package works also in Stretch) with:

# apt-get install firmware-intel-sound

However a manual configuration of the device is still required. Is it possible to do it using alsactl (available in the package alsa-utils) and a proper configuration file. The T100 Ubuntu community on G+ has many configuration files you can try but this one seems to work well. Download and apply the configuration file in this way:

# cp t100_B.state /var/lib/alsa/asound.state
# alsactl restore

Please be aware that there are reports indicating that in some cases the sound can be distorted and the speakers can be even damaged if the volume is high. Be careful in doing tests. Headphones work too but switching from the speaker is not automatic, it can be done using the audio manager of the DE or a dedicated application like pavucontrol.

For the linux kernel 3.16 in Debian Jessie use the firmware and the alsa configuration files available here. However, as suggested in the important notes above, it is not advisable to use this kernel due to a lot of components unsupported.

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:

# apt-get install firmware-brcm80211

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

Note that brcmfmac43241b4-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.

With linux kernel < 4.1, due to some conflit between sdhci-acpi and brcmfmac (see kernel bug report 88061 and this discussion), a parameter has to be changed for the sdhci-acpi driver. There are several ways to do this, temporarily or permanently. A temporary way, also useful during the installation procedure, is this one:

# echo 'on' | tee /sys/bus/platform/drivers/sdhci-acpi/INT33BB\:00/power/control  > /dev/null

then refresh the networks list in your network manager. In case it doesn't work immediately try to reload the brcmfmac module:

# modprobe -r brcmfmac && modprobe brcmfmac

Otherwise, to make it permanent, install the package sysfsutils and add the following lines in /etc/sysfs.conf:

# Disable SDHCI-ACPI for Wireless, otherwise WLAN doesn't work
bus/platform/drivers/sdhci-acpi/INT33BB:00/power/control = on

then restart the system. In this way at each boot the option is passed before the brcmfmac driver is loaded.

microSD Card Reader

The following action allows the card reader to work:

# echo 'options sdhci debug_quirks=0x8000' | tee /etc/modprobe.d/sdhci.conf > /dev/null
# update-initramfs -u -k all

After a reboot the card reader should be working.

To use the microSD card reader for the installation procedure, or at the first boot of the system, at boot edit the GRUB menu entry and add to the linux line the option sdhci.debug_quirks=0x8000, like this:

setparams 'Debian GNU/Linux'
...
    linux   /boot/vmlinuz-3.16.0-4-amd64 ... quiet sdhci.debug_quirks=0x8000

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.

  • [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

Credits