[UNOFFICIAL BUILD] Lenovo Xiaoxin Pad 2022 (TB128FU) for /e/OS-T

Lenovo Xiaoxin Pad 2022 (TB128FU) for /e/OS-T 1.21

e-1.21-t-20240422-UNOFFICIAL-tb128fu.zip
https://sourceforge.net/projects/eosbuildsronnz98/files/OtherSmartphones/e-1.21-t-20240422-UNOFFICIAL-tb128fu.zip/download

Please see sources and install instructions including recovery here:
https://xdaforums.com/t/rom-13-evolution-x-7-9-7-for-lenovo-xiaoxin-pad-2022-tb128fu.4618213/

Use it at your own risk!
Please support the developer(s)!

1 Like

Thank you, ronnz. I have been looking for a relatively recent and inexpensive tablet to try /e/OS on. I’ve been using a Motorola Edge 30 Dubai with /e/OS for almost a year now. I also was able to install /e/OS on a first generation Xiaomi Pocophone, but it is getting a bit slow, so I was weary of picking up an older tablet.

It seems Lenovo marketed the TB128xx globally under the name “Tab M10 Plus Gen 3”, while the “Xiaoxin Pad” was used for the domestic Chinese market. Lenovo Xiaoxin (联想/聯想) 小新 “Little New”. This thread has a lot of information.
https://xdaforums.com/t/lenovo-xiaoxin-pad-2022.4465085/

It seems the global version is still listed on Lenovo’s website and it seems I can get the Chinese version from resellers as either a 4+64, 4+128, or 6+128 variant. The price seems to be between 100-150 USD.
I will acquire one of these devices and try this out.

I regret that I have come to ask for help. I regret this because Android hacking communities are full of too many people asking for help. I’d be happy to write a full tutorial once I am up and running.

  • My device arrived four days ago. It had the Chinese ROM version 13.5.476 installed. I did not connect it to Wi-Fi, so I did not update it.
  • I used EDL mode on a Windows PC to unlock the device. It took a couple hours to become familiar with EDL mode, where to obtain Qualcomm USB drivers and QPST_2.7.496, and where to find ROMs. I had countless Sahara errors until I realized I needed to be in UFS mode, not emmc mode.
  • I backed up every partition just to be safe. ~51 files takes up about 13.9 GiB
  • I was able to unlock my device using the HAHAHAHA serial number trick. I did not change the serial number back to the original. I don’t know if this is causing my issues.
  • I installed the twrp_TB128FU_12.img.
  • Using twrp was not intuitive. There were many warnings in red that various partitions could not be accessed, I tried the format/wipe data approach several times, and each time I rebooted I was greeted by the TWRP recovery tool. The instructions were unclear, was I supposed to install Evolution X v7.9.7, and then install /e/OS?
  • Exasperated, I copied e-1.21-t-20240422-UNOFFICIAL-tb128fu.zip to a USB drive and installed it to both slot a and slot b.
  • When I rebooted, I was greeted with the /e/OS logo and animation! This happened about 4 or 5 times, but my hopes were dashed and it failed… and the device rebooted into QUALCOMM CrashDump Mode and was stuck there for several hours until miraculously it loaded TWRP .

Before I try this again, I want to share the TWRP console output. I don’t think the partitions it’s looking for exist.

Failed to mount '/system_root' (Invalid argument)
Failed to mount '/vendor' (Invalid argument)
Failed to mount '/system_root' (Invalid argument)
Failed to mount '/vendor' (Invalid argument)
E:Unable to open /system_root/system/apex
E:Unable to load apex images from /system_root/system/apex
E:Unable to decrpt FBE device
Updating partition details...
Failed to mount '/system_root' (Invalid argument)
Failed to mount '/vendor' (Invalid argument)
...done
Failed to mount '/system_root' (Invalid argument)
Failed to mount '/system_root' (Invalid argument)
Failed to mount '/system_root' (Invalid argument)
Failed to mount '/system_root' (Invalid argument)
Failed to mount '/system_root' (Invalid argument)
Failed to mount '/system_root' (Invalid argument)
Full SELinux support is present.
Failed to mount '/system_root' (Invalid argument)

TWRP Select Partitions to Mount options:

  • System | Unchecked - Cannot check
  • System_EXT | Unchecked - Can check
  • Vendor | Unchecked - Cannot check
  • Product | Unchecked - Can check
  • metadata | Checked - Can uncheck
  • Data | Checked - Can uncheck
  • mnt/vendor/persist | Unchecked - Cannot check
  • lenovocust | Unchecked - Can check
  • dsp | Unchecked - Can check
  • Micro SD card | Unchecked - Cannot check
  • persist | Unchecked - Can check
  • USB OTG | Unchecked - Cannot check

Here is the adb output which shows the partitions don’t exist… assuming that df works to show partitions in the adb.

$ adb shell
* daemon not running; starting now at tcp:5037
* daemon started successfully
TB128FU:/ # df
Filesystem       1K-blocks    Used Available Use% Mounted on
rootfs             2270752   76664   2194088   4% /
tmpfs              2908456    1060   2907396   1% /dev
tmpfs              2908456       0   2908456   0% /mnt
tmpfs              2908456       0   2908456   0% /apex
tmpfs              2908456       4   2908452   1% /linkerconfig
tmpfs              2908456     128   2908328   1% /tmp
/dev/block/sda10     11760     188     11572   2% /metadata
/dev/block/dm-8  109615896 1813384 107802512   2% /data

Here is the CrashDump output I transcribed from a photo just in case it is relevant:

QUALCOMM CrashDump Mode
Format: log Type - Time(microsec) - Message - Optional Info
Log Typbe: B - Since Boot(Power On Reset), D - Delta, S - Statisti
c
S - QC_IMAGE_VERSION_STRING_=BOOT.XF.4.1-00340-KAMORTALAZ-1
S - IMAGE_VARIANT_STRING=DivarPkgLAA
S - OEM_IMAGE_VERSION_STRING=byws56
S - Boot Interface: UFS
S - Secure Boot: On
S - Boot Config @ 0x01b45070 = 0x00000049
S - OEM ID @0x01b46138 = 0x00000000
S - Serial Number @ 0x01b46134 = 0x4da2c3be
S - Feature Config Row 0 @ 0x01b441d0 = 0x005020001d600000
S - Feature Config Row 1 @ 0x01b441d8 = 0x0013000000020000
S - Core 0 Frequency, 1516 MHz
S - PBL Patch Ver: 1
S - PBL freq: 600 MHZ

I clicked post before finishing. Any guidance on how to proceed would really be appreciated.

Okay! Halfway there.

I tried TWRP’s installation method once more, https://eurekadevelopment.github.io/guide.html, and I anxiously watched the /e/OS logo screen. The system rebooted about 3-4 times, but finally I was greeted with the /e/OS welcome screen!

But… as soon I got through the on-boarding screens, I experienced a ton of flickering as the system seemed conflicted between which loader to use, Trebuchet or Bliss.
I could not get apps to install from the App Lounge and couldn’t get back to the Bliss “home screen”. I tried rebooting and the right loader didn’t show up and wasn’t sure if I selected the right gesture option. Frustrated, I figured I could change this in the settings, but ended up just trying to reset the device so I could go back through the onboarding. This didn’t work and now I’m back to TWRP and am struggling again to get /e/OS reinstalled.

edit: Okay, after 20 attempts, I finally got it loaded!

1 Like

The only thing not working is the app lounge. Using anonymous mode I am unable to install apps. I installed F-Droid, which had the majority of the apps I use. I just need to find a few replacements.

You might try newest version:

e-2.0-t-20240601-UNOFFICIAL-tb128fu.zip
https://sourceforge.net/projects/eosbuildsronnz98/files/OtherSmartphones/e-2.0-t-20240601-UNOFFICIAL-tb128fu.zip/download

Nice!

I managed to install the build, e-2.0-t-20240601-UNOFFICIAL-tb128fu.zip, this time it only took me two tries. I think the trick is wiping data, rebooting, chaning active slots, and then repeating the process and then installing to slot A (or b), rebooting into recovery, changing active slots, and then installing, rebooting into recovery, changing slots, and then rebooting. Finally, e/OS/ loaded.

It’s nice to have larger icons in the bliss launcher… There are some alignment issues with the GUI. The privacy tab (leftmost swipe) isn’t centered, and the bottom “favorite/pinned” app bar has the icons positioned too high.

Unfortunately, App Lounge is still not working correctly. I click install, then the button still changes to “retry”.

Edit: I will post some images once I re-install F-droid to make managing data easier.

1 Like

Did you try also Aurora Store?

Success

  • I downloaded the official AuroraStore-4.4.4.apk and when I tried anonymous mode, I got “aurora store internal error please retry after sometime or time”
  • I downloaded the latest nightly AuroraStore-4.4.4-nightly-signed-02-06-2024.apk and was able to successfully install apps.

The interesting thing that I noticed when granting permissions to F-Droid and Aurora is that I did not see App Lounge as having those permissions.

As promised, here are screenshots of the graphical corruption. I’m not sure if this is isolated to this device. I’m also not sure where I should report this issue.


Otherwise, the only issue I’m encountering infrequently is that the blisslauncher is crashing, causing flickering/the bottom of the screen to rapidly show/unshow the swipe up button. I tried the cache/storage clearing tricks. I really wish there were a way to read the logs to give developers a better idea of what is happening.

Overall though, thank you ronnz. I simply wanted an inexpensive device to use to read content without having to connect to one of the major ecosystems. You’ve given me more freedom.

I found a similar issue https://gitlab.e.foundation/e/backlog/-/issues/8012

I’d like to try to roll back to an older version on bliss to see if that helps. Any advice on how to obtain the .apk or replace it?

You find the prebuild apks here:
https://gitlab.e.foundation/e/os/android_prebuilts_prebuiltapks_lfs

But I do not know if you can update Bliss this way, I never did this