Jump to content

Lenovo Tab M10 FHD Plus (lenovo tbx606): Difference between revisions

From postmarketOS Wiki
Rgon (talk | contribs)
Rgon (talk | contribs)
Serial console info
Line 153: Line 153:
* <code>pmbootstrap flasher flash_kernel</code> does not throw errors
* <code>pmbootstrap flasher flash_kernel</code> does not throw errors
* <code>pmbootstrap install --no-fde --android-recovery-zip</code> <code>pmbootstrap export</code> and using <code>adb push mos-lenovo-x606fa.zip /sdcard/</code> to later "Install Zip" is impossible if we don't _Wipe_ <code>system</code> (and <code>data</code>, <code>cache</code> for good measure). After flashing the exported <code>.zip</code>, <code>/system_root</code> is once again mountable (containing just  the <code>lost+found</code> dir, but <code>Data</code> is no longer mountable).
* <code>pmbootstrap install --no-fde --android-recovery-zip</code> <code>pmbootstrap export</code> and using <code>adb push mos-lenovo-x606fa.zip /sdcard/</code> to later "Install Zip" is impossible if we don't _Wipe_ <code>system</code> (and <code>data</code>, <code>cache</code> for good measure). After flashing the exported <code>.zip</code>, <code>/system_root</code> is once again mountable (containing just  the <code>lost+found</code> dir, but <code>Data</code> is no longer mountable).
== Serial Console ==
The device's main board has two exposed POGO pins labelled ''TX'' and ''RX'' which expose the SOC's '''1.8V''' UART (voltage level checked with oscilloscope). Upon charger connected/<code>fastboot reboot</code>, the device prints the following (''115200 baud''):
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Boot serial output:</strong>
|-
| <syntaxhighlight>
<< garbage >>
F0: 102B 0000
F3: 0000 0000 [0200]
V0: 0000 0000 [0001]
00: 0000 0000
BP: 0800 0041 [0000]
G0: 0090 0000
EC: 0000 0000 [4001]
CC: 0000 0000 [0005]
T0: 0000 010B [000F]
Jump to BL
<< garbage >>
</syntaxhighlight>
|}


== Mainlining ==
== Mainlining ==

Revision as of 11:50, 16 August 2021

This device is marked as not booting.
Lenovo Tab 10 FHD Plus 2nd Gen
TB-X606FA Tablet docked in it's Alexa speaker dock.
TB-X606FA Tablet docked in it's Alexa speaker dock.
Manufacturer Lenovo
Name Tab 10 FHD Plus 2nd Gen
Codename lenovo-tbx606
Released 2020
Hardware
Chipset MediaTek MT8768 (Helio P22T)
CPU 8x 1.8/2.30GHz Cortex-A53
GPU PowerVR Rogue GE8320 @ 650MHz (OpenGL ES 3.2)
Display 10.3" 1920x1200 TDDI 330nits
Storage 64GB eMMC
Memory 4GB LPDDR4X 3200MHz
Architecture aarch64
Software
Original software Android 9
postmarketOS
Category testing
Pre-built images no


The Lenovo Tab M10 FHD Plus is a series of tablets sold also intended to be used as voice assistant screen hybrids called Smart Tab M10 FHD Plus. This is the second generation of the M10 FHD tablet (called M10 FHD Plus) and uses Mediatek processors.

This 4/64GB tablet is sold alone (P/N ZA6M0009US), with a docking station intended to be used with Google Assistant (P/N ZA5W0146US) and with a speaker base with an Alexa Show Mode (Model TB-X606FA, P/N ZA6M0009US). AFAIK, the hardware between those versions is mostly the same. Software isn't. However, 2GB RAM models also exist.

The TB-X606FA Alexa Base connects to the device via just two pogo pins (thus providing charging only) and is connected via Bluetooth exposing two devices called 'Lenovo Smart Dock xxxxxx'. One acts as a Bluetooth A2DP/HSP sink (TODO: codecs and get Source working in Pulseaudio). The other device exposes a bunch of (unknown) Bluetooth services.

The efforts for this tablet will most likely be of great use in porting the Lenovo Tab M8 FHD (Lenovo TB-8705), which shares the same SOC.

Tablet model [HW Version] Type Packaged with Lenovo LMSA Rom
TB-X606FA [60-62] WIFI Alexa Base TB-X606FA_S300269_210602_BMP.zip (2.1 GB)
TB-X606XA [80-82] WIFI+LTE Alexa Base TB-X606XA_S300279_210602_BMP.zip (2.1 GB)
TB-X606F [60-66] WIFI Alone/Google Assistant Base TB-X606F_S300320_210716_BMP.zip (1.9 GB)
TB-X606X [80-86] WIFI+LTE Alone/Google Assistant Base TB-X606X_S300326_210720_BMP.zip (1.9 GB)
TB-X606V [80-86] WIFI+LTE Alone/Google Assistant Base TB-X606V_S300255_210527_BMP.zip (1.9 GB)

Contributors

Users owning this device

  • Jiël (Notes: Beta test)
  • Rgon (Notes: First attempt at porting to pmos!)
  • Zephyr1112 (Notes: 4/64GB, stock ROM, X606F. Making Android trees)


How to enter flash mode

NOTES: Unofficial TWRP is available for this device. Bootloader unlocking:

  • Enable Developer Options (Android Settings -> System -> About -> Build Number (press 7 times)
  • Turn on OEM Unlocking and USB Debugging in Android Settings -> System -> Developer Options
  • Connect tablet to computer, press Allow USB Debugging on the popup that will appear on the tablet.
  • $ adb reboot bootloader
  • $ fastboot flashing unlock Wipes data!
  • Follow the instructions on the tablet and reboot to Android for the wipe to complete.

Entering the bootloader:

  • Hold Vol Down + Power until the tablet vibrates to enter fastboot mode.

Enable installing unverified packages (specific to mediatek devices/Android Verified Boot): either flash an empty vbmeta package

  • fastboot --disable-verification flash vbmeta vbmeta.img

TODO: provide vbmeta.img or create a custom signed vbmeta.img for your partitions.

Then install your package (after vbmeta):

  • fastboot flash whatToFlash imageSrc

Installation

TODO: pmbootstrap flasher flash_kernel causes bootloop. The device shows the 'Lenovo' splash screen, appears as the usb device: ID 0e8d:2000 MediaTek Inc. MT65xx Preloader, which shortly disappears and reboots.

See also

The open source kernel code for the models: TB-X606X, TB-X606F (buildable, and containing a defconfig for the board) can be found in Lenovo's Open Source portal, with the filename tab_m10_fhd_plus_opensource_tb-x606m_s000213_200302_bmain.tgz, sha256sum: aab720c250f05a5b4ae618ecf8350978428446ad14b1f8ed8b01b0582205a12c.

The board name appears to be achilles6_row_wifi, as is the provided kernel source's defconfig filename.


Issues stifling development

  • TWRP install not persisting Solved by installing vbmeta.img before (and after?) the recovery image.
  • pmbootstrap flasher flash_rootfs throws error Invalid sparse file format at header magic and keeps transferring the data. Solved by: Troubleshooting#Invalid_sparse_file_format_at_header_magic

Note: even though no further errors pop up, after calling this command, TWRP throws the following errors: Faled to mount '/system_root' (Invalid-argument). Wiping the "System" partition on TWRP fixes the issue, and reflashing pmOS brings it back up. So it seems that the partition is not being correctly written by flash_rootfs

  • pmbootstrap flasher flash_rootfs followed by pmbootstrap flasher boot reboots to fastboot.
  • pmbootstrap flasher flash_kernel does not throw errors
  • pmbootstrap install --no-fde --android-recovery-zip pmbootstrap export and using adb push mos-lenovo-x606fa.zip /sdcard/ to later "Install Zip" is impossible if we don't _Wipe_ system (and data, cache for good measure). After flashing the exported .zip, /system_root is once again mountable (containing just the lost+found dir, but Data is no longer mountable).

Serial Console

The device's main board has two exposed POGO pins labelled TX and RX which expose the SOC's 1.8V UART (voltage level checked with oscilloscope). Upon charger connected/fastboot reboot, the device prints the following (115200 baud):

Mainlining

This SOC mt8768 seems to be mostly the same as the mt6765, since in the Lenovo provided kernel, the name mt6765 (Helio P35) appears in many places, substituting this tablet's SOC name.

NOT VERIFIED sourced from deviceinfohw

Hardware type Chip Mainline status
WiFi chip ? ?
Charging IC bq2560x ?
Fuel gauge ? ?
GNSS N/A -
NFC N/A -
Proximity sensor ltr578_l ?
Accelerometer Bosch bma253 -
Touchscreen ? fts_ts driver
Display panel BOE TV103WUM-LL1 Generic Driver Used