Lenovo ThinkSmart View ROM/OS Development

Oh yeah, that one.

I’ll have to wait until I have some actual free time to tackle that one. Never soldered BGA before :wink:

1 Like

Situating the stencil onto a pcb full of components might be a little tricky.

Other than that, should be :cake:.

I had some minutes to spare before work so I gave it a go. Seems that I’ve been missing something for me - it did not work. :frowning:

I had already done a dump before I did the first flash so I have already been on the safe side before trying this.

So with the latest images installed on the device I did the following.

Downloaded your archive. Unzipped it in the downloads folder, moved the files into the the edl root folder where the other images lay.

Had a look into “rawprogram0.xml” to see how the images need to be named in detail (which is “lk2nd-lenovo-cd-18781y-latest.img” and “pmos-lenovo-cd-18781y-testing-latest-rootfs.img” if anyone is wondering) - so I renamed the images to that.

Followed your instructions closely (it’s well described so that was not hard if you have done a flash of the other images before :slight_smile:).

As announced splash.img and recovery.img were throwing errors, the following went fine:

  • pmos-lenovo-cd-18781y-testing-latest-rootfs.img
  • cache.img
  • persist.img
  • misc.img
  • pmos-lenovo-cd-18781y-testing-latest-rootfs.img
  • gpt_main0.bin
  • gpt_backup0.bin

The last three lines were:
firehose_client - [qfil] patching ok
firehose - Setbootablestoragedrive succeeded.
firehose_client - [qfil] partition(0) is now bootable

Removed power, removed the USB-C-Cable, plugged power back in, no luck. Tried flashing (only the last command) a second time. Waited for 10min after the first boot, no change.

Now, when I replug the power I can only see the the lenovo logo for a split second and nothing else is displayed.

No worries, I’m sure there’s a solution but I have to go to work and check again in the evening.

Thanks for sharing the instructions, though! :slight_smile:

Thanks for that - I’m away for a few days but will try this at the weekend :slight_smile:

Hmm… I assume the first file you listed was a typo? (should be the lk2nd file). If you’re using linux or can see how the USB device registers, check if the PID on boot is the dreaded 900E “diagnostics” mode. Otherwise if it manages to boot with no display you may be able to ssh in for a closer look.

It’s seems like it mostly flashed ok, another thing to try is reflashing just the boot partition with the original edl w boot <filename> command. Maybe something else is different with the himax version?

I just tried that but get an error “Error: no DISPLAY environment variable specified”.

Any ideas?

that works - the browser is still slow though and not very usable unfortunately.

Can anyone confirm on their device that you see a tiny keyboard in portrait mode? as per my previous image I posted. Would be good to try and get a proper size keyboard. It seems to change slightly depending on the screen scaling but is always small.

I wonder if it’s linked to the way the screen is setup (and the incorrect portrait/landscape modes) - is there anything you did to define the screen or is this discovered automatically?

I wonder if it’s linked to the way the screen is setup (and the incorrect portrait/landscape modes) - is there anything you did to define the screen or is this discovered automatically?

On my Himax variants, the keyboard never does quite get to full-size. However, I don’t believe this is related because the landscape view is upside-down on my non-Himax, as well, and the keyboard fills the entire width of the screen.

1 Like

I installed Chromium from apk and it works but I get no virtual keyboard again, so can’t use it.

It does make it very tricky to use - unless you have TINY fingers :wink:

Haha I’ve been using a bluetooth keyboard so didn’t notice :upside_down_face:

An idea! But eventually for 5 devices - not so easy

I haven’t had much time to play with the thinksmarts lately…

Curious about the performance as compared to Firefox.

I’ll connect a Bluetooth keyboard and have a go.

You’re right, that was a typo. :see_no_evil:

I tried reflashing several times with the files provided by you and with the original method (either only boot or both). Both not leading to the device booting again. I’m not able to ssh in and for checking the PID on boot I have to do a little research on how to do that (might have already done the right thing, see below). Last days in the evenings I have just been too tired for researching but this afternoon/evening or tomorrow I’ll be able to investigate further.

What I’ve tried is lsusb to find the device listed as follows:
Bus 001 Device 012: ID 05c6:900e Qualcomm, Inc. QUSB__BULK → I fear this might be the diagnostics mode you mentioned? “900e” is inside the ID.

I’m happy to test things so it’s not just me but others, too, that might have this issue and a fix here. Did someone else with the Himax version test this and has similar issues?

There was a feedback two days ago from mrhand, saying that the performance with chromium was better than with firefox and comparable to fully kiosk on Android. He additionally described which settings to adjust to get to this. :slight_smile:

Just as a short feedback (even if it might not be very useful). I have the same behavior - the keyboard being rather small. One of the first times that me having small hands for a guy is an advantage - I guess. :wink:

There are third party keyboards for android that can be resized easily - but if the same applies for linux (systems that look like android especially) is something I don’t know. I’ve been using SwiftKey for years on Android and still am (even though it was bought by Microsoft…).

1 Like

Uh oh, yeah looks like you’re getting dropped into the 900e mode. Basically means “can’t boot, can’t do anything”. Did you happen to take a full dump backup before? If not no worries, Lenovo’s rescue assistant can get you back to a full stock setup.

Once you’re back up and running on regular pmos (without my partitioning), would you mind running sudo apk add gptfdisk then send me the output from:

sudo gdisk -l /dev/mmcblk0

Curious if the himax is partitioned differently. If not, possible that it relies on some vendor specific files from one of those partitions.

Best wishes for a speedy recovery :sweat_smile:

I had saved a full backup. I’ll try restoring when I arrive back home. First have to figure out how and then I’ll give feedback.

Thank you very much for your advice!