Lenovo Xiaoxin Pad Pro 12.6 (lenovo-q706f): Difference between revisions
Update note |
mNo edit summary |
||
Line 53: | Line 53: | ||
| status = Mainline in progress | | status = Mainline in progress | ||
| status_dvb = - | | status_dvb = - | ||
| pmoskernel = 6.10.0 | | pmoskernel = 6.10.0 | ||
| booting = yes | | booting = yes |
Revision as of 03:56, 16 August 2024
The Lenovo Xiaoxin Pad Pro 12.6 is a high-end Android tablet released in China. Other official names for this tablet are Lenovo Tab P12 Pro. Lenovo has released the downstream Linux kernel sources for this device sources.
![]() Lenovo Xiaoxin Pad Pro 12.6 running ArchLinux | |
Manufacturer | Lenovo |
---|---|
Name | Xiaoxin Pad Pro 12.6 |
Codename | lenovo-q706f |
Model | TB-Q706F |
Released | 2021 |
Type | tablet |
Hardware | |
Chipset | Qualcomm Snapdragon 870 (SM8250-AC) |
CPU | Octa-core (1x3.2 GHz Kryo 585 & 3x2.42 GHz Kryo 585 & 4x1.80 GHz Kryo 585) |
GPU | Adreno 650 |
Display | 2560 x 1600 (120Hz 12.6" OLED) |
Storage | 128 GB / 256 GB |
Memory | 6GB / 8 GB LPDDR5 |
Architecture | aarch64 |
Software | |
Original software | Android (ZUI) |
Original version | 11 (ZUI 12) |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
postmarketOS kernel | 6.10.0 |
Flashing |
Works |
---|---|
USB Networking |
Partial |
Internal storage |
Works |
SD card |
Works |
Battery |
Partial |
Screen |
Partial |
Touchscreen |
Works |
Keyboard |
Partial |
Touchpad |
Broken |
Stylus |
Broken |
Multimedia | |
3D Acceleration |
Works |
Audio |
Broken |
Camera |
Broken |
Camera Flash |
Works |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
Miscellaneous | |
FDE |
Works |
USB OTG |
Partial |
HDMI/DP |
Partial |
Sensors | |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
Broken |
Barometer |
No data |
Contributors
Users owning this device
How to enter flash mode
- EDL Mode: Hold down , then connect the tablet to a computer with a USB cable.
- Fastboot Mode: Power on the device with both and buttons.
- Recovery Mode: Boot into Fastboot mode and select recovery using the Volume/Power buttons.
Unlocking the bootloader
Note: You have to wait at least a day after initially connecting to the Internet for Lenovo to process your serial number. |
- Go to Settings → My Device, tap on ZUI Version until developer settings are enabled.
- Go to General Settings → Developer Settings and enable "OEM Unlocking".
- Boot into fastboot mode and connect it to a PC
- Take note of the serial number shown on the bootloader screen.
- Download your
sn.img
from http://cdn.zui.lenovomm.com/developer/tabletboot/(your_sn_number)/sn.img (Replace the brackets with your serial number in the link) - Flash your
sn.img
withfastboot flash unlock sn.img
. - Unlock the bootloader with
fastboot oem unlock-go
Alternatively this page can also be used to get the sn.img
.
EDL Mode
The necessary loader for bkerler's EDL tool can be found in this firmware file (prog_firehose_ddr.elf
).
Backup
This section is Optional
Backup your userdata partiton, either by using Magisk (need root) or without root using a recovery program such as TWRP TWRP.
Method 1: Magisk
Use Magisk:
$ adb shell
$ su
# dd if=/dev/block/by-name/dtbo_a of=/sdcard/dtbo_a.img
$ exit
$ adb pull /sdcard/dtbo_a.img
Method 2: Kernelsu Boot or TWRP (without root)
Use kernelsu:
Download "boot.img" , install kernelsu app in your tablet, Authorize root to the adb shell
$ fastboot boot boot.img
$ adb shell
# dd if=/dev/block/by-name/dtbo_a of=/sdcard/dtbo_a.img
# exit
$ adb pull /sdcard/dtbo_a.img
Installation
Install pmbootstrap and execute:
$ pmbootstrap init
$ pmbootstrap install
Before installing rootfs, please erase dtbo_a or dtbo_b
$ fastboot erase dtbo_a
Install rootfs to UFS:
Flash rootfs to the userdata partition:
$ pmbootstrap flasher flash_rootfs --partition userdata
$ pmbootstrap flasher flash_kernel --partition boot_a
$ fastboot set_active a
Install rootfs to SD card:
Install
, convert to a raw image, and write it to the SD card .1. Install the simg2img tool
sudo apt-get install simg2img # sudo apt-get install android-sdk-libsparse-utils
2. Convert lenovo-q706f.img to a raw image
simg2img ~/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs/lenovo-q706f.img lenovo-q706f.raw
3. Write the raw image to the SD card using dd
sudo dd if=lenovo-q706f.raw of=/dev/sdX bs=4M status=progress
Replace
with the actual device name of your SD card. You can use the lsblk command to find the device name of your SD card.4. Ensure all write operations are complete
sudo sync
Note: Before executing these commands, make sure you have selected the correct SD card device name to avoid data loss due to incorrect operations.
5. Flash boot to the boot_a partition:
Enter Fastboot Mode
$ pmbootstrap flasher flash_kernel --partition boot_a
$ fastboot set_active a
Broken Type-C Device mode
SSH into the device (Full instructions) ,Not Working ,You need to disabled pm8150b_typec in dts here and repack the kernel:
$ ssh user@172.16.42.1
Mainline
A work in progress mainline kernel is being developed here.
Mainline status
Component | Model | Status | Notes |
---|---|---|---|
SoC | Qualcomm SM8250-AC Snapdragon 870 | Y | |
UFS | Kioxia THGJFAT1T84BAIRB | Y | |
SD card | - | Y | |
Display | SAMSUNG AMSA26ZP01 | P | Dual DSI samsung 2k dsc 2560 x 1600 120Hz 12.6" AMOLED Changing the brightness too quickly will cause the panel to crash, Turn the screen off and on to recover |
Touchscreen | Goodix GT9966/GT6975P ? | Y | Goodix berlin series spi@a94000 |
Pen input | N | Compatible with MPP 1.51 pens | Linux mainline driver goodix-berlin does not support pen input yet |
Touchpad | hid-over-i2c | Y (untest) | addr: 0x60, bus: 0xa84000 |
Keyboard | hid-over-i2c | Y (untest) | i2c Address 0x61, bus: 0x98c000 |
Audio | Cirrus CS35L41 | P | bus: 0x994000, 4x Speaker Amp, one for each speaker |
Everest-Semi ES7210 | For microphone | N | addr: 0x40, bus: 0x994000 |
synaptics as33970 | For microphone ? | N | addr: 0x41, bus: 0x994000 |
Pen Charging | NXP CTN730 | N | addr: 0x28, bus: 0x984000 |
Charging | Qualcomm SMB1396 ? | P | addr: 0x10, bus: 0x884000 Limit 5V2A. Charging Protetion Driver lenovo_jeita |
Buttons | GPIO | Y | |
USB-C | USB 3.0 & USB 2.0 | Y | |
Role switching | Y | ||
onsemi NB7VPQ904M DP redriver | Y | addr: 0x19, bus: 0x990000 | |
FSA4480 | Y | addr: 0x43, bus: 0x990000 | |
VBUS out | Y | ||
Fuel gauge | Texas Instruments bq27541 | Y | addr: 0x55, bus: 0x884000 |
Wi-Fi | Qualcomm QCA6390 | Y | need bootmac |
Fingerprint | Goodix | N |
i2c Table
Android messes up the i2c numbering. This is the real i2c numbering corresponding to mainline, showing only those that have devices attached.
Real | Android | Address |
---|---|---|
i2c1 | i2c0 | 0x984000 |
i2c3 | i2c6 | 0x98c000 |
i2c4 | i2c2 | 0x990000 |
i2c5 | i2c3 | 0x994000 |
i2c9 | i2c4 | 0xa84000 |
i2c13 | i2c7 | 0xa94000 |
i2c15 | i2c5 | 0x884000 |
Back to stock firmware
Linux tutorial:
- Enter EDL Mode by powering off the tablet first, then hold while connecting the tablet to a computer with an USB cable.
- Download the qdl tool from here and build it. Arch Linux users can simply install the qdl AUR package.
- Download the firmware from here.
- Extract the ZIP file.
- cd into the extracted ZIP directory
- Execute the following command:
qdl --storage ufs --include ./ ./prog_firehose_ddr.elf ./rawprogram0.xml ./patch0.xml ./rawprogram1.xml ./patch1.xml ./rawprogram2.xml ./patch2.xml ./rawprogram3.xml ./patch3.xml ./rawprogram4.xml ./patch4.xml ./rawprogram5.xml ./patch5.xml ./rawprogram_unsparse0_fullupgrade.xml
- After it has finished, the command will exit itself. Force reboot the tablet by holding . Now you should be able to boot back into stock firmware.
See also