VOXL2 SDK Flash Not Working
-
Hi, I'm trying to downgrade my VOXL2 to SDK 0.8.0 and system image 1.3.1. I've done this before multiple times about 10 months ago without any issue by following the docs, but now when I try it doesn't seem to work properly. I will factory reset the VOXL2 to start from a known state which proceeds without issue. Then I turn the SW2 switch off, unplug power then USB, then plug in power then USB. I adb into it after a minute or two to check that everything worked (which it always does). Then, on my host machine I go into the extracted "voxl2_platform_1.3.1-0.8" folder and run "./install.sh". The VOXL2 reboots into fastboot and prompts me to continue or abort the installation. When I press 2 ("No"), it returns as expected, but when I press 1 ("Yes"), it appears to run. However, I've let this run for an hour and it never returns, and when I kill the program and reboot the VOXL, I can adb in just fine but the system image and SDK are not loaded. I've tried this with 0.8.0 and 0.9.5 (and their respective system images) and got the same result. I've also tried this with 2 VOXL2's, 2 USB-A to USB-C, 1 USB-C to USB-C, multiple ports on my laptop, and 2 power supplies.
One odd exception to this is when I tried this with SDK 1.0.0 where the same behavior of install.sh is observed, but when I adb into the VOXL2 after killing the install script, it gives me the modal ai greeting and looks like at least some changes got through.
I need to go all the way back to 0.8.0 because I'm trying to run code that was built 4 years ago and rely on the MPA of that SDK/system image.
FAQs:
What hardware are you using? VOXL2 M0054 (M23000002QC), laptop is running Linux 22.04 LTS
What version of software are you using? Factory reset with "r14.1a_1.1.2-M0054-14.1a-FLAT-V3" and attempt flash with "voxl2_platform_1.3.1-0.8"
How have you configured the software? Factory reset then attempt to flash with "./install.sh"
Can you share pictures of your setup? Currently powered off of OEM power supply using short USB-A to USB-C cord (have tried multiple cords and power supply) -
@ctitus What software are you trying to use on SDK 0.8? I would really advise against rolling back that far as that release is more than 2 years old
-
@tom I'm not closely related to the people developing that code, I'm just trying to run it. I believe that there was a change to the modal pipe architecture that the code I need to run relies on. What confuses me is that I had no issues rolling back that far on my other VOXL2's, it just the two we bought more recently seem not to work with the install.sh script.
-
@ctitus I would try forcing the voxl2 into fastboot before flashing and seeing if that resolves the issue.
https://docs.modalai.com/voxl2-voxl2-mini-system-image/#force-voxl-2-into-fastboot
-
@tom Thanks for the suggestion, but it doesn't seem to work.
-
@ctitus What do you see with
lsusb
? Wondering if the board is being detected at all -
@tom It shows up correctly for everything. I'm wondering if there's something about by laptop specifically that's causing it not to work? Are there error messages or logs anywhere I can look at?
Fastboot: Bus 004 Device 037: ID 18d1:d00d Google Inc. Xiaomi Mi/Redmi 2 (fastboot)
ADB: Bus 004 Device 038: ID 05c6:901d Qualcomm, Inc. KONA-QRD _SN:9E0034D1 -
@ctitus I've been trying more sdk's and it seems like none of them will flash properly, but there's no error or anything thrown, just nothing happens.
-
@ctitus Do those two devices show up in
lsusb
simultaneously?Does anything show up with
adb devices
orfastboot devices
? -
@tom No, it's only ever 1 at a time. I was able to get my hands on a new fresh linux machine, and after installing the packages I needed (and using the same files I copy and pasted from my original laptop), I was successfully able to factory reset and roll back the sdk and system image without issue. I'm gonna do a bit of digging but I have a feeling I was just missing some packages and it wasn't alerting me of it on my original laptop.
-
@ctitus Interesting, I would also check to make sure your user on that machine has the required permissions, here's an example of the groups that my user is part of for ref:
-
@tom So I did some digging and found where it hangs. Line 391 of voxl2_1.3.1-0.8/system-image/flash-system-image.sh:
local output="$( fastboot getvar "partition-size:${partition}" 2>&1 )"
specifically executingfastboot getvar "partition-size:modalai_conf"
. For some reason, my original laptop shows "< waiting for any device >" while the laptop that worked returned "partition-size:modalai_conf: 0x4000000". I double checked that the voxl shows up as fastboot with lsusb on both laptops -
@ctitus Messing aroudn a bit more,
sudo fastboot getvar "partition-size:modalai_conf"
works -
And running sudo ./install.sh worked and successfully installed the SDK and system image
-
@ctitus Thanks for this info, it is very helpful. What OS are you running on the PC that it isn't working?
-
@tom Both are linux ubuntu 22.04 LTS. My current laptop I've been using for a while and likely have some weird issue in my user setup or configuration, the new laptop was dual booted as linux for the first time 2 hours ago and the first thing it did was factory reset the voxl and run install.sh (and install the missing dependencies that install.sh alerted me to) which worked just fine without needing sudo. I'm not sure what I could've done to my laptop to have this issue, but any advice would be greatly appreciated
-
@ctitus I would check the groups that your user is part of that I posted above. Maybe also compare the versions of adb and fastboot between the two machines.
-
@tom it looks like the groups are the same between machines (and yours except I'm not in docker), and the versions of adb, fastboot, and all android packages are the same. I was looking online and some people say it may be related to or solved by udev (https://askubuntu.com/questions/705537/no-permissions-fastboot-fastboot-and-adb-not-working) but I'm not sure I have more more time to troubleshoot this, and I didn't touch anything with udev on the working machine. Hopefully I'll be able to circle back to this eventually, but thank's for your help with everything!