Is this the perfect standalone tablet for HA?

I’m not great with any of this, but I think I followed your instructions properly. When I try to run the command from the first post in git bash I get an error that python can’t find the ‘main’ module. I’m 99% sure this is user error, so any guidance would be greatly appreciated!!!

I just found out about this project when someone made a post about it on my voice competition entry ( View Assist - Visual feedback for Assist voice assistant on an Android tablet ) . This looks like a match made in heaven! I’ve ordered a device and hope to get things running on it as soon as it arrives. Would love to hear any thoughts or additional features that would make things even better.

4 Likes

What directory are you in? What’s the output if you enter the command ls?

1 Like

I extracted the edl-3.52.1 folder onto my desktop and am opening Git Bash in that directory. Here is the output from the ls command.

`$ ls
Drivers/ MANIFEST.in edl.py* kingston-ha-rom.7z setup.cfg
Example/ README.md fastpwn modem/ setup.py*
LICENSE diag.py* flash/ pyproject.toml
Loaders/ edl/ kingston-ha-rom/ requirements.txt

The latest “release” of edl was from August 2021, but there’s been many updates to it since then. Instead of downloading it like you would a normal file, try cloning the repo using git instead using this command:

git clone [email protected]:bkerler/edl.git
2 Likes

I’m super excited to see work on robust voice functionality.

I think @dinki is really on to something with his View Assist project.

I just cast my vote in the voice assistant contest. If you’d like to see view assist on our thinksmarts, then go check out the project and vote!

3 Likes

That got me further, but I didn’t install the edl requirements. i got that sorted and am able to launch edl. I get to waiting for device, then I power up while holding vol up and vol down and get this.

$ ./edl qfil bin/rawprogram.xml bin/patch0.xml flash/ --loader=bin/prog_emmc_firehose_8953_ddr.mbn
Qualcomm Sahara / Firehose Client V3.62 (c) B.Kerler 2018-2023.
main - Using loader bin/prog_emmc_firehose_8953_ddr.mbn ...
main - Waiting for the device
......
main - Hint:   Press and hold vol up+dwn, connect usb. For some, only use vol up.
main - Xiaomi: Press and hold vol dwn + pwr, in fastboot mode connect usb.
        Run "./fastpwn oem edl".
main - Other:  Run "adb reboot edl".

...............
.......Segmentation fault

1 Like

You followed the other instructions about installing the libusb-win32 drivers for the device and replacing edl’s libusb-1.0.dll file right? I vaguely remember running into segmentation faults before I got it all figured out.

1 Like

Good catch, I did on the zip version I downloaded, but forgot to after I cloned the repo. That got me further, no more segmentation fault. Thank you for all the help so far, I really appreciate it!!!

$ ./edl qfil bin/rawprogram.xml bin/patch0.xml flash/ --loader=bin/prog_emmc_firehose_8953_ddr.mbn
Qualcomm Sahara / Firehose Client V3.62 (c) B.Kerler 2018-2023.
main - Using loader bin/prog_emmc_firehose_8953_ddr.mbn ...
main - Waiting for the device
......
main - Hint:   Press and hold vol up+dwn, connect usb. For some, only use vol up.
main - Xiaomi: Press and hold vol dwn + pwr, in fastboot mode connect usb.
        Run "./fastpwn oem edl".
main - Other:  Run "adb reboot edl".

..............main - Device detected :)
sahara - Protocol version: 2, Version supported: 1
main - Mode detected: sahara
sahara -
Version 0x2
------------------------
HWID:              0x000660e160008000 (MSM_ID:0x000660e1,OEM_ID:0x6000,MODEL_ID:0x8000)
CPU detected:      "APQ8053"
PK_HASH:           0xb9eca30dfea4693497b6ac7eec81d006967281e259eb9ac239f9ce6dabb70c14
Serial:            0xf82f94c1

sahara - Protocol version: 2, Version supported: 1
sahara - Uploading loader bin/prog_emmc_firehose_8953_ddr.mbn ...
sahara
sahara - [LIB]: [Errno 2] No such file or directory: 'bin/prog_emmc_firehose_8953_ddr.mbn'

I got past that. I had the bin folder in the flash directory. Working my way through the rest of it now.

I was never able to get this flashed via windows. I was able to do it with a Ubuntu Live USB following the instructions for linux linked at the top of the thread.

3 Likes

I haven’t been following the thread since it seems to have gone so far afield that it no longer applies to me.

Should I start yet another thread with my question?

I have my ThinkSmart display showing a HomeAssistant panel with three Frigate cards to see my outside cameras. It mostly works but occasionally the display shows my card configuration and the only way to get the camera displays back is to restart the device. Which means cycling the power.

Any ideas would be appreciated.

That’s quite a bit to unpack… can you further isolate the problem?

I’d probably start by checking the browser log and/or adb logcat for possible related entries when the issue occurs.

I used ubuntu/linux and when i flashed the device with the code “edl qfil rawprogram.xml patch0.xml ./ --loader=prog_emmc_firehose_8953_ddr.mbn” it went down until it got stuck on “trying to read first storage sector…” forever. Does anyone have a fix?

1 Like

It sounds like you may have a usb connectivity issue.

Can you give us more details?

The full output of the command would be helpful.

edl qfil rawprogram.xml patch0.xml ./ --loader=prog_emmc_firehose_8953_ddr.mbn
Qualcomm Sahara / Firehose Client V3.62 (c) B.Kerler 2018-2023.
main - Using loader prog_emmc_firehose_8953_ddr.mbn …
main - Waiting for the device

main - Hint: Press and hold vol up+dwn, connect usb. For some, only use vol up.
main - Xiaomi: Press and hold vol dwn + pwr, in fastboot mode connect usb.
Run “./fastpwn oem edl”.
main - Other: Run “adb reboot edl”.

.main - Device detected :slight_smile:
sahara - Protocol version: 2, Version supported: 1
main - Mode detected: sahara
sahara -
Version 0x2

HWID: 0x000660e160008000 (MSM_ID:0x000660e1,OEM_ID:0x6000,MODEL_ID:0x8000)
CPU detected: “APQ8053”
PK_HASH: 0xb9eca30dfea4693497b6ac7eec81d006967281e259eb9ac239f9ce6dabb70c14
Serial: 0xce3ac27e

sahara - Protocol version: 2, Version supported: 1
sahara - Uploading loader prog_emmc_firehose_8953_ddr.mbn …
sahara - 32-Bit mode detected.
sahara - Firehose mode detected, uploading…
main - Trying to connect to firehose loader …
firehose_client
firehose_client - [LIB]: No --memory option set, we assume “eMMC” as default …, if it fails, try using “–memory” with “UFS”,“NAND” or “spinor” instead !
firehose - TargetName=
firehose - MemoryName=eMMC
firehose - Version=
firehose - Trying to read first storage sector…

1 Like

How did you build edl?

From git?

Would this by any chance work with Lenovo Smart Display devices? I have this one and would love to repurpose it: https://www.lenovo.com/us/en/p/smart-devices/smart-home/smart-home-series/smart-display-(10)/zziszsdsdx1

kingston-ha-rom, no, unfortunately

gsi rom, possibly, though nobody is working on it yet AFAIK

pmOS linux rom, possibly, some experiments have been ongoing in booting @FelixKa’s preliminary images, not much progress yet, see the dev thread for details

One more day left in the voice assistant contest! Has everyone cast thier vote?

1 Like

@mattmon was kind enough to show me how to install edl in a Python virtual environment and how to use it. I asked his permission to share it for others who may not be as Linux savvy but still want to use Linux to install Android on the device. Here’s our reformatted conversation:


A python venv is like a mini python that is used only for a specific project
it creates venv specific versions of the python and pip executables and it is decoupled from your system python
so, to install edl using a venv:

first ensure you have the deps:

sudo apt install adb fastboot python3-dev python3-pip liblzma-dev git python3.11-venv

then grab the source:

git clone https://github.com/bkerler/edl.git

move into the new directory:

cd edl

create a python venv:

python3 -m venv .

ok, so from this point forward, you must use the python binaries provided in ./bin
not entirely sure we need them, but grab the loaders:

git submodule update --init --recursive

next, install python deps for edl using venv pip3:

./bin/pip3 install -r requirements.txt

finally, we build edl:

./bin/python3 setup.py build

because we’re using a venv, we have to call python from the venv when we want to use edl:

Example: ./bin/python3 edl …

ie instead of just ./edl

good idea to copy the udev rules, so you dont need sudo to access the usb device:

sudo cp Drivers/51-edl.rules /etc/udev/rules.d
sudo cp Drivers/50-android.rules /etc/udev/rules.d

then reload udev:

sudo udevadm control --reload-rules && sudo udevadm trigger

So once you have the rom 7z archive unpacked in the edl directory, you’ll run the command below to invoke edl and it will wait for you to connect a thinksmart in edl mode

./bin/python3 edl qfil bin/rawprogram.xml bin/patch0.xml flash/ --loader=bin/prog_emmc_firehose_8953_ddr.mbn

power on while holding vol up + vol down to enter edl mode, once connected to host - flashing will commence


3 Likes

Hmm yeah it’s really weird, last time I rebooted it stayed connected for just a day, this time it seems to be working for 4 days. Have you tried the gsi ROMs to see if it gets better for you?

Will it work with Fullykiosk and camera?
Or which kind of timeout is there?