I think my Duet and/or Duex5 is/are dying
-
@deckingman Yes I missed and misunderstood some of your information.
At least you don't have damaged prints from your "sudden seldom" print. It's difficult to analyze a non-reproducible error.
In case of a delay error I would have thought of a reason like waiting for a component like Wifi, sensor or protocol feedback. Maybe a functionality in firmware and waiting for timeout (or delay, waiting e.g. for fan speed up) because it is not present or not behaving as expected. I don't know the debugger/profiler possibilites of the Eclipse development environment enough, but there should be a tool to analyze your startup exactly.
-
@joergs5 Yes. One thing it does is a sort of double start up, as if it starts and then resets a couple of seconds later. David (DC42) has said that this is not normal and there will be a change in the next RC firmware which might fix it.
-
Sorry to resurrect this old thread but I've just experienced the second issue that I reported in my opening post. That is to say, I turned the printer on and ran my normal homing macro and noticed long pauses between commands. Ignoring this, I started a print and had the exact same issues - it would print a few moves, then pause for several seconds, then print few more. I aborted the print, cycled the power and everything worked as normal.
This only happens once every few months so it's a bugger to track down. I did have the forethought to run M122 while it was printing and pausing. Here it is:
...........................................................................................................
M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.02RC4(RTOS) running on Duet Ethernet 1.0 or 1.01 + DueX5
Board ID: 08DAM-999TL-MQ4S8-6J9FA-3SJ6K-95B7W
Used output buffers: 1 of 20 (18 max)
=== RTOS ===
Static ram: 27476
Dynamic ram: 99268 of which 0 recycled
Exception stack ram used: 512
Never used ram: 3816
Tasks: NETWORK(ready,400) HEAT(blocked,1176) MAIN(running,3840) IDLE(ready,200)
Owned mutexes:
=== Platform ===
Last reset 00:20:59 ago, cause: power up
Last software reset at 2018-12-05 11:36, reason: User, spinning module GCodes, available RAM 4044 bytes (slot 3)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 9
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest block write time: 15.6ms, max retries 0
MCU temperature: min 32.1, current 32.8, max 34.5
Supply voltage: min 24.3, current 24.5, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: standstill, SG min/max 0/320
Driver 1: standstill, SG min/max 0/291
Driver 2: standstill, SG min/max 0/1023
Driver 3: standstill, SG min/max 0/279
Driver 4: standstill, SG min/max 0/287
Driver 5: standstill, SG min/max 0/164
Driver 6: standstill, SG min/max not available
Driver 7: standstill, SG min/max 0/1023
Driver 8: standstill, SG min/max 0/1023
Driver 9: standstill, SG min/max not available
Date/time: 2019-01-11 15:02:50
Cache data hit count 4294967295
Slowest loop: 245.51ms; fastest: 29.15ms
I2C nak errors 0, send timeouts 66285, receive timeouts 0, finishTimeouts 66285
=== Move ===
Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 165, MinFreeDm: 115, MaxWait: 269067ms, Underruns: 0, 0
Scheduled moves: 194, completed moves: 179
Bed compensation in use: none
Bed probe heights: 0.000 0.000 0.000 0.000 0.000
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
Heater 0 is on, I-accum = 0.3
Heater 1 is on, I-accum = 0.5
=== GCodes ===
Segments left: 0
Stack records: 2 allocated, 0 in use
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
serial is idle in state(s) 0
aux is idle in state(s) 0
daemon is idle in state(s) 0
queue is idle in state(s) 0
autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 221.69ms; fastest: 0.03ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8
Interface state 5, link 100Mbps full duplex
...............................................................................................................
Nothing leaps out at me and I don't see the I2C errors that I've had in the past but maybe someone else can spot something.May it's a "red herring" but it seems to happen when I haven'y used the printer for some time. In this case, I have been away for about 5 weeks.
-
@deckingman said in I think my Duet and/or Duex5 is/are dying:
I2C nak errors 0, send timeouts 66285, receive timeouts 0, finishTimeouts 66285
You definitely have an issue with sending I2C commands to your Duex5 according to this output...
-
Please upgrade to firmware 2.02. The I2C driver has been completely rewritten since the 2.02RC version that you are using.
-
@dc42 said in I think my Duet and/or Duex5 is/are dying:
................ The I2C driver has been completely rewritten since the 2.02RC version that you are using.
Oh really? Since RC4? I must have missed that.
Thanks - I'll give it a try.
-
Quick update on this.
I won't go into the second problem - that is to do with I2C errors and since I started this thread, numerous other threads on have appeared on that topic. I can say that since I installed the resistors mentioned in one of those other threads, the problem has thus far not manifested itself. Having said that, I have had some health issues (me not the printer) so haven't done much printing for a couple of weeks.
I think I've fixed the first problem though. This was the board and/or web interface taking 4 to 10 seconds to initialise after power on or re-boot. It turns out that I wasn't using a fixed IP address as I thought. No doubt this will be obvious to people who understand these things, but it wasn't obvious to an old retired mechanical engineer like me.
My router (BT Hub 6) has the facility to always use the same IP address. To my way of thinking, that meant a fixed IP address, but obviously I was wrong. I guess it means that when the board first initialises, if the IP address isn't set on the board, then it will negotiate with the hub. By setting the switch on the hub, it just means that it will always allocate the same IP address but it doesn't by pass the negotiating process. So in one sense it is fixed, but in another sense it isn't. Anyway, I simply set the IP address in M552 to the same as was being allocated by the hub and now it boots as quickly as I ever remember it doing.
Interestingly, the Hub still reports the IP address as being allocated by DHCP. Maybe that's a bug in the Hub firmware (it wouldn't be the first by all accounts). Maybe if I set the IP address to something less that 63, which is outside the DHCP range, then it might correctly report that it hasn't been allocated by DHCP. I don't really care because the problem is fixed.
The only thing I wonder about is why the problem started and why it seemed to be getting worse. I guess that's just down to me having more and more devices connected to the network.
Anyway and in summary for anyone else having slow boot issues with a Duet Ethernet, try using a fixed IP address in M552.
-
Most routers have the ability to reserve a fixed IP address for a device by establishing, within the router, a fixed relationship between the devices MAC address (which a unique value hardwired into each device) and the desired IP address.
There is not one name for this feature nor a standardized place in the router setup for this feature.
"IP reservation" is one name you might see. In others they call it a "static IP" which can be confusing because the term static IP usually refers to setting a fixed IP address within the device itself, not within the router.
I found a reference to a BT Hub 6 manual but it was very limited.
-
Ian, I strongly suggest you set a fixed IP outside the DHCP range; if the router is not smart enough, it may allocate that IP for another device!
-
@fma said in I think my Duet and/or Duex5 is/are dying:
Ian, I strongly suggest you set a fixed IP outside the DHCP range; if the router is not smart enough, it may allocate that IP for another device!
It shouldn't do because the hub is still set to "always use this IP address" but I take your point. BT's smart hubs do have a reputation for not being as smart as BT would like to think they are.