Lenovo Tab P11 (lenovo-j606f)

From postmarketOS Wiki
Lenovo Tab P11
Lenovo Tab P11
Lenovo Tab P11
Manufacturer Lenovo
Name Tab P11
Codename lenovo-tbj606f
Released 2020
Hardware
Chipset Qualcomm Snapdragon 662 (SM6115)
CPU Octa-core (4x2.0 GHz Kryo 260 Gold & 4x1.8 GHz Kryo 260 Silver)
GPU Adreno 610
Display 1200 x 2000
Storage 64/128 GB
Memory 4/6 GB
Architecture aarch64
Software
Original software Android
Original version 10
Extended version 11
postmarketOS
Category testing
Pre-built images no
This device is marked as not booting.
Status: Mainline DTS available; No device package yet


Contributors

  • MollySophia

Users owning this device


How to enter flash mode

  • Bootloader Mode: Power on the device by holding down Volume Down and Power
  • Recovery Mode: Power on the device by holding down Volume Down, Volume Up and Power
  • EDL Mode: Hold down Volume Up while connecting the tablet to a computer with a USB-C cable

Unlocking the bootloader

Icon WARNING: Unlocking the bootloader will wipe all user data on the device
Note Note: This process may vary depending on the region where you have bought the tablet
  1. Enable developer options and turn on OEM unlocking in the Android settings
  2. Reboot into the bootloader by holding down Volume Down and Power
  3. Connect the tablet to a computer with a USB-C cable and run the following command:
    $ fastboot flashing unlock
    
  4. Confirm unlocking the bootloader by selecting "UNLOCK THE BOOTLOADER" on the tablet using the volume and power keys

Back to stock firmware

Icon WARNING: Restoring the firmware will wipe all user data on the device
  1. Install the qdl tool from here. Arch Linux users can simply install the qdl-git AUR package.
  2. Download the firmware that suits your model from here. The latest global firmware version as of November 2024 is TB-J606F_S320383_240603_ROW
  3. Extract the ZIP archive and open a terminal inside the directory
  4. Reboot the device into EDL mode by holding down Volume Up while connecting the tablet to a computer with a USB-C cable
  5. Run the following command:
    $ qdl --storage ufs --include ./ ./prog_firehose_ddr.elf ./rawprogram_unsparse0.xml ./patch0.xml ./rawprogram1.xml ./patch1.xml ./rawprogram2.xml ./patch2.xml ./rawprogram3.xml ./patch3.xml ./rawprogram4.xml ./patch4.xml ./rawprogram5.xml ./patch5.xml
    
    If you have trouble running the command above, make sure your udev rules are set up correctly. Alternatively, you can try running the command with sudo
  6. After the tablet reboots, Android should be running again

Notes

This device uses Qualcomm SM6115 chipset, which is almost the same as the SM4250 chipset OnePlus Nord N100 is using. Using stock kernel source from Lenovo website and the installation procedure OnePlus Nord N100 device page suggests, I got similar results with OnePlus Nord N100: USB Network and the vibrator are working, which indicates again that these two devices are fairly similar.

The vendor poorly released it's kernel. The kernel source code is older than the latest stock firmware (Android 10 : 0906, Android 11 has much later dated android builds and bootloader), and the kernel does not contain drivers for peripherals contained in later-built P11s, such as the touch screen driver for variants using the NovaTek touch panel. The kernel for android 11 is fully unreleased, although it is unknown if Android 10's kernel also works with the bootloader of Android 11. (Not even sure if it can be reverted.) If possible, it might be easier to go to the mainline route, than requesting the code to Lenovo. (Lenovo refused to provide the code.)

Installation

/* Not yet */

See also