Lenovo ThinkSmart View ROM/OS Development

is it easy to swap back between a11 and pmos? I have an older version pmos running right now (and itā€™s working apart from the resolution bug) but I never took a dump. should I do that now with the mostly working version of pmos before trying A11?

Iā€™ve swapped between testing PMOS and A8.1/A11 multiple times and itā€™s worked fine (mostly) but this is always doing a start from scratch install, Iā€™ve not done the dump thing (although I probably should).

The one issue I was stuck on for many weeks was trying to install A11. With the Android Go ROM files as supplied by deadman, it crashed every time on boot (to the Lenovo logo). In the end, I tried something crazy and took one of the stock ROM file sets and copied over the A11 files. This meant no missing files during the flash and it actually worked. Something was obviously missing for me but I didnā€™t do much more testing as to what.

Not sure if that helps at all with your question but I thought worth mentioning if anyone else stumbles across this issue.

1 Like

For the love of god I need help!!!

I have never rooted android before and everything I found on how to do this is no longer up to date and leads to dead ends, dead sites or incomplete information.

Does anyone have directions that are easy to follow to get this thing working?

Thank you so much

I just started, so my experience is REALLY limited.
I used this link to setup A11

ATM the thing is a bit unstable and sometimes it hangs on lenovo splash screen during boot. Iā€™m investigating the issueā€¦but I have not much spare time to experimentā€¦

1 Like

this helped so much thank you

A new batch of ThinkSmarts, courtesy of @mattmon has made it to my house to compensate for some losses I had attempting some more involved hardware mods :stuck_out_tongue:
Thanks so much, again @mattmon!

Quick pmOS update:
New testing image for those who want to do a fresh install. Kernel is now 6.9.1 and USB OTG should work again, but other than that not much has changed.

Unfortunately, I wasnā€™t able to make USB OTG be the default mode. postmarketOS gets a bit bent out of shape if USB OTG is enabled by default upon boot and the USB gadget mode (i.e. network via USB) is not configured and enabled. So switching between the two is not possible in this scenario and nothing is really gained.

So, to enable USB OTG right now you need to pull pin B8 on the USB-C controller to GND (I somehow felt thatā€™s probably safer than blasting 5V into B8 (GPIO5)).
You can make your own cable using some solderable USB-C connectors which works great, but more often I end up using this USB-C passthrough breakout board (itā€™s also available cheaper on AliExpress) for easy testing.

Links:
rootfs: https://felix.kaechele.ca/projects/thinksmart/pmos-lenovo-cd-18781y-testing-20240529-rootfs.img.xz
(note, this is just the img file, not a .tar.xz, so a simple unxz will do)

just the kernel package for people with existing installs: https://felix.kaechele.ca/projects/thinksmart/packages/20240529/linux-lenovo-cd-18781y-6.9.1_p20240529205011-r0.apk

6 Likes

Current sale on the ThinkSmart if anyone is looking to stock up.

2 Likes

Can you share instructions on how to install this on a ThinkSmart device?

Doesnā€™t ship to Europe :frowning: .

Iā€™ve just ordered yet another set of two!

Iā€™m in the UK and use a freight forwarder - https://www.forward2me.com/

I have five devices that I shipped in three batches this way. Took overall around 2-2 1/2 weeks per shipment. I paid approx. $40 shipping for a single and $64 for two. No other fees, taxes or duties were charged.

So it does double the cost (for a single) but still cheaper than any Iā€™ve found being sold in the UK and the devices are SO worth it.

Thatā€™s an option but luckily I found mine at 50ā‚¬ sold as used, but in reality brand new. Obviously without any warrantyā€¦

even the new ones donā€™t have any manufacturer warranty. Whether you could get a replacement from the Amazon sellerā€¦ not sure.

So I start with a freshly-restored device from the RSA tool, flash thelk2nd and rootfs images with edl, reboot andā€¦ get stuck at recovery on boot. Am I missing something? It looks like those are the only two seps needed in the first post.

@FelixKa any pointers on getting USB OTG set up? Iā€™m still running on the Android 8.1 linked in this thread but Iā€™ve had no luck with:

  1. some powered USB OTG adapters
  2. editing android.hardware.usb.host.xml
  3. and now trying this ā€œpull pin B8 to groundā€, which I think I hooked up right using the breakout board you linked (though didnā€™t get out my multimeter yet).

Random internet searches said to edit this value ā€œ/sys/class/power_supply/usb/usb_otgā€ but I donā€™t know if that will help. Any advice on getting USB OTG working on the device in general, or postmarketOS is set up so differently than the ROM Iā€™m on?

They are showing as sold out.

Still on Amazon for $40. I donā€™t expect them to return to Woot, as many people are probably buying multiple units and the end of supply may be visible to the seller.

Woot is owned by Amazon

Yes, I ordered two more from Amazon USA (Iā€™m in Europe) for $80. I use a shipping forwarder so the total will probably closer to $120. Ordering more than two makes me liable for import duty and taxes.

Still having issues getting this working. Anyone have any pointers?

Indeed, the only two steps should be

edl w boot lk2nd-lenovo-cd-18781y-latest.img
edl w userdata pmos-lenovo-cd-18781y-testing-20240529-rootfs.img

(adjust for whichever images you use)

Ensure that you uncompress the rootfs image before you flash it. I host it on my server compressed with xz, so on Linux and macOS unxz will do the job of turning the img.xz file into an img file. On Windows, I believe, 7zip may do it. But Iā€™m not sure.

Which recovery mode do you end up in? The one with the black screen where it comes up via USB with USB ID 900e? Or do you actually get dropped into a recovery menu on the screen?

I havenā€™t tried OTG on Android yet.
From a technical perspective it looks like you tried the right things. Given that there is no USB ID line hooked up to the PMIC it cannot sense when there is an OTG device plugged in. The USB OTG power supply will therefor also not come on, so no power is provided on the USB-C jack.
Hence, the USB controller must be manually placed in Host mode from the OS.
The ā€œpull B8 to groundā€ thing is a hack that I enabled in the postmarketOS Kernel to ā€œabuseā€ the extra GPIO lines that are broken out on the USB-C port to signal plugging in of an OTG device.
Iā€™d expect that not to do anything on Android.

I can check if it works for me on Android with the USB rig that works on pmOS. But Iā€™ll probably have more time in July to look at it than I have right now.