Lenovo ThinkSmart View ROM/OS Development

Thanks for the feedback @FelixKa . Do you have any recommendations on running HA on these devices? Would Chromium run better?

I’m not quite at the point yet where I started looking into that. I was hoping other people would maybe jump on it when the devices are far along enogh on pmOS to be usable.

My first instinct would be looking into the most minimal (maybe even scriptable) browser I can find. Given the state of web rendering engines market it’s almost guaranteed to be Blink based.

@FelixKa Did UPS ever deliver the other device with the scaling and touchscreen issues? Waiting for updates so I can hopefully have a working touchscreen and see what I can get the device to do.

Nope. They returned it to @mattmon without ever contacting me.
But he was kind enough to give it another try using USPS this time. It should be on its way as we speak.

1 Like

Hey guys, been following this magnificent topic for a while. Wow, this has potential! I flashed the pmos image from Felix. After that I tried to install the Wyoming Satellite following the tutorial. Cloned the git and tried to install:

For now no succes.

1 Like

You’ll need to install onnxruntime from the OS repos (apk add py3-onnxruntime), as PyPI doesn’t have any wheels built for arm64 with musl instead of glibc. Make sure that when you create the Python venv you allow it access to the system libraries, e.g. python -m venv --system-site-packages venv.

One thing that’s also on my todo list (not a super urgent priority though) is re-partitioning the eMMC to free up more space for the OS partition. I found you run out of space quickly when trying to set up a full development environment on the device.

If anyone wants to take a stab at it, feel free. Make sure to have a full dump (edl rl --genxml dump) of your device before attempting this. The dumps posted in the other thread are just of the non-device-specific parts.

I think @mrhand was working on it with regards to the Android ROM.

As far as I can tell, pmOS technically only requires the vendor and persist partitions from the original layout. boot and userdata would be required by the lk2nd bootloader. Not sure if the primary bootloader gets sad if you wipe out and/or relocate partitions willy-nilly.

1 Like

I managed to get UART working. It is available on the USB-C’s SBU1 and SBU2 pins.
Here’s what it has to say, when it tries to boot after doing fastboot oem unlock:

[1100] Device is unlocked! Skipping verification...
[1100] Your device has been unlocked and can't be trusted.
Wait for 5 seconds before proceeding
[6110] send_rot_command: TZ didn't support this feature! Version: major = 4, minor = 0, patch = 0
[6120] panic (frame 0x8f6c1970): 
[6120] r0  0x00000632 r1  0x8f665104 r2  0x8f6a6738 r3  0x8f67b774
[6120] r4  0x8f6a6738 r5  0x18200000 r6  0x00000000 r7  0x00035000
[6120] r8  0x00000000 r9  0x8f699448 r10 0x8f631644 r11 0x00035000
[6120] r12 0x00000000 usp 0x8f65dc94 ulr 0x8f66627c pc  0x00000000
[6120] spsr 0x8f62d048
[6120]  fiq r13 0x8f68c800 r14 0x00000000
[6120]  irq r13 0x8f692244 r14 0x8f611614
[6120]  svc r13 0x8f6c18e8 r14 0x8f627bd4
[6120]  und r13 0x8f68c800 r14 0x00000000
[6120]  sys r13 0x00000000 r14 0x00000000
[6130] panic (caller 0x8f631644): ASSERT FAILED at (app/aboot/aboot.c:1586): 0
[6130] HALT: reboot into dload mode...
6 Likes

I picked up 3 of these recently, and 2 of them have the touchscreen/scaling issues, but one of them is running PMOS beautifully so far. I have been unable to build a version with gnome-mobile as the desktop (it complains about the package caribou not existing in the APKINDEX) but so far SXMO and Phosh have been working very well. Plasma Mobile works as well as it does on any device, I guess.

This an exciting project and I’m glad to test for whatever you’d need. I’ll be working on Whisper and MPD server functionality next.

2 Likes

Following the thread- grabbed one of these but having a difficult time working in the Mac environment. I have Xcode and python installed via homebrew but can’t seem to get all the dependices to load. Following Hacker Codex

Anyone flashed using their mac? Thanks in advance!

I went with an ubuntu VM to solve my issues, works like a charm.

Hello everyone,

I’ve ordered one of those Thinksmart Views, too, even though they are a little pricey in Germany (was by far the cheapest one for arount 90€).

@FelixKa: I’m really thankful for your effort - bringing Linux to the View in my opinion really makes this gadget a great solution for home assistant. And it’s great to see a bunch of people supporting and taking interest.

@ThisITGuy, I have a very similar plan to you, to use the View as a wyoming satellite and as the dashboard for home assistant. Have you already started setting it up?

A more general question: Is the installation part by mattmon of the thread linked in the first post of “Is this the perfect standalone tablet for HA?” still the up-to-date flashing guide?

In the posts a video was mentioned but I was not able to find it - is there a showcase video and/or a video guide for flashing?

Best regards
Chillman

1 Like

So I was playing around with the USB OTG feature a bit more.
Turns out, when connecting a USB-A to USB-C cable to use the gadget feature for USB networking I was blasting 5V into the pins that are connected to the UART TX. Even though the logic levels on the UART are 1.8V nothing died, which I found surprising.
This enables an interesting option for enabling host mode when a powered USB hub is plugged in:

	usb_id: usb-id {
		compatible = "linux,extcon-usb-gpio";
		id-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
	};

By blasting voltage into the UART TX GPIO we can check whether this GPIO is high and enable host mode automatically then. This does break device mode (as it would also pull the GPIO high on most USB-A to USB-C cables) but removes the requirement to manually switch the device into host mode from sysfs.
Obviously, UART cannot be used in this configuration.

2 Likes

I read your excitement but have no idea what you’re saying :wink:

I’m interpreting that this state as alsamixer shows below would become permanent and not reset after 15s?

(powered USB hub with a USB A > C adapter)

I’ve now bought five of the views in the UK - I ended up buying from Amazon US for $40 and shipping via a freight forwarder.

1 unit - £30 shipping
2 units together - £50 shipping.

delivery was just under 2 weeks with the forwarding.

Still makes sense to buy from Amazon US.

UPS and Fedex - neither have invoiced me for any duty or VAT so far.

Yes, that should help with that.

1 Like

I’m currently running four of these on @mattmon’s 8.1 ROM and they generally work fairly well. I’d like to experiment and try PMOS though. One question - I’m using Fully Kiosk Browser which has really nice HA integration to control the kiosk mode on the devices. What’s available Linux wise to do similar (if anything)? How do (or would) you set these up to run HA dashboard in a kiosk environment?

let me know if you need someone to test!

Given you have five of these, perhaps try the Android 11 ROM on one (as well as PMOS on another)?
I have two (also in UK, bought from eBay at £80 and £70) one on 8.1 and one on 11.
I am happier with the 11 and have it running nicely using Wallpanel to run my HA dashboard and wake the screen on motion.

I have installed A11 but got stuck on updating WebView - it apparently installs but doesn’t show the new version. I’ll probably try again but it’s a really long install.

8.1 has been giving a few problems with odd issues in the dashboard - delays responding after some time and elements not updating. Could be some setting in system settings or fully kiosk. Haven’t managed to work it out yet.

I’ve got the model where the scaling is off and the touchscreen doesn’t work. If @FelixKa or someone else figures that out I’ll be able to spend some time configuring it as a voice satellite, dashboard, and squeezebox client. I’m decent at linux but figuring out those hardware issues is way beyond my skillset in that area.