Last night I used WallPanel’s mjpeg streaming feature to bring the camera to Frigate. Unfortunately, the stream coming from WallPanel appears to be fixed at 640x480 (I think the camera is capable of 1080p?). I’ll give a few other apps a shot when I have a chance. I think I ultimately want to use either WallPanel or Fully Kiosk for their other dashboard-related features, so anything I might use has to play nice with one or both of those. Camera streaming would just be a “nice to have” ancillary thing.
/edit:
WallPanel has a face detection sensor that can publish over mqtt, so someone could do some interesting things with that without getting too far into privacy concerns. It’s just a binary sensor showing true for “face detected” and false otherwise.
As mentioned earlier, my ThinkView doesn’t reliably go back to sleep / turns off the screen. Some time it does, but quite frequently I find the sceen to be on all the time, even though the settings for keeping the screen awake are set to a timeout of 5 minutes.
I’d really like to use the feature of fully kiosk / wallpanel, to wake the screen when motion is detected, but as of now, it won’t go back to sleep properly.
Does anybody have an idea, what settings I could check, or how to debug this issue?
I’ve tried an app that keeps track of wakelocks, but apparently those apps are more concerned with battery consumption, which for obvious reasons is not an issue here.
Also curious if I’m the only one experiencing those issues, if so, I might try one of the other devices and see if it’s a general issue, or just for that specific device.
Following up with my findings with wake words and voice assistant functions:
After flashing the ROM I installed “Hotword Plugin” and “Automate” along with the Home Assistant Companion App.
As I suspected, the wake word works but unless you close out of the Assist dialog popup manually afterwards android 8 won’t give the audio stream back to Hotword Plugin.
I added a 10 second delay in the Automate routine to automatically close out of the Assist dialog popup, which does work to give the audio back to Hotword Plugin, but will cut you off if your command takes longer than 10 seconds to respond to, and also means you have to wait 10 seconds to issue sequential commands. Both of which are irritating limitations.
I also found that the HA companion app seems to monopolize the audio stream if it’s in the foreground, meaning you can’t even use the device as a dashboard and a voice assistant at the same time.
Last problem I ran into was the 8GB storage cap, which I bumped into surprisingly fast. Just those three apps installed and I’m already at capacity, not even sure what’s using the space since they all claim to be under 100MB.
tl;dr - it barely works, the poor audio handling in android 8 makes it nearly unusable
Please let us know if you find a solution. I am using mine to run Frigate to monitor my driveway camera, and the thinkpad won’t go to sleep unless I exit Home Assistant.
Could you maybe advise me on how to provide root privileges to apps?
I can, as you indicated, open a adb root shell and navigate the device, but /system is read-only (as expected).
However re-mounting /system in order to edit, e.g. files/folters in the priv-app folder doesn’t work, or at least I didn’t manage to get it working.
I tried adb remount command (after adb root), tried remounting directly in a root shell (indicated by the #), I tried re-mounting the /system partition as rw, also tried re-mounting the block storage path as rw for /system - no success so far.
I was hoping to maybe find an app, that helps me debug some issues, e.g. the screen not turning off after timeout.
I think this behavior might be changeable through editing default.prop or vendor.prop. It would make sense for a video conferencing device to keep the screen on. Maybe we can lift the properties from a smart clock 2.
Move the original su binary out of the way then Install a root app (kernelSU, SuperSU, Magisk, etc).
Android apps can’t transition to UID 0, like a normal Unix binary would. So they need a service which can “hand off” privileged tasks.
SU apps provide this.
You only need the SU functionality, don’t need to flash a boot.img or anything like that.
Adb remount works for me when dev options is enabled.
When remounting from the shell, try appending a ‘/‘. Ie. ‘/system/“ or just “/“.
You can also loop mount system.bin from your host, modify the contents and use edl to flash it back onto your device. (Also a good way to edit *.prop files in other partitions)
Great progress, this is awesome. Wish I could just snap my fingers and make the audio issues go away, lol.
Maybe it is worth looking into building modern AOSP for this device!
Regarding the screen timeout issues, I tried checking the logcat output, but so far I couldn’t recognize anything, except for the PowerManagerService: Going to sleep due to screen timeout (uid 1000)... entry not being present, when the screen doesn’t go to sleep properly.
Will try to find out what I’m looking for, and try to force those issues a couple of times more.
Interestingly, shortly after trying to mount the /system partition (which didn’t work again, the shell got stuck), the screen timed out again properly, so this somehow seems to unstuck the screen timeout
And set up and reconfigured. Mine was staying awake, but somthing here made me think about open apps. I rebooted so everything was closed, it booted back up, WallPanel auto started, and my screen is going off after a timeout, and turning back on when motion is detcted.
YMMV…
Edit, I lied, it went to sleep once, and then it woke up and has not slept since…
I did actually take another peek at it. Similar Lenovo Devices (same SoC) are the Lenovo TAB4 10 Plus and the Lenovo TAB4 8 Plus.
There’s also some info regarding mainline Kernel support here: Qualcomm Snapdragon 450/625/626/632 (MSM8953) - postmarketOS
So possible Linux could be another alternative if someone is willing to spend the time
The dts file from the device can be easily pulled and converted. It sits at /sys/firmware/fdt, as you’d expect.
Full Disclosure: I’m not an android aficionado by any means. I have built android from source, but not since the days of the Nexus S (lol, does that date me?)
Interesting link. It does appear that our SoC has at least partial mainline support.
Reviewing the hardware notes in your link, it seems everything is working with one exception:
Camera is able to perform RAW capture only
I’m not sure what this really means in terms of functional limitation, but would suspect our current rom is similarly limited. It could explain the hit or miss camera support for video conferencing apps that’s been reported in this thread.
Anyway, nice find, with mainline support, the time investment shouldn’t be too terrible.
An updated, 64bit rom would probably also constitute a fairly significant performance boost.