Closed fila612 closed 3 years ago
@Samaelson can you help here? I don't have this hardware or any experience with flashing an MMU.
@fila612: did you choose the right com port? Guess you have both, MK3s and MMU2s board connected via USB, same as I have. So make sure you' ve chosen the correct port.
if you mean the ttyACM*-port, then yes, I've tried all ports. and also disconnected all except the emu, so there were also one port to choose. I though that a wrong port shows up a time out not that the programmer are not responding, isn't it?
What firmware are you running on MMU2s Board? What are PID&VID MMU2s board enumerates when connected via USB? Is MMU2s beard detected by Prusa Slic3r?
One more comment: Prusa uses a special initialization sequence to enter bootloader on MMU2s board. I assume no changes have been made to the code part I submitted. So what you also could check is to manually push the reset button on the MMU2s after firmware upload was triggered. Please let me know if this was helpful.
What firmware are you running on MMU2s Board? What are PID&VID MMU2s board enumerates when connected via USB? Is MMU2s beard detected by Prusa Slic3r?
currently there is the TZB Rel. 3.2.0 on the MMU2s. The Update from original Prusa to TZB was done via this Plugin. My Problem is, that the printer is located in an IKEA Platsa and therefore ist not so easy for me to connect via USB, cause I've only an iMac :(
if I run "ls -la /dev/serial/by-id" on my raspberry I got following result:
pi@octopi:~ $ ls -la /dev/serial/by-id total 0 drwxr-xr-x 2 root root 80 Oct 5 06:53 . drwxr-xr-x 4 root root 80 Oct 4 11:41 .. lrwxrwxrwx 1 root root 13 Oct 5 06:53 usb-Arduino_LLC_Arduino_Leonardo-if00 -> ../../ttyACM0 lrwxrwxrwx 1 root root 13 Oct 4 12:05 usb-Prusa_Research__prusa3d.com__Original_Prusa_i3_MK3____________________-if00 -> ../../ttyACM1
=> so, for me the ACM0 is the MMU and the ACM1 is the MK3S
One more comment: Prusa uses a special initialization sequence to enter bootloader on MMU2s board. I assume no changes have been made to the code part I submitted. So what you also could check is to manually push the reset button on the MMU2s after firmware upload was triggered. Please let me know if this was helpful.
Thanks for that hit, but unfortunately that doesn't helps. also the sequence makes no difference: 1st reset and than start fw-upload or vice versa..
TZB Firmware breaks Prusa's init routine. Tried this in the past on my own MMU2s board. So after flashing TZB firmware also regular Prusa Firmware Updater in Slic3r is was no more working on my side
hmmm, that sounds no so good. does that means, that the board is now only usable with the installed firmware 3.2.0?
Let me check how to add support for MMU2s running custom TZB firmware. Pid&Vid TZB Firmware enumerates is necessary for that
okay, how can I help you? where can I check the PID&VID?
@benlye : a hint should be added stating only stock firmware is supported for now for Prusa's MMU2s and CW1
@fila612 : open terminal and simply type lsusb
pi@octopi:/tmp $ lsusb
Bus 001 Device 021: ID 2341:8036 Arduino SA Leonardo (CDC ACM, HID)
Bus 001 Device 006: ID 05a3:9331 ARC International Camera
Bus 001 Device 007: ID 2c99:0002
Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
just for my information: the PID&VID is "2341:8036", isn't it?
Yes it is. Will work on support for non stock firmware flash procedure
I don't know if its important, but the update from TZB 3.2.0 to 3.3.0 on my MK3S was working.
Not important als MK3s board uses different firmware update approach.
@fila612 : could you check if MMU2s enumerates correctly after pushing reset button on MMU2s. 2c99:0002 is MK3s board and MMU2s shall be 2c99:0003 when in bootloader
@Samaelson: seems so:
1st:
pi@octopi:~ $ lsusb
Bus 001 Device 027: ID 2341:8036 Arduino SA Leonardo (CDC ACM, HID)
Bus 001 Device 007: ID 2c99:0002
Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
after pushing reset button:
pi@octopi:~ $ lsusb
Bus 001 Device 028: ID 2c99:0003
Bus 001 Device 007: ID 2c99:0002
Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
a few secs later:
pi@octopi:~ $ lsusb
Bus 001 Device 029: ID 2341:8036 Arduino SA Leonardo (CDC ACM, HID)
Bus 001 Device 007: ID 2c99:0002
Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Ok, thanks.
Unfortunately there is no clean way nor good solution to support this in FirmwareUpdater.
But as you can see (https://github.com/TheZeroBeast/TZB-MMU2S-Firmware/pulls) I raised a pull request to TZB to add support for Prusa's switch from application to bootloader mechanism to TZB's MMU firmware. This simply is done by initializing serial port 0 of the MMU2s so it enumerates correctly when entering application mode.
okay thanks. for my understanding this will avoid further errors like that, but what do you think can I do to resolve this issue on my MMU? Should I try to update via Laptop/USB directly or can I update the original Prusa-FW via OctoprintFWU? If this cannot be solved via this issue then this can be closed....
In the past I used a Laptop, USB cable and Prusa Slic3r to flash back to original. You need to push reset button on MMU to enter bootloader. Btw. you could compile TZB firmware including the UART0 init by your own.
huge thanks to @Samaelson. i will close this issue right now and I was able to update my MMU2S via OctoPrintFWUpdater with the customFW. 1st press reset Button on the MMU and the start FW-Update (should be started max 5s. after pushing the Button.)
This issue has been automatically locked because there was no further activity after it was closed. Please open a new issue for any related problems.
Hardware Setup Prusa MK3s & MMUS (Atmel ATmega 8-bit MCUs)
Describe the problem start flashing firmware MMU => get an unknown error
Log Files /usr/bin/avrdude -v -q -p atmega32u4 -c avr109 -P /dev/ttyACM0 -D -b 57600 -U flash:w:/tmp/tmpztgri_5a:i
=>avrdude: butterfly_recv(): programmer is not responding
Additional context Settings avrdude ATmega32u4 avr109 Baud Rate: default; also tried 57600 no pre- or post-flash settings
I remember, that this has been worked at the last FW-Update (should be in Jan21)