Lenovo ThinkSmart View ROM/OS Development

Anyone have a working link for ‘pmos-lenovo-cd-18781y-testing-latest-rootfs.img.xz’ ? seems down to me.
EDIT: i see now the latest are in this location: thinksmart

I’ve installed and rebooted the device. I see the time and a ‘Slide to Unlock’ note. No matter how i slide the screen, I’m not able to unlock it.

Are you sure you installed the latest image (20240422)? Because only that image includes the Himax touchscreen driver.

2 Likes

Ok. Using the current version fixed the issue. Thank you.

1 Like

Sorry to bother you again. I’m now getting stuck at two postitions and I do not know, how to move on…

Short background: I’ve been using linux for smaller projects now for years (on raspberry pis, etc. so trouble shooting on debian/ubuntu is something I’m a little more used to). Alpine is new for me.

So I’m trying to setup a voice satellite and localwakeword on the Thinksmart.

I’m following a tutorial from “FutureProofHomes” on youtube (based on wyoming-satellite/docs/tutorial_2mic.md at 962b2f5dc6ed0d8b05671f1ade092407ed6251cd · rhasspy/wyoming-satellite · GitHub) and got the satellite set up and I’m able to record and play my recording using “arecord” and “aplay”. My call for the satellite service looks like this. I would say, that looks good. :slight_smile:

First problem:
Home Assistant is not able to find my satellite - even if I try to add it manually (by adding it as a Wyoming integration providing the IP and port…). Do you have an idea what could be wrong?

Second problem:
I’ve tried - following both manuals - to add local wake word detection to the Thinksmart. But I’m immedaitely getting stuck at installing “libopenblas-dev”. If I try to ignore this, the installation (step: “script/setup”) gets stuck with

ERROR: Could not find a version that satisfies the requirement tflite-runtime-nightly (from versions: none)
ERROR: No matching distribution found for tflite-runtime-nightly

Do you have another link to a tutorial for that?

Have a nice Sunday!

Hey coming back to this, taking a cue from Felix and batching up replies…

The one piece I haven’t tracked down yet on the android side is how the mac address gets set, and something I’ve only been able to restore using the RSA tool. By default NetworkManager creates a random but stable mac for each network, so you may notice it gets a new one after a fresh install. I found the macchanger tool which shows the current one and the “permanent” hardware one.

With Android, many people have ended up with the default 000AF58989FF mac from /vendor/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini. Then multiple devices with the same mac can have some trouble :smile: So the RSA is doing “something” additional, possibly writing to nvram outside the usual partitions? There’s 64M of unpartitioned space at the beginning of the drive so maybe they access that early in the boot process.

Haha nice, I found there’s also a fastboot oem set-serial-num option for this.

I messed the partitions up so bad early on that I couldn’t even get it in EDL mode. Luckily an EDL cable (which has a button that shorts D+ to ground) got me back in business. Still no bricks!

1 Like

Those partitions still don’t look quite right. You’re missing userdata which is where pmos is installed so it’s “working” but still has the CRC errors. Depending on how much you’d started updating before taking the backup, you still might want to try the RSA tool for a full fresh install (then take a new dump of that for good measure).

I do! Try disabling the pmos firewall

Yeah there’s a github issue for this one. I started by changing the requirements.txt for wyoming-openwakeword to try tflite-runtime (removing -nightly). Then I went way down the rabbithole attemping to cross-compile it because there’s not a prebuilt version for python 3.12. Eventually I ended up compiling it on the device directly - here’s that wheel file!

3 Likes

Thanks for the replies, again :blush:. Did a backup first, restored with the rescue tool and used your files with the latest versions of Felix’ files.

Again only the lenovo logo for a short moment in stead of booting.

Flashed both of Felix’ files again, still the same behavior. I’m away again, could test further tomorrow or on Saturday.

Very welcome! And sorry I was hoping to get a clean view of your default partitions to check if there’s any differences with the himax version. Here’s what I’m thinking:

  • Reset with the RSA tool
  • Take a backup (optional but gives you a pure stock copy)
  • Flash pmos with the regular edl w commands, not my qfil version. This will leave the partitions intact
  • Now run gdisk -l to see what we get

Thx!

Got home a little earlier than expected. Let’s see:

  • Reset with the RSA tool 
    

Done!

  • Take a backup (optional but gives you a pure stock copy) 
    

Not done as already done before my initial flash (pure stock).

  • Flash pmos with the regular edl w commands, not my qfil version. This will leave the partitions intact 
    

Done! Updated using apk update and apk upgrade, installed gptfdisk

  • Now run gdisk -l to see what we get 
    

sudo gdisk -l /dev/mmcblk0 → Result:

Old ones for comparison:

That’s quite a difference!

1 Like

i think i hosed my thinksmart trying to put android 11 on it.

it just shows a black screen and will not let me get it back into EDL mode.

when i plug is back in, i just sits at the sahara. see image.

is there anything i can do?

Did you try Lenovo’s rescue tool?

i have no windoze.

mac/linux guy.

2 Likes

Im a little confused, is this thread for a andoid 11 variant for our thinksmart views?

It kinda started out that way. However, most of the recent effort has gone into PMOS (thanks to @FelixKa).

Searching through the other thinksmart thread will probably yield more results regarding A11.

1 Like

thank you,

Im currently running the android 8.1 rom and find it sluggish and freezes regularly. I may give pmos a go. Is there a android11 thread?

You might have some success troubleshooting this over in the other thread. The community has found work arounds for a lot of the problems people come up against in deploying these.

I believe there is a discord for a11 on the thinksmart.

Indeed! The good news is those are at least the same partitions I have as far as sector size etc. Now to figure out what we’re missing… Looking at a link I got from deadman, the config partition is “needed during display panel initialization”. Sounds promising, mine was fine without it but maybe the himax needs something in there. So let’s try this:

Grab an updated partition config, then pretty much the same as before but we’ll relocate config too. You could also skip the next step and use the files from your backup (rename them from .bin to .img):

edl r cache cache.img
edl r persist persist.img
edl r misc misc.img
edl r config config.img

And now for the moment of truth… being sure to include the new patch0.xml:

edl qfil rawprogram0.xml patch0.xml .

If that doesn’t work we can try leaving almost all the partitions except the large ones like system and vendor.

Good luck!

Hi again,
I’m really sorry to tell that this did not change anything. Still only the splash screen (lenovo logo) appearing for a short moment of time. :open_mouth:

But on the plus side - I had everything set up yesterday and tested your advice from here Lenovo ThinkSmart View ROM/OS Development - #311 by mrhand. Thank’s a lot, that was working great!

I’ve made a step-by-step guide (as I was expecting to have to set it up again :wink: ) that I will share here after I have followed it myself to see if everything is working.
But - I would prefer to solve the partitioning topic before following my guide again.

What I did not get working yesterday was HA’s music assistant with voice control. The difference to the guide for the Raspberry Pi was bigger than expected so I stopped half way through.

2 Likes