Teclast X16 Pro
|Wireless||Working, with kernel patches / kernel 4.13||rt8723bs|
|Bluetooth||Working, with kernel patches||rtl8723bs_bt|
|MicroSD Reader||Partially Working||sdhci|
|Power Management||Not working|
|Accelerometer||Working, with external kernel module||bmc150_accel_i2c|
|Hardware Buttons||Working, kernel module has to be enabled||soc_button_array gpio_keys|
The Teclast X16 Pro[dead link 2020-02-26] and Power[dead link 2020-04-03 ⓘ] are two 2 in 1 Tablet PC devices, equipped with a 11.6 inch display that supports for 1920 x 1080 pixels. Besides, the Teclast X16 Pro and Power support dual OS that allows users to take advantage of both Windows 10 and Android 5.1 operating systems on the device. They are powered by fifth-generation Intel Atom Z8500 (Pro) and Intel Atom Z8700 (Power) CPUs, aka Cherry Trail-Braswell, and by eighth-generation Intel HD graphics (12EUs Pro, 16EUs Power), coupled with 4GB of RAM (Pro) or 8GB of RAM (Power), both DDR3-1066 (due to a BIOS bug).
With kernel 4.7.2 and newer surprisingly much is working or there is a way to get it to work. If you have the time to go through all the steps you can get a pretty good useable linux tab.
Booting with UEFI bios (systemd-boot)
The Teclast X16 is able to boot from usb mass storage devices connected to an usb hub. During the installation an usb keyboard (or the keyboard cover) is needed to install arch linux. You can enter the bios by pressing del several times and overrule the boot device. There is not anything special to do, just prepare the flash drive and boot from it.
Automatic rotation does not work because of the missing support for the accelerometer.
Install alsamixer and set the following of about 50 volume controls have to be set to 30-50%, too much gain results in clicking noise.
- media1_in Gain 0
- codec_out1 Gain 0
- pcm0_in Gain 0
- Mono DAC
- Speaker ClassD
This is remembered during a reboot. Global shortcuts to change sound volume work.
Working since kernel >= 4.13, rtl8723bs_bt kernel module is included in linux >= 4.13, as well as the firmware binaries. This step is only necessary for older kernels.
Compiling an Arch Linux kernel, see Kernels/Traditional compilation
1) apply the pm_set/get-revertes + rfkill patches NOT the sound patches from Laszlo-Fiat see: http://github.com/hadess/rtl8723bs/issues/76[dead link 2020-04-03 ⓘ] (0001-My-changes-for-4.7.0-rc7-for-Baytrail-T.patch.txt)
2) compile kernel (takes many hours), create new vmlinuz/initrd, create syslinux entries
check out the sources from https://github.com/hadess/rtl8723bs + make install
This device needs the rfkill patch from the step above.
see https://github.com/lwfinger/rtl8723bs_bt not much to do, file-transfer works.
This is recognized as a generic pointing device, not as Touchpad Synaptics
/sys/bus/i2c/devices lists a BMA250E device
cd /sys/bus/i2c/devices/i2c-BMA250E:00/iio:device0 watch cat in_accel_x_raw in_accel_y_raw in_accel_z_raw
Tip: this kernel module has to be compiled by yourself, search for bmc150 below modules/industrialio
Kernel >= 4.13: soc_button_array and gpio_keys has to be loaded after soc is initialized.
softdep soc_button_array pre: snd_soc_core post: gpio_keys
Partially broken devices
Working fine with SDHC and lower cards, crashing with SDXC UHS-I and higher ones, (Timeout for Hardware Interrupt issue)
Micro-USB OTG port
Nothing happens if a USB Stick, or any other device, is plugged in.
Hibernate and pm-suspend crashes. To avoid any kind of instability, add this "intel_idle.max_cstate=1" to the CMDLINE.
According to /sys/bus/i2c/devices, there is an OVTI2680 device (OmniVision OV2680 - Front Camera) and INT5648 device (OmniVision OV5648 - Rear Camera)
Devices on i2c bus
|i2c-10EC5645:00||rt5645||Realtek RT5645 - Sound Card|
|i2c-BMA250E:00||bmc150_accel_i2c||Bosch BMC150 - Accelerometer|
|i2c-FGCW2015:00||CW2015 Fuel-Gauge IC? (http://www.lean-chip.com/mc-download.html?id=154[dead link 2020-04-03 ⓘ])|
|i2c-GDIX1001:00||goodix||Goodix GT9110P - Touchscreen|
|i2c-INT33FD:00||intel_soc_pmic_i2c||Intel I2C Interface|
|i2c-INT5648:00||OmniVision OV5648 - Rear Camera|
|i2c-LNXVIDEO:00||Video Extension - ACPI_VIDEO|
|i2c-OVTI2680:00||OmniVision OV2680 - Front Camera|
|i2c-TBQ24297:00||TI BQ24297 - Charging Controller (http://www.ti.com/product/bq24297/description)|
|i2c-XXVM149C:00||VM149C Voice-Coil-Motor IC? (http://www.siti.com.tw/product/spec/Motor/SP-VM149C-A.002.pdf)|