Duet Maestro taking forever to establish Ethernet Link
-
Does it matter that I have another Duet Maestro on the same network? I know with my multiple Duet 0.8.5 boards, I had to give each one a unique MAC in config.g otherwise they'd fight each other over the network and not talk to anything.
-
Added M111 P1 S1 to my config.g file, but nothing in the diagnostics. It did take a few minutes after that change to restart the Ethernet link.
22:23:20.685 -> RepRapFirmware for Duet 2 Maestro Version 2.03 dated 2019-06-13b2 22:23:20.685 -> 22:23:20.685 -> Executing config.g...Debugging enabled for modules: Network(1) 22:23:20.685 -> Debugging disabled for modules: Platform(0) Webserver(2) GCodes(3) Move(4) Heat(5) DDA(6) Roland(7) Scanner(8) PrintMonitor(9) Storage(10) PortControl(11) DuetExpansion(12) FilamentSensors(13) WiFi(14) Display(15) 22:23:20.685 -> HTTP is enabled on port 80 22:23:20.685 -> FTP is disabled 22:23:20.685 -> TELNET is disabled 22:23:20.685 -> 22:23:20.685 -> Done! 22:23:20.685 -> RepRapFirmware for Duet 2 Maestro is up and running. 22:24:35.932 -> === Diagnostics === 22:24:35.932 -> RepRapFirmware for Duet 2 Maestro version 2.03 running on Duet Maestro 1.0 22:24:35.932 -> Board ID: 08DAM-9F9DA-MWNS8-6J1D2-3SJ6L-1P0UX 22:24:35.932 -> Used output buffers: 1 of 24 (2 max) 22:24:35.932 -> === RTOS === 22:24:35.932 -> Static ram: 19664 22:24:35.932 -> Dynamic ram: 87696 of which 0 recycled 22:24:35.932 -> Exception stack ram used: 264 22:24:35.932 -> Never used ram: 23448 22:24:35.932 -> Tasks: NETWORK(ready,1972) HEAT(blocked,1276) MAIN(running,3908) IDLE(ready,160) 22:24:35.932 -> Owned mutexes: 22:24:35.932 -> === Platform === 22:24:35.932 -> Last reset 00:01:16 ago, cause: power up 22:24:35.932 -> Last software reset at 2020-05-30 22:23, reason: User, spinning module GCodes, available RAM 23432 bytes (slot 1) 22:24:35.932 -> Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04432000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d 22:24:35.932 -> Error status: 0 22:24:35.932 -> Free file entries: 10 22:24:35.932 -> SD card 0 detected, interface speed: 15.0MBytes/sec 22:24:35.932 -> SD card longest block write time: 0.0ms, max retries 0 22:24:35.932 -> MCU temperature: min 32.6, current 34.3, max 34.7 22:24:35.932 -> Supply voltage: min 0.0, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes 22:24:35.932 -> Driver 0: standstill, read errors 0, write errors 0, ifcount 6, reads 2686, timeouts 0 22:24:35.932 -> Driver 1: standstill, read errors 0, write errors 0, ifcount 6, reads 2686, timeouts 0 22:24:35.932 -> Driver 2: standstill, read errors 0, write errors 0, ifcount 6, reads 2686, timeouts 0 22:24:35.932 -> Driver 3: standstill, read errors 0, write errors 0, ifcount 6, reads 2686, timeouts 0 22:24:35.932 -> Driver 4: standstill, read errors 0, write errors 0, ifcount 6, reads 2686, timeouts 0 22:24:35.932 -> Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 2691 22:24:35.932 -> Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 2691 22:24:35.932 -> Date/time: 1970-01-01 00:00:00 22:24:35.932 -> Slowest loop: 3.78ms; fastest: 0.06ms 22:24:35.932 -> I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 22:24:35.932 -> === Move === 22:24:35.932 -> Hiccups: 0, FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms 22:24:35.932 -> Bed compensation in use: none, comp offset 0.000 22:24:35.932 -> === DDARing === 22:24:35.932 -> Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 22:24:35.932 -> === Heat === 22:24:35.932 -> Bed heaters = 0, chamberHeaters = -1 -1 22:24:35.932 -> Heater 1 is on, I-accum = 0.0 22:24:35.932 -> === GCodes === 22:24:35.932 -> Segments left: 0 22:24:35.932 -> Stack records: 1 allocated, 0 in use 22:24:35.932 -> Movement lock held by null 22:24:35.932 -> http is idle in state(s) 0 22:24:35.932 -> telnet is idle in state(s) 0 22:24:35.932 -> file is idle in state(s) 0 22:24:35.932 -> serial is ready with "m122" in state(s) 0 22:24:35.932 -> aux is idle in state(s) 0 22:24:35.932 -> daemon is idle in state(s) 0 22:24:35.932 -> queue is idle in state(s) 0 22:24:35.932 -> lcd is idle in state(s) 0 22:24:35.932 -> autopause is idle in state(s) 0 22:24:35.932 -> Code queue is empty. 22:24:35.932 -> === Network === 22:24:35.932 -> Slowest loop: 0.28ms; fastest: 0.02ms 22:24:35.932 -> Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) 22:24:35.932 -> HTTP sessions: 0 of 8 22:24:35.932 -> Interface state 2, link down 22:24:35.932 -> ok 22:26:34.656 -> Network running, IP address = 192.168.2.239 22:26:34.833 -> Received 428 bytes 22:26:34.833 -> Received 395 bytes 22:26:34.870 -> Received 400 bytes22:23:20.685 -> RepRapFirmware for Duet 2 Maestro Version 2.03 dated 2019-06-13b2 22:23:20.685 -> 22:23:20.685 -> Executing config.g...Debugging enabled for modules: Network(1) 22:23:20.685 -> Debugging disabled for modules: Platform(0) Webserver(2) GCodes(3) Move(4) Heat(5) DDA(6) Roland(7) Scanner(8) PrintMonitor(9) Storage(10) PortControl(11) DuetExpansion(12) FilamentSensors(13) WiFi(14) Display(15) 22:23:20.685 -> HTTP is enabled on port 80 22:23:20.685 -> FTP is disabled 22:23:20.685 -> TELNET is disabled 22:23:20.685 -> 22:23:20.685 -> Done! 22:23:20.685 -> RepRapFirmware for Duet 2 Maestro is up and running. 22:24:35.932 -> === Diagnostics === 22:24:35.932 -> RepRapFirmware for Duet 2 Maestro version 2.03 running on Duet Maestro 1.0 22:24:35.932 -> Board ID: 08DAM-9F9DA-MWNS8-6J1D2-3SJ6L-1P0UX 22:24:35.932 -> Used output buffers: 1 of 24 (2 max) 22:24:35.932 -> === RTOS === 22:24:35.932 -> Static ram: 19664 22:24:35.932 -> Dynamic ram: 87696 of which 0 recycled 22:24:35.932 -> Exception stack ram used: 264 22:24:35.932 -> Never used ram: 23448 22:24:35.932 -> Tasks: NETWORK(ready,1972) HEAT(blocked,1276) MAIN(running,3908) IDLE(ready,160) 22:24:35.932 -> Owned mutexes: 22:24:35.932 -> === Platform === 22:24:35.932 -> Last reset 00:01:16 ago, cause: power up 22:24:35.932 -> Last software reset at 2020-05-30 22:23, reason: User, spinning module GCodes, available RAM 23432 bytes (slot 1) 22:24:35.932 -> Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04432000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d 22:24:35.932 -> Error status: 0 22:24:35.932 -> Free file entries: 10 22:24:35.932 -> SD card 0 detected, interface speed: 15.0MBytes/sec 22:24:35.932 -> SD card longest block write time: 0.0ms, max retries 0 22:24:35.932 -> MCU temperature: min 32.6, current 34.3, max 34.7 22:24:35.932 -> Supply voltage: min 0.0, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes 22:24:35.932 -> Driver 0: standstill, read errors 0, write errors 0, ifcount 6, reads 2686, timeouts 0 22:24:35.932 -> Driver 1: standstill, read errors 0, write errors 0, ifcount 6, reads 2686, timeouts 0 22:24:35.932 -> Driver 2: standstill, read errors 0, write errors 0, ifcount 6, reads 2686, timeouts 0 22:24:35.932 -> Driver 3: standstill, read errors 0, write errors 0, ifcount 6, reads 2686, timeouts 0 22:24:35.932 -> Driver 4: standstill, read errors 0, write errors 0, ifcount 6, reads 2686, timeouts 0 22:24:35.932 -> Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 2691 22:24:35.932 -> Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 2691 22:24:35.932 -> Date/time: 1970-01-01 00:00:00 22:24:35.932 -> Slowest loop: 3.78ms; fastest: 0.06ms 22:24:35.932 -> I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 22:24:35.932 -> === Move === 22:24:35.932 -> Hiccups: 0, FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms 22:24:35.932 -> Bed compensation in use: none, comp offset 0.000 22:24:35.932 -> === DDARing === 22:24:35.932 -> Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 22:24:35.932 -> === Heat === 22:24:35.932 -> Bed heaters = 0, chamberHeaters = -1 -1 22:24:35.932 -> Heater 1 is on, I-accum = 0.0 22:24:35.932 -> === GCodes === 22:24:35.932 -> Segments left: 0 22:24:35.932 -> Stack records: 1 allocated, 0 in use 22:24:35.932 -> Movement lock held by null 22:24:35.932 -> http is idle in state(s) 0 22:24:35.932 -> telnet is idle in state(s) 0 22:24:35.932 -> file is idle in state(s) 0 22:24:35.932 -> serial is ready with "m122" in state(s) 0 22:24:35.932 -> aux is idle in state(s) 0 22:24:35.932 -> daemon is idle in state(s) 0 22:24:35.932 -> queue is idle in state(s) 0 22:24:35.932 -> lcd is idle in state(s) 0 22:24:35.932 -> autopause is idle in state(s) 0 22:24:35.932 -> Code queue is empty. 22:24:35.932 -> === Network === 22:24:35.932 -> Slowest loop: 0.28ms; fastest: 0.02ms 22:24:35.932 -> Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) 22:24:35.932 -> HTTP sessions: 0 of 8 22:24:35.932 -> Interface state 2, link down 22:24:35.932 -> ok 22:26:34.656 -> Network running, IP address = 192.168.2.239 22:26:34.833 -> Received 428 bytes 22:26:34.833 -> Received 395 bytes 22:26:34.870 -> Received 400 bytes
And all it says is the received xxx bytes scrolls constantly while I have the DWC open.
-
Are you letting the router serve a DHCP address or are you specifying it? Are you sure the address you have in config.g isn't already used?
Ideally you should have the Duet use DHCP to obtain an IP and netmask, gateway, etc, this helps prevent misconfiguration and conflicts.
Does the Duet show up on the router?
-
Letting the DHCP server issue an IP address or statically setting one not in use results in the same time for it to establish a link. Thats why I have both lines in my config.g file so I could easily swap back and forth testing it.
-
Gotcha. Please update to 2.05.1 since that would be the most relevant firmware to test.
Do you have a different cable to test with? Different router? Just to get some things eliminated.
-
So you have another Maestro that doesn't behave the same?
Is it feasible to try the same network cable and switch port on the new Maestro? Some combinations have shown issues with autonegotation, but I'd be surprised to see it succeeding after so long if that was the issue.
-
I suspect I had an issue with the contents of www/.
I've deleted the www folder, and copied it back from the backup I made of the original SD card, and then updated it from the DWC with the 1.22.6 zip, and it seems to be starting a link as soon as its turned on. Which is the behavior I'd expect based on the other Duet Maestro / Duet 0.8.5 boards I have.
Is it possible the web server startup (if it had an issue) could delay the actual detection of the link on the Ethernet module?
-
@PDBeal unlikely, not having the files in /www is a recurring topic here none have have reported similar issues afaik
-
@bearer said in Duet Maestro taking forever to establish Ethernet Link:
@PDBeal unlikely, not having the files in /www is a recurring topic here none have have reported similar issues afaik
What about having partial files, or corrupt files, or improperly unarchived sections, etc... I had files in the www/ folder and it seemed to work, but it didn't seem completely there which is what made me wipe and restore my www/ folder.
I'll continue to monitor this new Duet Maestro board and see if the issue returns.
One a side note, how does one remove the new DWC from an existing machine? I much prefer the 1.22.6 version and would like to remove the new 2.0.7 from my other Duet Maestro.
-
@PDBeal said in Duet Maestro taking forever to establish Ethernet Link:
how does one remove the new DWC from an existing machine?
just delete the contents of /www and extract 1.22.6 into /www after? (if you don't want to remove the SD card you could try enabling FTP and find a supported FTP client to to the operations)
optionally there should be a setting to user DWC1, but i think its based on a cookie so not persistent across devices.
http://192.168.2.239/reprap.htm might give you DWC1 as well.
About potential corrupted files, still doubt it it would affect the link status, the webserver would only react to requests, which it cant until the link is up afaik.