{"id":1039,"date":"2017-02-21T12:27:25","date_gmt":"2017-02-21T11:27:25","guid":{"rendered":"https:\/\/www.dpin.de\/nf\/?page_id=1039"},"modified":"2021-07-01T20:00:04","modified_gmt":"2021-07-01T18:00:04","slug":"linux-on-tpt10","status":"publish","type":"page","link":"https:\/\/www.dpin.de\/nf\/computer-it-nerdine-geek\/geraete-devices-toys\/thinkpad-tablet-10\/linux-on-tpt10\/","title":{"rendered":"Linux on TPT10"},"content":{"rendered":"<h3>Mailinglist<\/h3>\n<p>If you are interested in getting Linux to work on this pretty cool machine, join our mailinglist:<br \/>\n<a href=\"http:\/\/dpin.de\/cgi-bin\/mailman\/listinfo\/tpt10-linux\" target=\"_blank\" rel=\"noopener\">http:\/\/dpin.de\/cgi-bin\/mailman\/listinfo\/tpt10-linux<\/a><\/p>\n<h3>Status<\/h3>\n<p>Using the vanilla kernel pretty much is working already:<\/p>\n<ul>\n<li>display, graphics and acceleration, also backlight control including full blanking, i.e. backlight power off (saves power)<\/li>\n<li>GUI acceleration works, OpenGL and motion video (vaapi)<\/li>\n<li>touchscreen, Atmel I2C connected touch controller<\/li>\n<li>Wacom I2C connected digtizer<\/li>\n<li>USB2 host port, USB3 host port on docking station<\/li>\n<li>micro SD card slot<\/li>\n<li>most sensors are accessible through the Intel sensor hub and IIO interface, like ambient light, accel, gyro:<br \/>\n<table>\n<tbody>\n<tr>\n<td>IIO device<\/td>\n<td>Name<\/td>\n<td>Driver<\/td>\n<td>Status<\/td>\n<\/tr>\n<tr>\n<td>iio0<\/td>\n<td>accel_3d<\/td>\n<td>hid_sensor_accel_3d<\/td>\n<td>works<\/td>\n<\/tr>\n<tr>\n<td>iio1<\/td>\n<td>als<\/td>\n<td>hid_sensor_als<\/td>\n<td>works<\/td>\n<\/tr>\n<tr>\n<td>iio2<\/td>\n<td>gyro_3d<\/td>\n<td>hid_sensor_gyro_3d<\/td>\n<td>works<\/td>\n<\/tr>\n<tr>\n<td>iio3<\/td>\n<td>incli_3d<\/td>\n<td>hid_sensor_incl_3d<\/td>\n<td>works<\/td>\n<\/tr>\n<tr>\n<td>iio4<\/td>\n<td>magn_3d<\/td>\n<td>hid_sensor_magn_3d<\/td>\n<td>works<\/td>\n<\/tr>\n<tr>\n<td>iio5<\/td>\n<td>dev_rotation<\/td>\n<td>hid_sensor_rotation<\/td>\n<td>unclear,<br \/>\nprobably yes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>WiFi is working using brcmfmac driver and an NVRAM File (<a href=\"https:\/\/www.dpin.de\/\/nf\/wp-content\/uploads\/2016\/04\/brcmfmac43241b5-sdio.txt\">brcmfmac43241b5-sdio<\/a>) which can be copied from EFI. It also contains the MAC address so I replaced some digits in my copy<\/li>\n<li>Bluetooth is looking good too, using the 8250_dw quirk two UARTs ttyS4 and ttyS5 are detected and ttyS4 can be attached to the BlueZ stack using &#8218;btattach -B \/dev\/ttyS4 -P bcm&#8216;. It also needs a binary patch which will be loaded by the kernel firmware loader from brcm\/BCM.hcd &#8211; this file should do the trick: <a href=\"https:\/\/www.dpin.de\/nf\/wp-content\/uploads\/2016\/04\/BCM.zip\">BCM<\/a> (rename and copy the zip contents)<br \/>\nUpdate: Does not work yet using btattach, hangs on init, hciattach works almost but fails to load the fw patch and I assume that&#8217;s the reason why the device a detected properly but not air traffic is going in or out<br \/>\nUpdate: I managed to get hciattach to load the BCM HCD &#8222;patch&#8220; and tata! Bluetooth is now recognised, initialized and air traffic is going in and out!<\/li>\n<li>the WWAN (Sierra Wireless) is creating a network device and is working, control using mbimcli, using a WIN10 utility additional USB serial interfaces can be activated which expose an AT command interface and GPS. The GPS has pretty poor quaility and outputs non-NMEA data.<\/li>\n<li>all buttons work &#8211; power, rotation lock, vol+\/vol- and windows button on front &#8211; at least all of them emit input events<\/li>\n<\/ul>\n<p>And now for the unpleasant part of non working stuff:<\/p>\n<ul>\n<li>sound is still not working because the TPT10 uses a codec that was introduced into the kernel for Cherrytrail but not Baytrail &#8211; well, I guess that can be hacked<br \/>\nI had a look at the ACPI DSDT yesterday and am confused as it states that the codec is RT5640 but it is pretty definitely a RT5671, the ID register gives proof for that:<br \/>\n<em>rt5640 i2c-10EC5640:00: Device with ID register 0x6271 is not rt5640\/39<\/em><\/li>\n<li>the cameras (front and back) will be a huge challenge. There does not seem to be any support for the IPS (Image Processing System) which they are connected to<\/li>\n<li>the fingerprint reader &#8211; well, i can live without it<\/li>\n<li>the NFC would be nice to have and maybe this is feasible<\/li>\n<li>the GPS is a little mystery to me since this seems to be a pretty unusual GPS device. My fear is that it requires a lot of userspace code, i.e. that pretty much of the resolution calculation is done in software and that the code for this will not be opensource.<\/li>\n<li>there is a vibration motor built into the device, I have no idea how to control it (yet)<\/li>\n<li>battery status, pretty important for a mobile device<br \/>\nUpdate: Unplugging and plugging the AC adapter emits APCI events for AC adapter and battery<\/li>\n<li>But worst of all the non working stuff is that I have no clue whatsoever how to put the device into a low power state and wake it up again. According to ACPI it does not support the most common S3 &#8211; suspend to RAM. There is only disk and freeze and the later does exactly what it says, it freezes the whole thing and never thaws again.<br \/>\nUpdate <a href=\"https:\/\/www.dpin.de\/nf\/baytrail-s3-idle-and-freeze\/\">here<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Mailinglist If you are interested in getting Linux to work on this pretty cool machine, join our mailinglist: http:\/\/dpin.de\/cgi-bin\/mailman\/listinfo\/tpt10-linux Status Using the vanilla kernel pretty much is working already: display, graphics and acceleration, also backlight control including full blanking, i.e. backlight power off (saves power) GUI acceleration works, OpenGL and motion video (vaapi) touchscreen, Atmel I2C connected touch controller Wacom&#8230; <a href=\"https:\/\/www.dpin.de\/nf\/computer-it-nerdine-geek\/geraete-devices-toys\/thinkpad-tablet-10\/linux-on-tpt10\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1034,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1039","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.dpin.de\/nf\/wp-json\/wp\/v2\/pages\/1039","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dpin.de\/nf\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.dpin.de\/nf\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.dpin.de\/nf\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dpin.de\/nf\/wp-json\/wp\/v2\/comments?post=1039"}],"version-history":[{"count":5,"href":"https:\/\/www.dpin.de\/nf\/wp-json\/wp\/v2\/pages\/1039\/revisions"}],"predecessor-version":[{"id":1775,"href":"https:\/\/www.dpin.de\/nf\/wp-json\/wp\/v2\/pages\/1039\/revisions\/1775"}],"up":[{"embeddable":true,"href":"https:\/\/www.dpin.de\/nf\/wp-json\/wp\/v2\/pages\/1034"}],"wp:attachment":[{"href":"https:\/\/www.dpin.de\/nf\/wp-json\/wp\/v2\/media?parent=1039"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}