Open eric72777 opened 3 years ago
I'm seeing the same issue.
Same problem here. Also, running the docker run main command just hangs. Has anyone figured this out?
The next step in the script is the initialization of the serial port which might be failing... for me re-plugging fixed it. If you can open up your stick, try the firmware recovery instructions in the readme as a work around. It's actually quite easy to do it that way. The other thing you could try is another linux environment. If you clone the repo and install python 2.7, pyserial and xmodem, you can use the python script outside of a container. I've done this on just a raspberry-pi rather than running the docker image.
Thanks for the pointers. Tried running the Python script outside the container and on a different machine, neither worked. I didn’t try the firmware recovery, and instead replaced my HUSBZB-1 device assuming it was defective. The new device worked right out of the box with no issues. I think I just had a lemon.
Thanks @sreknob your tip on unplugging the stick solved the issue for me.
Having the same issue today with one of my HUSBZB-1 devices. Note that I am commenting out xonxoff=True
as a workaround for the other issues reported in different threads (this has helped me flash another device previously), but in this case the failure occurs either way.
Here's some strace
output indicating what's going on behind the pyserial readline()
call that never finishes (never sees a \n
appear):
write(3, "\32\3008\274~", 5) = 5
read(3, "\32\301\2\v\nR~", 7) = 7
write(3, "\0B!\250\\,\240~", 8) = 8
read(3, "\1B\241\250P(\5\346\177b~", 11) = 11
write(3, "\201`Y~", 4) = 4
write(3, "\32\3008\274~", 5) = 5
read(3, "\32\301\2\v\nR~", 7) = 7
write(3, "\0B!\250S\335O~", 8) = 8
read(3, "\1B\241\250P(\5\346\177b~", 11) = 11
write(3, "\201`Y~", 4) = 4
write(3, "\32\3008\274~", 5) = 5
read(3, "\32\301\2\v\nR~", 7) = 7
write(3, "\0B!\250R\315n~", 8) = 8
read(3, "\1B\241\250P(\5\346\177b~", 11) = 11
write(3, "\201`Y~", 4) = 4
write(3, "\32\3008\274~", 5) = 5
read(3, "\32\301\2\v\nR~", 7) = 7
write(3, "\0B!\250Q\375\r~", 8) = 8
read(3, "\1B\241\250P(\5\346\177b~", 11) = 11
write(3, "\201`Y~", 4) = 4
write(3, "\32\3008\274~", 5) = 5
read(3, "\32\301\2\v\nR~", 7) = 7
write(3, "\0B!\250P\355,~", 8) = 8
read(3, "\1B\241\250P(\5\346\177b~", 11) = 11
write(3, "\201`Y~", 4) = 4
write(3, "}1C!'Un\220~", 9) = 9
read(3, "\22C\241'T\2539~", 8) = 8
write(3, "\n", 1) = 1
read(3, "\230", 1) = 1
read(3, "`", 1) = 1
read(3, "\0", 1) = 1
read(3, "\30", 1) = 1
read(3, "\30", 1) = 1
read(3, "\236", 1) = 1
read(3, "x", 1) = 1
read(3, "\376", 1) = 1
read(3, "\206", 1) = 1
read(3, "\376", 1) = 1
read(3, "\6", 1) = 1
read(3, "\340", 1) = 1
read(3, "\6", 1) = 1
read(3, "\340", 1) = 1
(At this point the script hangs indefinitely and there's no more reads/writes. Pyserial waits indefinitely for a newline character but only receives the unexpected data shown in the strace
above.)
I was unable to upgrade a HUSBZB-1 (5.4.1-192) using the docker image. Restarting the computer and unplugging and re-plugging the stick didn't fix the issue.