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.
What directory are you in? What’s the output if you enter the command ls
?
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
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!
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
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.
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.
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?
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
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…
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?
@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
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?