Maestro issues (Firmware not updating and no ethernet)
-
Hi there,
I turned on my printer today and all of a sudden my Maestro is exhibiting some strange behaviour. The first thing I noticed was that the hot-end had powered on straight away from power on. I quickly removed the ferrules from the hot-end terminal block and started investigating the issue.
I then noticed that the lights on the ethernet port were not illuminated, and the board was not showing up on my network which means it's not able to get a DHCP lease. It was working previously. I popped the board out of the printer and plugged it into my computer via USB and I can communicate with it. I tried sending the usual
M552 S0
, andM552 S1 P0.0.0.0
to disable networking, then obtain a DHCP lease. No lights, no lease. So I tried setting a static IP - no dice. I tested with a computer with the same ethernet cable, router and port, and it was able to get a DHCP lease.Ok, so maybe the firmware is corrupted? I loaded the new 3.2 files onto the SD card:
- DuetMaestroFirmware.bin
- DuetMaestroIAP.bin
I popped the SD card back into the Maestro, and reconnected to it via USB. I followed the procedure here: https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware#Section_Fallback_procedure_Num_1
The following is the session:
>>>M115 SENDING:M115 FIRMWARE_NAME: RepRapFirmware for Duet 2 Maestro FIRMWARE_VERSION: 3.1.1 ELECTRONICS: Duet Maestro 1.0 FIRMWARE_DATE: 2020-05-19b2 >>>M997 S0 SENDING:M997 S0 Shutting down USB interface to update main firmware. Try reconnecting after 30 seconds. Disconnected.
After a minute had passed, I tried connecting back to the board. No response. All it (Pronterface) says is:
Connecting...
I tried multiple times - nothing. So I unplugged the board from USB and plugged it back in. Now I could reconnect. Running
M115
resulted in the same firmware version as above.The fallback procedure mentioned that it needs iap4s.bin, so I found it in the Duet2and3Firmware.zip file in the 2.05.1 release, so I put that onto the SD card, put the SD card back into the printer, reconnected via usb and retried the firmware update. Same issue. Can't reconnect.
When connected via USB the 3.3V and 5V LEDs are active, as well as the LED beside the USB port. When it is connected via the terminal blocks, the 3.3V, 5V and Vin LEDs are lit, so power doesn't seem to be an issue here.
Does anyone have any thoughts? My last resort would be to erase the firmware entirely and reprogram the board via BOSSA.
-
@j3d said in Maestro issues (Firmware not updating and no ethernet):
My last resort would be to erase the firmware entirely and reprogram the board via BOSSA.
Give that shot.
Does anything on the board itself get hot?
-
Try usb without sd card before bossa?
-
@bearer said in Maestro issues (Firmware not updating and no ethernet):
Try usb without sd card before bossa?
Yep, tried that. Same issue.
-
So I have successfully flashed the new 3.2 firmware onto the board through BOSSA, however I still have the same issue with the ethernet. No lights, and no DHCP lease. Is there anything else I can do to troubleshoot? I have tried with and without the SD card inserted, I have tried multiple ethernet cables, and even different routers. No chips are noticeably warm either.
@dc42 mentioned in a previous thread to run the following commands to help troubleshoot. (https://forum.duet3d.com/topic/12923/duet-maestro-seems-to-have-died/4)
Connecting... Error: Temperature reading fault on heater 0: sensor short to other wiring ok T:2000.0 /0.0 T0:2000.0 /0.0 Printer is now online. >>>M552 SENDING:M552 Network is enabled, configured IP address: 0.0.0.0, actual IP address: 0.0.0.0 >>>M39 SENDING:M39 SD card in slot 0: capacity 0.50Gb, free space 0.49Gb, speed 15.00MBytes/sec, cluster size 8kb >>>M503 SENDING:M503 ; Configuration file for Duet Maestro (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Aug 04 2020 17:02:35 GMT-0400 (EDT) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Dremel 3D20" ; set printer name ; Network M551 P"f00bar!23" ; set password M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X128 Y128 E64 I0 ; configure microstepping without interpolation M350 Z16 I1 ; configure microstepping with interpolation M92 X711.00 Y711.00 Z400.00 E400.00 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z360.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z50.00 E250.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-20 Y0 Z0 S1 ; set axis minima M208 X275 Y150 Z150 S0 ; set axis maxima ; Endstops M574 X2 S1 P"!xstop" ; configure active-high endstop for high end on X via pin !xstop M574 Y2 S1 P"!ystop" ; configure active-high endstop for high end on Y via pin !ystop ;M574 Z1 S1 P"!zstop" ; configure active-high endstop for low end on Z via pin !zstop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M558 P8 C"^zprobe.in" H1 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X3.0 Y-33 Z1.073 ; set Z probe trigger value, offset and trigger height M557 X10:224 Y7:150 S30 ; define mesh grid M671 X65:165:116 Y10:10:150 ; set positions of bed levelling screws ; Heaters M140 H-1 ; disable heated bed (overrides default heater mapping) M308 S0 P"spi.cs1" Y"thermocouple-max31856" ; configure sensor 0 as thermocouple via CS pin spi.cs1 M950 H0 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H0 T45 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 S0 H-1 ; set fan 2 value. Thermostatic control is turned off ; Tools M563 P0 D0 H0 F0:1 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous T0 ; select first tool >>>M122 >SENDING:M122 >=== Diagnostics === >RepRapFirmware for Duet 2 Maestro version 3.2 running on Duet Maestro 1.0 >Board ID: 08DAM-9F9GA-J24TD-6JKDA-3SN6T-T40LV >Used output buffers: 1 of 24 (1 max) >=== RTOS === >Static ram: 22292 >Dynamic ram: 66368 of which 40 recycled >Never used RAM 26132, free system stack 204 words >Tasks: NETWORK(ready,550) HEAT(blocked,245) TMC(blocked,123) MAIN(running,497) IDLE(ready,20) >Owned mutexes: USB(MAIN) >=== Platform === >Last reset 00:02:18 ago, cause: reset button >Last software reset details not available >Error status: 0x00 >Aux0 errors 0,0,0 >MCU temperature: min 37.0, current 37.9, max 38.2 >Supply voltage: min 0.0, current 0.6, max 0.7, under voltage events: 0, over voltage events: 0, power good: no >Driver 0: position 0, ok, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 >Driver 1: position 0, ok, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 >Driver 2: position 0, ok, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 >Driver 3: position 0, ok, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 >Driver 4: position 0, ok, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 >Driver 5: position 0, ok, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 >Driver 6: position 0, ok, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 >Date/time: 1970-01-01 00:00:00 >Slowest loop: 2.05ms; fastest: 0.17ms >I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 >=== Storage === >Free file entries: 10 >SD card 0 detected, interface speed: 15.0MBytes/sec >SD card longest read time 0.4ms, write time 0.0ms, max retries 0 >=== Move === >DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000 >=== MainDDARing === >Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 >=== AuxDDARing === >Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 >=== Heat === >Bed heaters = -1 -1, chamberHeaters = -1 -1 >=== GCodes === >Segments left: 0 >Movement lock held by null >HTTP is idle in state(s) 0 >Telnet is idle in state(s) 0 >File is idle in state(s) 0 >USB is ready with "M122" in state(s) 0 >Aux is idle in state(s) 0 >Trigger is idle in state(s) 0 >Queue is idle in state(s) 0 >LCD is idle in state(s) 0 >Daemon is idle in state(s) 0 >Autopause is idle in state(s) 0 >Code queue is empty. >=== Network === >Slowest loop: 0.31ms; fastest: 0.02ms >Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions >HTTP sessions: 0 of 8 >Interface state establishingLink, link down
-
When you boot up with the SD card removed, does the hot end still power on immediately?
-
@dc42 said in Maestro issues (Firmware not updating and no ethernet):
When you boot up with the SD card removed, does the hot end still power on immediately?
It no longer seems to be experiencing this fault with or without the SD card being inserted.
I powered the board from my printer's PSU and connected the USB to my laptop (running off battery to avoid ground loops) and the heater and thermocouple board seem to be working properly.
(Aside: When I don't have an SD card inserted, it still can read the proper temperature from the thermocouple board. This surprised me as I had assumed that the config.g file was not loaded into flash. I would have expected garbage values without the config.g file present on the SD card to tell the firmware to utilize the optional board)
-
Still no ethernet? I figured I'd try to build RRF3.2 for the Maestro with the changes indicated in this post: https://forum.duet3d.com/post/200505
to see if that would skip past the auto negotiation and bring the link up, but ran into some errors building it - will poke it some when i find the time
meanwhile if you have a managed switch, you could try setting a fixed link speed on the port the maestro is connected to.
-
@bearer said in Maestro issues (Firmware not updating and no ethernet):
meanwhile if you have a managed switch, you could try setting a fixed link speed on the port the maestro is connected to.
Unfortunately none of my switches are managed. I do have a spare wireless router that is compatible with DD-WRT which I could test with.
I guess one other thing I could test is to go back to 3.1.1 and see if it's able to get a lease now that I've reflashed the firmware via BOSSA, as it was able to previously.
-
I remembered that I had an old router that only had 10/100 ports on it in the basement. After dusting it off and setting it up, I found that there was no difference. Still no lights, and no lease. I even tried again with a static IP to no avail.
-
The maestro is only 10/100 as well, but a very small handful of users have experienced incompatibility with some network gear and auto negotiation.
Perhaps the easiest test is to try a direct cable connection to a computer, and change the drivers on the computer to have a fixed 100M full duplex connection instead of auto negotiation.
-
I'll give it a try, but I don't understand why it no longer works with the exact same hardware.
-
I connected my laptop and the board to each other through ethernet, set my laptop's IP to 192.168.0.2, subnet 255.255.255.0, gateway to 192.168.0.1, speed to 100baseT, and the printer's IP to 192.168.0.3, subnet 255.255.255.0, gateway to 192.168.0.1. No change. Also tried changing it between half and full duplex.
I also just downgraded the firmware to 3.1.1 through BOSSA as that was the original firmware version that it worked on, but the ethernet doesn't work on it either.
-
It seems like whatever failure/short happened to cause the hotend to power up uncontrolled also damaged the ethernet port. Can you disconnect everything and get some clear, well-lit photos of the board? Perhaps we can spot a damaged component.
-
Here you go: https://www.dropbox.com/sh/d23sm2xxk35xh3v/AABKB4PaqMS7xzck2IXK-XPKa?dl=0
(The little black circle on the bottom left of the Wiznet chip seemed to be a little bit of finger oil, which came off with some isopropyl. IMG_5878.jpg and IMG_5880.jpg were taken after cleaning)
I don't see any obvious evidence of a damaged component.
-
Nothing jumps out at me either, but failures aren't always spectacular.
When and where did you purchase the Maestro?
-
I purchased it from spool3d.ca on October 15th, 2019. It's taken quite a while to get everything set up - it has only done one print so far.
-
That is unfortunately well out of warranty.
Perhaps @bearer may have a keener eye and can spot something in your photos or has an idea on potential repair.
-
I see. I'm kind of bummed out here to be honest, as this is the second piece of Duet hardware that has failed on me. The first being the IR sensor, which had a bad solder joint on the IR receiver, and now this. This certainly isn't something I would have expected from a premium product.
-
If you wish you can contact roland@duet3d.com and inquire about doing an exchange for a refurbished board at reduced cost, subject to availability.
But hopefully bearer or DC42 has a better idea of what could have gone wrong and whether it's repairable. From the troubleshooting we've done it's safe to say that the network interface is no longer working.