Unable to Flash Duet 6HC Firmware
-
I have tried to flash firmware to my 6HC board both through the USB method and with the Raspberry:
The USB is pretty temperamental, had to use my laptop as the desktop just refused to recognize the port. I still have to reboot every time in order to connect to Bossa, but it usually will connect and properly recognize the device and port. All steps are exactly as outlined in https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3.
After selecting the firmware - I have tried two different ones, the stable Release 3 and the latest Beta, and checking the appropriate boxes, the Bossa program just sits at the Writing Page 0 progress bar and never moves beyond 0%. I have left it alone for hours and it never shows any progress. The main window indicates that it is still connected. I have tried running Bossa both as a user and as Admin, but the result is always the same.With the Pi, I have successfully set up and updated/ upgraded the Raspberry. That is about as far as I can get, as every time I try to open the Web Control, it fails with the error that it is unable to connect due to the DCS being unavailable.
I would really appreciate any ideas or suggestions
-
When you try to update via Bossa:
- Are you using VIN power, or just USB?
- Try disconnecting the ribbon cable to the Pi if you haven't already done so
- Disconnect any device that you have connected to IO_1
-
Power is strictly from USB
The ribbon cable has been disconnected every time I try Bossa
IO_1 is unpopulated -
You can also use the Pi itself as the host for bossa (really bossac, the command line version) in order to flash the Duet.
- Connect a regular USB cable from the Pi to the Duet.
- It is OK to power Duet from VIN and Pi from ribbon ... OR disconnect ribbon and power the Pi the regular Pi way (micro USB power connector) and let the Pi power the Duet via USB (no VIN on the Duet). Do not do both.
- SSH to the Pi and install bossa.
- Do NOT install the apt-get version, it is old and does not work for what we need
- Instead, git clone https://github.com/shumatech/BOSSA
- cd BOSSA
- make
- Then use bossac to flash the Duet. I will get you the exact command this evening when I can pull it out of my printers command history. If you wish to experiment a little, it will be very close to:
.~/BOSSA/bin/bossac -e -w -v -b image.bin -p /dev/??? -b /opt/dsf/sd/sys/Duet3Firmware_MB6HC.bin
Where the ??? are the USB port of the Duet3.
Edit, just remembered, bossac will auto-scan for the port. This command should work:
.~/BOSSA/bin/bossac -e -w -v -b image.bin -b /opt/dsf/sd/sys/Duet3Firmware_MB6HC.bin
-
Here is an interesting update
I have been working on the laptop and forgot to turn of Bossa
At this point, about 2 1/2 hours in, the progress bar just started moving (1% complete, writing page 11)
Time to go visit my sites, I'll update when I return. -
@tdm418 said in Unable to Flash Duet 6HC Firmware:
Here is an interesting update
I have been working on the laptop and forgot to turn of Bossa
At this point, about 2 1/2 hours in, the progress bar just started moving (1% complete, writing page 11)
Time to go visit my sites, I'll update when I return.It sound like Bossa has chosen a very low baud rate. You may get better results if you provide VIN power to the Duet. Laptops in particular can't usually provide much USB power.
-
@dc42, thank you for your time. I'm sure that you're right. Unfortunately, I'm traveling and don't have a power supply. If I can't get it going utilizing @Danal 's method it will have to wait a few days until I'm home.
@Danal, thank you too. I am mostly complete with your methods; however, I'm getting errors with make that I can't figure out. Many years since I've used Linux regularly.
make: wx-config: Command not found
make: wx-config: Command not found
CPP BOSSA src/BossaForm.cpp
In file included from src/BossaForm.cpp:8:
src/BossaForm.h:11:10: fatal error: wx/artprov.h: No such file or directory
#include <wx/artprov.h>
^~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:260: obj/BossaForm.o] Error 1I did an apt-file search on the artprov.h file and it came up as part of wx3.0-headers. Installed that, still the same error
Googled a bit, found that the package to install is libwxgtk3.0-dev. So far, so good.Another error, missing readline.h. Installed that via guile-2.2-dev
Appeared to complete the make without error!!!At this point, It's pretty late. I removed an entire crew from my project today so it's been pretty miserable. I'll pick this up tomorrow whenever I get a break and report back in.
-
@tdm418 said in Unable to Flash Duet 6HC Firmware:
Another error, missing readline.h. Installed that via guile-2.2-dev
I'm sure you satisfied the dependency via more dependencies (of guile-2.2-dev), but just for the sake of correctness the dependency you actually needed was
libreadline-dev
so for those who find the thread later
sudo apt update && sudo apt install -y libwxgtk3.0-dev libreadline-dev
will satisfy the build dependencies (for some reason I had issues with apt wanting to use ipv6, so i had to force it to use ipv4)edit: howwever, neither dependency is needed if we skip the graphical interface and only build bossac
apt update && sudo apt install -y git git clone https://github.com/shumatech/BOSSA ~/BOSSA cd ~/BOSSA make bossac
-
Interesting. I do not remember needing to install anything beyond the git clone... and I started with the Duet provided image.
HOWEVER, when I run make right now, it fails for the same thing. I believe I've done an apt-get autoclean since then, and because bossa is not an apt-get package, some of its dependencies were removed. Very interesting.
Thanks for the research @bearer.
-
Repost of instructions above, with various corrections:
In a Duet3 +Pi configuration, if you need to re-flash the 6HC main board via BOSSA, you can use the Pi itself as the host for bossa (really bossac, the command line version) in order to flash the Duet.
(You may wish to pull the latest release before flashing, if so do it via regular sudo apt-get update && sudo apt-get install duetsoftwareframework)
- Connect a regular USB cable from the Pi to the Duet.
- It is OK to power Duet from VIN and Pi from ribbon ... OR disconnect ribbon and power the Pi the regular Pi way (micro USB power connector) and let the Pi power the Duet via USB (no VIN on the Duet). Do not do both.
- SSH to the Pi and install bossa.
- Do NOT install the apt-get version, it is old and does not work for what we need
- Install Pre-reqs sudo apt update && sudo apt install -y libwxgtk3.0-dev libreadline-dev
- Install bossa
- git clone https://github.com/shumatech/BOSSA
- cd BOSSA
- make
- Then use bossac to flash the Duet. (having already erased it, etc.)
~/BOSSA/bin/bossac -e -w -v -b /opt/dsf/sd/sys/Duet3Firmware_MB6HC.bin -R
-
Now I'm getting a failure of "No device found on /dev/ttyACM0"
I have probed tty devices and there is no ACM* listed
Tried forcing the ACM0 port on the bossac command line but no go on that eitherI have plugged the Duet board into all of the USB ports and still no ACM* appears
I am getting the following output from dmesg consistently[38775.703615] uart-pl011 fe201000.serial: no DMA platform data
[41960.637148] usb 1-1.3: new high-speed USB device number 39 using xhci_hcd
[41960.737392] usb 1-1.3: device descriptor read/64, error -71
[41960.957390] usb 1-1.3: device descriptor read/64, error -71
[41961.177147] usb 1-1.3: new high-speed USB device number 40 using xhci_hcd
[41961.277386] usb 1-1.3: device descriptor read/64, error -71
[41961.497394] usb 1-1.3: device descriptor read/64, error -71
[41961.617475] usb 1-1-port3: attempt power cycle
[41962.277164] usb 1-1.3: new high-speed USB device number 41 using xhci_hcd
[41962.277464] usb 1-1.3: Device not responding to setup address.
[41962.497423] usb 1-1.3: Device not responding to setup address.
[41962.717171] usb 1-1.3: device not accepting address 41, error -71
[41962.817172] usb 1-1.3: new high-speed USB device number 42 using xhci_hcd
[41962.817545] usb 1-1.3: Device not responding to setup address.
[41963.037536] usb 1-1.3: Device not responding to setup address.
[41963.257174] usb 1-1.3: device not accepting address 42, error -71
[41963.257521] usb 1-1-port3: unable to enumerate USB device -
show output from
lsusb
anddmesg
? (i.e. all of dmesg, after booting, with duet3 attached, use pastebin or google markdown formating and use ```) -
Be sure you've successfully erased the 6HC board.
- Power off the 6HC, place a jumper across the ERASE pins and power up to erase the firmware. The Bossa port should appear on the Pi (if it doesn't, try pressing the Reset button).
- The erase jumper is located in the center of the board near the large CPU chip.
- Remove the ERASE jumper, and run the bossac command.
- Power off the 6HC, place a jumper across the ERASE pins and power up to erase the firmware. The Bossa port should appear on the Pi (if it doesn't, try pressing the Reset button).
-
@Danal said in Unable to Flash Duet 6HC Firmware:
Be sure you've successfully erased the 6HC board.
- Power off the 6HC, place a jumper across the ERASE pins and power up to erase the firmware. The Bossa port should appear on the Pi (if it doesn't, try pressing the Reset button).
- The erase jumper is located in the center of the board near the large CPU chip.
- Remove the ERASE jumper, and run the bossac command.
Sometimes you also need to either press the Reset button, or power the Duet down and up again.
- Power off the 6HC, place a jumper across the ERASE pins and power up to erase the firmware. The Bossa port should appear on the Pi (if it doesn't, try pressing the Reset button).
-
@bearer - Here you go http://dpaste.com/308PSPP
@Danal - I have erased/reset/power cycled multiple times. If you look at the above pastebin, you will seepi@duet3:~ $ ls -l
total 4
-rw-r--r-- 1 pi pi 0 Jan 31 20:50 0xf800
drwxr-xr-x 9 pi pi 4096 Jan 31 06:21 BOSSASo it does recognize the Bossa port, still getting the "No device found on /dev/ttyACM0"
@dc42 - As above, I have performed multiple erase/reset/power cycles
-
Have you tried using Bossa on your laptop with VIN power to the Duet, as I suggested in my earlier response?
-
@tdm418 said in Unable to Flash Duet 6HC Firmware:
@bearer - Here you go http://dpaste.com/308PSPP
goodie, nothing to suggest it should be a problem with the Pi.
did the usb serial console work at all before you tried upgrading?
( right, lets wait for Vin to be applied, I think we all assumed that was done.)
-
@dc42, I am currently traveling to my jobsites so I haven't had access to a power supply. I did borrow a transformer from a site today though, so I'll wire it up and try that method.
@bearer, I'm glad the pi came up clean. I upgraded the pi before anything else, so I can't answer the question.
-
@dc42 , I wired up the transformer and connected it, tried to flash the firmware again. It's a 12v 2A wall wart. The Bossa port as identified by the Device Manager has configured itself for a much higher throughput - 115k instead of 9600, as it was on USB. I'm assuming that the autoconfigure got it right, 8 data bit, no parity, 1 stop bit, no flow control.
Same result as before, with USB power only. Bossa has been sitting at 0% complete for about 45 minutes at this point. -
@tdm418 said in Unable to Flash Duet 6HC Firmware:
Bossa has been sitting at 0% complete for about 45 minutes at this point.
Bossa takes less than 2 minutes. If it hasn't progressed, there is very little point in waiting.