Firmware 1.20 released
-
Something very strange going on here. How did you get the situation where Z was homed but X and Y were not? The reason I ask is that you can't home Z unless X and Y have already been homed. At least that's how it is and how it has always been on my CoreXY.
ummm not a clue.. just hit the home Z.. there shouldn't be any reason you can't home Z pretty much any time you want… at least none I can think of.
Odd. Perhaps it depends on what type of Z homing switch you have configured. I use the nozzle to probe the bed so my Z homing files move the head to the centre of the bed. Maybe that;s why DWC won't let me home Z without first having homed X and Y.
Anyway, it's you M84 commands that are resetting all the homing status (including Z because it cuts power to all motors). So take them out.
-
Edit. I think I know why. You have M84 at the end of all you homing files. This cuts the power to the motors and resets the state to be not homed (because without idle hold, they could easily be moved). Take out those M84 commands.
Good catch! He doesn't have M84 at the end of homez.g, which is why Z is remaining homed.
The motor currents are reduced to the idle value after 30 seconds of printer inactivity. By default this is 30% of normal, which on most non-delta printers is sufficient to hold position. Whereas M84 cuts the current completely, so the motors are flagged as not homed because it is quite likely that they will not be in the same position when you apply power again.
-
Something very strange going on here. How did you get the situation where Z was homed but X and Y were not? The reason I ask is that you can't home Z unless X and Y have already been homed. At least that's how it is and how it has always been on my CoreXY.
ummm not a clue.. just hit the home Z.. there shouldn't be any reason you can't home Z pretty much any time you want… at least none I can think of.
Odd. Perhaps it depends on what type of Z homing switch you have configured. I use the nozzle to probe the bed so my Z homing files move the head to the centre of the bed. Maybe that;s why DWC won't let me home Z without first having homed X and Y.
Anyway, it's you M84 commands that are resetting all the homing status (including Z because it cuts power to all motors). So take them out.
Edit. I think I know why. You have M84 at the end of all you homing files. This cuts the power to the motors and resets the state to be not homed (because without idle hold, they could easily be moved). Take out those M84 commands.
Good catch! He doesn't have M84 at the end of homez.g, which is why Z is remaining homed.
The motor currents are reduced to the idle value after 30 seconds of printer inactivity. By default this is 30% of normal, which on most non-delta printers is sufficient to hold position. Whereas M84 cuts the current completely, so the motors are flagged as not homed because it is quite likely that they will not be in the same position when you apply power again.
Sweet!! man you guys are awesome!!! I'll check it out in a bit!! Thanks.
-
That worked!!!!!! thanks a bunch again guys!!! (printing up a few more mounts/parts today on the old i3 clone, hoping tomorrow to be doing test cube prints on this Core XY at the latest )
-
I'm not sure wich number you're after so I copied the entire response:
…
17:34:17.154 : Last reset 00:07:46 ago, cause: power up
17:34:17.154 : Last software reset time unknown, reason: Stuck in spin loop, spinning module Network, available RAM 8620 bytes (slot 2)
17:34:17.154 : Software reset code 0x2041 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0440f80f, BFAR 0xe000ed38, SP 0x20087e6c
17:34:17.155 : Stack: 000bfb1f 01c8a8c0 fffffff9 00ffffff 20087ebc 20070fe8 01c8a8c0 20087ebc 000a6221 000a6220 21000000 20087ea0 2007a938 00000000 2007376c 200737a8 20087ebc 0000012c 2007aea8 75207369 01c8a8c0 2007376c 000a5b1d 2001376c
...Thanks, that should help me to track the problem down.
I have taken a look at your stack trace, but unfortunately you appear to be using an older build of 1.20.1RC for the Duet 06/085 than the one I have symbols for.
Please can you try the version of RepRapFirmware.bin at https://www.dropbox.com/s/ozuw60nflckpq6c/RepRapFirmware.bin?dl=0. Assuming it keeps restarting in the same way when the Ethernet cable is connected, after letting it do that a couple of times please remove the Ethernet cable, then send M122 via USB and post the output from it here. Also please post your config.g file.
PS - I think the problem may be occurring in the DHCP code. If you are setting the IP address in M552 to zero in order to use DHCP, please try setting a static IP address and see if that resolves the problem.
-
hey, likely nothing but, was just studying and trying to figure out a few things in the firmware, so I just copy pasted into a test editor. just noticed this 1st line in the Config file-
Configuration file for Duet WiFi (firmware version 1.17)
shouldn't that be 1.2X now that I've upgraded? or is that just the "base" and the versions are built on top of it? -
I have taken a look at your stack trace, but unfortunately you appear to be using an older build of 1.20.1RC for the Duet 06/085 than the one I have symbols for.
Please can you try the version of RepRapFirmware.bin at https://www.dropbox.com/s/ozuw60nflckpq … e.bin?dl=0. Assuming it keeps restarting in the same way when the Ethernet cable is connected, after letting it do that a couple of times please remove the Ethernet cable, then send M122 via USB and post the output from it here. Also please post your config.g file.
PS - I think the problem may be occurring in the DHCP code. If you are setting the IP address in M52 to zero in order to use DHCP, please try setting a static IP address and see if that resolves the problem.
I'll get to this later today. In the mean time, I have another peculiarity turning up on my PanelDue console on my other printer when I start it up. A customized TronXY X5S core XY. It says:
[c]
ts Connected
ts Error: M304: Invalid bed heater index '649'
ts HTTP is enabled on port 80 FTP is
enabled on port 21 TEL
ts Wifi module is connected to access point
<name>, IP address 192.168.200.72
[/c]I've gone through my config.g where M304 appears and config-override.g
relevant snippet from config.g
[[language]] ; Heaters M304 H0 P649.2 I2.550 D1569.0 ; Use PID on bed heater using these process parameters ; M301 H1 P11.6 I0.124 D41.4 ; Use PID on hotend using these process parameters M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S270 ; Set temperature limit for heater 1 to 270C ```config-override.g:
[[language]]
; This is a system-generated file - do not edit
; Heater model parameters
M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B1
M301 H0 P649.2 I2.550 D1569.0
M307 H1 A266.1 C89.1 D4.1 S1.00 V0.0 B0
M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0This appears wether or not I include the "H0" parameter in the command. Bug, or me getting it wrong? "ts" and "<name>" are placeholders for time stamp and SSID for the WIFI.</name></name>
-
M304 is for the bed heater and defaults to using heater 0. Do you get the same thing if you use M301 H0 Pnnn Innn Dnnn?
-
It's a bug in the handling of M304. I will fix it in the next 1.21RC version. Meanwhile, if you really want to set the bed PID parameters manually, use M301 H0 instead. However, I suggest instead you tune the bed heater using M303 H0 (optionally with an S parameter too), then either save the results using M500 or manually put the model parameters it finds in your M307 H0 command.
-
OK, Thanks
-
I think you may have nailed it. After update the 0.6 board went int the endless watchdog type reset loop again. I then changed the IP address to a fixed one. After reset and navigating to the new IP address I made contact with DWC again. The info panel on the setting tab now shows
Firmware Name: RepRapFirmware for Duet
Firmware Electronics: Duet 0.6
Firmware Version: 1.21RC0 (2018-01-11)
Web Interface Version: 1.20Debug log as follows:
[[language]] (16:52:01.785) M122 (16:52:45.956) M122 (16:52:45.973) === Diagnostics === (16:52:45.973) Used output buffers: 1 of 32 (1 max) (16:52:45.973) === Platform === (16:52:45.973) RepRapFirmware for Duet version 1.21RC0 running on Duet 0.6 (16:52:45.973) Static ram used: 44836 (16:52:45.973) Dynamic ram used: 40764 (16:52:45.973) Recycled dynamic ram: 416 (16:52:45.973) Stack ram used: 3520 current, 4316 maximum (16:52:45.973) Never used ram: 7972 (16:52:45.973) Last reset 00:00:08 ago, cause: software (16:52:45.973) Last software reset time unknown, reason: Stuck in spin loop, spinning module Network, available RAM 8032 bytes (slot 1) (16:52:45.973) Software reset code 0x2041 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0440f80f, BFAR 0xe000ed38, SP 0x20087e6c (16:52:45.973) Stack: 000c0e17 00000001 fffffff9 c0a8c801 20087ebc 20070fe8 00000001 20087ebc 000a74ff 000a6500 21000000 20087ea0 2007a938 00000000 2007376c 200737a8 20087ebc 0000012c 2007aea8 75207369 01c8a8c0 2007376c 000a6e25 2001376c (16:52:45.973) Error status: 0 (16:52:45.973) Free file entries: 10 (16:52:45.973) SD card 0 detected, interface speed: 21.0MBytes/sec (16:52:45.973) SD card longest block write time: 0.0ms (16:52:45.973) MCU temperature: min 28.2, current 28.5, max 28.7 (16:52:45.973) Date/time: 1970-01-01 00:00:00 (16:52:45.973) Slowest main loop (seconds): 0.000400; fastest: 0.000100 (16:52:45.973) === Move === (16:52:45.973) MaxReps: 0, StepErrors: 0, LaErrors: 0, FreeDm: 100, MinFreeDm 100, MaxWait: 0ms, Underruns: 0, 0 (16:52:45.973) Scheduled moves: 0, completed moves: 0 (16:52:45.973) Bed compensation in use: mesh (16:52:45.973) Bed probe heights: 0.000 0.000 0.000 0.000 0.000 (16:52:45.973) === Heat === (16:52:45.973) Bed heaters = 0, chamberHeaters = -1 -1 (16:52:45.973) Heater 1 is on, I-accum = 0.0 (16:52:45.973) === GCodes === (16:52:45.973) Segments left: 0 (16:52:45.973) Stack records: 2 allocated, 0 in use (16:52:45.973) Movement lock held by null (16:52:45.973) http is idle in state(s) 0 (16:52:45.973) telnet is idle in state(s) 0 (16:52:45.973) file is idle in state(s) 0 (16:52:45.973) serial is ready with "M122" in state(s) 0 (16:52:45.973) aux is idle in state(s) 0 (16:52:45.973) daemon is idle in state(s) 0 (16:52:45.973) queue is idle in state(s) 0 (16:52:45.973) autopause is idle in state(s) 0 (16:52:45.973) Code queue is empty. (16:52:45.973) === Network === (16:52:45.973) Free connections: 16 of 16 (16:52:45.973) Free transactions: 24 of 24 (16:52:45.973) Locked: 0, state: 2, listening: 0x0, 0x0, 0x0 (16:52:45.973) (17:01:22.944) M122 (17:01:22.974) === Diagnostics === (17:01:22.974) Used output buffers: 1 of 32 (1 max) (17:01:22.974) === Platform === (17:01:22.974) RepRapFirmware for Duet version 1.21RC0 running on Duet 0.6 (17:01:22.974) Static ram used: 44836 (17:01:22.974) Dynamic ram used: 40764 (17:01:22.974) Recycled dynamic ram: 416 (17:01:22.974) Stack ram used: 3520 current, 4316 maximum (17:01:22.974) Never used ram: 7972 (17:01:22.974) Last reset 00:00:21 ago, cause: power up (17:01:22.974) Last software reset time unknown, reason: Stuck in spin loop, spinning module Network, available RAM 7860 bytes (slot 3) (17:01:22.974) Software reset code 0x2041 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0440f80f, BFAR 0xe000ed38, SP 0x20087e6c (17:01:22.974) Stack: 000c0e17 00000001 fffffff9 01c8a8c0 20087ebc 20070fe8 00000001 20087ebc 000a74ff 000a74fe 21000000 2007aeac 2007a938 00000000 2007376c 200737a8 20087ebc 0000012c 2007aea8 2007a9c0 01c8a8c0 2007376c 000a6e25 2001376c (17:01:22.974) Error status: 0 (17:01:22.974) Free file entries: 10 (17:01:22.974) SD card 0 detected, interface speed: 21.0MBytes/sec (17:01:22.974) SD card longest block write time: 0.0ms (17:01:22.974) MCU temperature: min 19.5, current 28.0, max 28.2 (17:01:22.974) Date/time: 1970-01-01 00:00:00 (17:01:22.974) Slowest main loop (seconds): 0.000621; fastest: 0.000100 (17:01:22.974) === Move === (17:01:22.974) MaxReps: 0, StepErrors: 0, LaErrors: 0, FreeDm: 100, MinFreeDm 100, MaxWait: 0ms, Underruns: 0, 0 (17:01:22.974) Scheduled moves: 0, completed moves: 0 (17:01:23.031) Bed compensation in use: mesh (17:01:23.031) Bed probe heights: 0.000 0.000 0.000 0.000 0.000 (17:01:23.031) === Heat === (17:01:23.031) Bed heaters = 0, chamberHeaters = -1 -1 (17:01:23.031) Heater 1 is on, I-accum = 0.0 (17:01:23.031) === GCodes === (17:01:23.031) Segments left: 0 (17:01:23.031) Stack records: 2 allocated, 0 in use (17:01:23.031) Movement lock held by null (17:01:23.031) http is idle in state(s) 0 (17:01:23.031) telnet is idle in state(s) 0 (17:01:23.031) file is idle in state(s) 0 (17:01:23.031) serial is ready with "M122" in state(s) 0 (17:01:23.031) aux is idle in state(s) 0 (17:01:23.031) daemon is idle in state(s) 0 (17:01:23.031) queue is idle in state(s) 0 (17:01:23.031) autopause is idle in state(s) 0 (17:01:23.031) Code queue is empty. (17:01:23.031) === Network === (17:01:23.031) Free connections: 16 of 16 (17:01:23.031) Free transactions: 24 of 24 (17:01:23.031) Locked: 0, state: 4, listening: 0x20071bf0, 0x20071bd4, 0x0 (17:01:23.031) (17:02:06.429) M122 (17:02:06.460) === Diagnostics === (17:02:06.460) Used output buffers: 1 of 32 (15 max) (17:02:06.460) === Platform === (17:02:06.460) RepRapFirmware for Duet version 1.21RC0 running on Duet 0.6 (17:02:06.501) Static ram used: 44836 (17:02:06.501) Dynamic ram used: 40964 (17:02:06.501) Recycled dynamic ram: 216 (17:02:06.501) Stack ram used: 3520 current, 4484 maximum (17:02:06.501) Never used ram: 7804 (17:02:06.501) Last reset 00:01:05 ago, cause: power up (17:02:06.501) Last software reset time unknown, reason: Stuck in spin loop, spinning module Network, available RAM 7860 bytes (slot 3) (17:02:06.501) Software reset code 0x2041 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0440f80f, BFAR 0xe000ed38, SP 0x20087e6c (17:02:06.501) Stack: 000c0e17 00000001 fffffff9 01c8a8c0 20087ebc 20070fe8 00000001 20087ebc 000a74ff 000a74fe 21000000 2007aeac 2007a938 00000000 2007376c 200737a8 20087ebc 0000012c 2007aea8 2007a9c0 01c8a8c0 2007376c 000a6e25 2001376c (17:02:06.501) Error status: 0 (17:02:06.501) Free file entries: 10 (17:02:06.501) SD card 0 detected, interface speed: 21.0MBytes/sec (17:02:06.501) SD card longest block write time: 0.0ms (17:02:06.501) MCU temperature: min 27.9, current 29.4, max 29.8 (17:02:06.501) Date/time: 1970-01-01 00:00:00 (17:02:06.501) Slowest main loop (seconds): 0.004526; fastest: 0.000103 (17:02:06.501) === Move === (17:02:06.501) MaxReps: 0, StepErrors: 0, LaErrors: 0, FreeDm: 100, MinFreeDm 100, MaxWait: 0ms, Underruns: 0, 0 (17:02:06.501) Scheduled moves: 0, completed moves: 0 (17:02:06.501) Bed compensation in use: mesh (17:02:06.501) Bed probe heights: 0.000 0.000 0.000 0.000 0.000 (17:02:06.501) === Heat === (17:02:06.501) Bed heaters = 0, chamberHeaters = -1 -1 (17:02:06.501) Heater 1 is on, I-accum = 0.0 (17:02:06.501) === GCodes === (17:02:06.501) Segments left: 0 (17:02:06.501) Stack records: 2 allocated, 0 in use (17:02:06.501) Movement lock held by null (17:02:06.501) http is idle in state(s) 0 (17:02:06.501) telnet is idle in state(s) 0 (17:02:06.501) file is idle in state(s) 0 (17:02:06.501) serial is ready with "M122" in state(s) 0 (17:02:06.501) aux is idle in state(s) 0 (17:02:06.501) daemon is idle in state(s) 0 (17:02:06.501) queue is idle in state(s) 0 (17:02:06.501) autopause is idle in state(s) 0 (17:02:06.501) Code queue is empty. (17:02:06.501) === Network === (17:02:06.501) Free connections: 16 of 16 (17:02:06.501) Free transactions: 24 of 24 (17:02:06.501) Locked: 0, state: 4, listening: 0x20071bf0, 0x20071bd4, 0x0 (17:02:06.501) (17:02:45.243) Webserver: rejecting message with: not found (17:02:45.292) Webserver: rejecting message with: not found (17:02:45.353) Webserver: rejecting message with: not found (17:02:46.839) Webserver: rejecting message with: not found ****** FROM HERE THE 0.6 BOARD IS UP AND RUNNING NORMALLY ******** (17:03:57.367) M552 (17:03:57.407) Network is enabled, configured IP address: 192.168.200.101, actual IP address: 192.168.200.101 (17:04:19.252) M111 S1 P1 (17:04:19.282) Debugging enabled for modules: Network(1) (17:04:19.282) 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) (17:04:19.282) (17:04:35.020) M111 S1 P2 (17:04:35.050) Debugging enabled for modules: Network(1) Webserver(2) (17:04:35.050) Debugging disabled for modules: Platform(0) GCodes(3) Move(4) Heat(5) DDA(6) Roland(7) Scanner(8) PrintMonitor(9) Storage(10) PortControl(11) DuetExpansion(12) FilamentSensors(13) WiFi(14) (17:04:35.050) (17:04:35.138) Incoming transaction: Type connected at local port 80 (remote port 57220) (17:04:35.187) Incoming transaction: Type receiving at local port 80 (remote port 57220) (17:04:35.187) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:35.187) ConnectionLost called for local port 80 (remote port 57220) (17:04:35.187) Incoming transaction: Type connected at local port 80 (remote port 57221) (17:04:35.187) Incoming transaction: Type receiving at local port 80 (remote port 57221) (17:04:35.187) HTTP req, command words { GET /rr_reply HTTP/1.1 }, parameters { } (17:04:35.187) Sending G-Code reply to client 1 of 1 (length 244) (17:04:35.187) ConnectionLost called for local port 80 (remote port 57221) (17:04:35.424) Incoming transaction: Type connected at local port 80 (remote port 57222) (17:04:35.462) Incoming transaction: Type receiving at local port 80 (remote port 57222) (17:04:35.462) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:35.462) ConnectionLost called for local port 80 (remote port 57222) (17:04:35.709) Incoming transaction: Type connected at local port 80 (remote port 57223) (17:04:35.758) Incoming transaction: Type receiving at local port 80 (remote port 57223) (17:04:35.758) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:35.758) ConnectionLost called for local port 80 (remote port 57223) (17:04:35.988) Incoming transaction: Type connected at local port 80 (remote port 57224) (17:04:36.030) Incoming transaction: Type receiving at local port 80 (remote port 57224) (17:04:36.030) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=2 } (17:04:36.030) ConnectionLost called for local port 80 (remote port 57224) (17:04:36.275) Incoming transaction: Type connected at local port 80 (remote port 57226) (17:04:36.322) Incoming transaction: Type receiving at local port 80 (remote port 57226) (17:04:36.322) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:36.322) ConnectionLost called for local port 80 (remote port 57226) (17:04:36.555) Incoming transaction: Type connected at local port 80 (remote port 57227) (17:04:36.604) Incoming transaction: Type receiving at local port 80 (remote port 57227) (17:04:36.604) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:36.604) ConnectionLost called for local port 80 (remote port 57227) (17:04:36.838) Incoming transaction: Type connected at local port 80 (remote port 57228) (17:04:36.881) Incoming transaction: Type receiving at local port 80 (remote port 57228) (17:04:36.881) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:36.881) ConnectionLost called for local port 80 (remote port 57228) (17:04:37.121) Incoming transaction: Type connected at local port 80 (remote port 57229) (17:04:37.164) Incoming transaction: Type receiving at local port 80 (remote port 57229) (17:04:37.164) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:37.164) ConnectionLost called for local port 80 (remote port 57229) (17:04:37.401) Incoming transaction: Type connected at local port 80 (remote port 57230) (17:04:37.438) Incoming transaction: Type receiving at local port 80 (remote port 57230) (17:04:37.438) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:37.438) ConnectionLost called for local port 80 (remote port 57230) (17:04:37.676) Incoming transaction: Type connected at local port 80 (remote port 57231) (17:04:37.710) Incoming transaction: Type receiving at local port 80 (remote port 57231) (17:04:37.710) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:37.710) ConnectionLost called for local port 80 (remote port 57231) (17:04:37.957) Incoming transaction: Type connected at local port 80 (remote port 57232) (17:04:37.998) Incoming transaction: Type receiving at local port 80 (remote port 57232) (17:04:37.998) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:37.998) ConnectionLost called for local port 80 (remote port 57232) (17:04:38.237) Incoming transaction: Type connected at local port 80 (remote port 57233) (17:04:38.279) Incoming transaction: Type receiving at local port 80 (remote port 57233) (17:04:38.279) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:38.279) ConnectionLost called for local port 80 (remote port 57233) (17:04:38.517) Incoming transaction: Type connected at local port 80 (remote port 57234) (17:04:38.557) Incoming transaction: Type receiving at local port 80 (remote port 57234) (17:04:38.557) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:38.557) ConnectionLost called for local port 80 (remote port 57234) (17:04:38.797) Incoming transaction: Type connected at local port 80 (remote port 57235) (17:04:38.837) Incoming transaction: Type receiving at local port 80 (remote port 57235) (17:04:38.837) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=2 } (17:04:38.837) ConnectionLost called for local port 80 (remote port 57235) (17:04:39.082) Incoming transaction: Type connected at local port 80 (remote port 57236) (17:04:39.122) Incoming transaction: Type receiving at local port 80 (remote port 57236) (17:04:39.122) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:39.122) ConnectionLost called for local port 80 (remote port 57236) (17:04:39.366) Incoming transaction: Type connected at local port 80 (remote port 57237) (17:04:39.410) Incoming transaction: Type receiving at local port 80 (remote port 57237) (17:04:39.410) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:39.410) ConnectionLost called for local port 80 (remote port 57237) (17:04:39.654) Incoming transaction: Type connected at local port 80 (remote port 57238) (17:04:39.682) Incoming transaction: Type receiving at local port 80 (remote port 57238) (17:04:39.682) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:39.682) ConnectionLost called for local port 80 (remote port 57238) (17:04:39.933) Incoming transaction: Type connected at local port 80 (remote port 57239) (17:04:39.974) Incoming transaction: Type receiving at local port 80 (remote port 57239) (17:04:39.974) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:39.974) ConnectionLost called for local port 80 (remote port 57239) (17:04:40.210) Incoming transaction: Type connected at local port 80 (remote port 57240) (17:04:40.245) Incoming transaction: Type receiving at local port 80 (remote port 57240) (17:04:40.245) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:40.245) ConnectionLost called for local port 80 (remote port 57240) (17:04:40.497) Incoming transaction: Type connected at local port 80 (remote port 57242) (17:04:40.539) Incoming transaction: Type receiving at local port 80 (remote port 57242) (17:04:40.539) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:40.539) ConnectionLost called for local port 80 (remote port 57242) (17:04:40.778) Incoming transaction: Type connected at local port 80 (remote port 57243) (17:04:40.796) Incoming transaction: Type receiving at local port 80 (remote port 57243) (17:04:40.796) HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=1 } (17:04:40.796) ConnectionLost called for local port 80 (remote port 57243) (17:04:41.019) M111 S0 (17:04:41.035)
-
I have just put an old 06 board that I had spare onto an new setup this evening and I can confirm and 100% replicate Captain_sq's findings. Without en ethernet cable attached, everything works fine (USB communication and PanelDue). However, if an IP address is not specified either in the config file or manually over USB using M552, as soon as the ethernet cable is plugged in the board just goes into a boot loop and communication via USB and PanelDue die. If an IP address is specified beforehand, then there are no problems… other than the fact that I don't want to use hard-coded IPs on my system.
I rolled back to version 1.19 and this behavior stops, anything newer and it's dead.
-
Thanks @Captain_sq, that confirms where the problem lies. Unfortunately I have not been able to reproduce the problem here.
It looks like the DHCP code in the Lwip TCP/IP stack is looping indefinitely. I've looked at the code and I didn't see any obvious cause. However, some changes in the functions concerned have been made in version 2 of Lwip, and I have back-ported these to the version used by RepRapFirmware. So please can you try the new binary at https://www.dropbox.com/s/ozuw60nflckpq6c/RepRapFirmware.bin?dl=0 and see if it resolves the problem when you set the IP address in the M552 commandback to all zeros. If it doesn't, please post another M122 report obtained after the new firmware reboots in the same way.
-
Thanks, I'll try it when I come home from work today.
The fact that you are not able to reproduce the phenomena leads me to think about the possibility of HW revision changes in the affected chips differ from your/mine board. Any errata info available?
-
I think that's unlikely. The only chip involved is the SAM3X8E and the datasheets indicate that it hasn't been revised in years (Microchip considers SAM3 chips to be "legacy devices" these days). I think the different behaviour is more likely to be due to a difference in the DHCP response from your router or its timing.
-
Tried the last FW you sent. Unfortunately, the problem remains (when using DHCP).
FWIW, I have an ASUS RT-N66U Router. Works like a charm with all my other devices. Here's the Duet info:[[language]] (21:06:41.110) M122 (21:06:41.267) === Diagnostics === (21:06:41.267) Used output buffers: 1 of 32 (1 max) (21:06:41.267) === Platform === (21:06:41.267) RepRapFirmware for Duet version 1.21RC0+1 running on Duet 0.6 (21:06:41.267) Static ram used: 44836 (21:06:41.267) Dynamic ram used: 40764 (21:06:41.267) Recycled dynamic ram: 416 (21:06:41.267) Stack ram used: 3520 current, 4316 maximum (21:06:41.267) Never used ram: 7972 (21:06:41.267) Last reset 00:00:33 ago, cause: software (21:06:41.267) Last software reset time unknown, reason: Stuck in spin loop, spinning module Network, available RAM 8032 bytes (slot 3) (21:06:41.267) Software reset code 0x2041 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0440f80f, BFAR 0xe000ed38, SP 0x20087e64 (21:06:41.267) Stack: 000c10d7 00000001 fffffff9 00000001 20087ebc 20070fe8 00000001 20087ebc 000a76e3 000a7fb4 21000000 2007a9ac 0000012c 00000123 00000000 2007376c 200737a8 2007a938 00000127 2007aea8 000000f0 be5a1f3c 01c8a8c0 2007376c (21:06:41.267) Error status: 0 (21:06:41.267) Free file entries: 10 (21:06:41.267) SD card 0 detected, interface speed: 21.0MBytes/sec (21:06:41.267) SD card longest block write time: 0.0ms (21:06:41.267) MCU temperature: min 24.0, current 25.8, max 26.1 (21:06:41.267) Date/time: 1970-01-01 00:00:00 (21:06:41.267) Slowest main loop (seconds): 0.000401; fastest: 0.000101 (21:06:41.267) === Move === (21:06:41.267) MaxReps: 0, StepErrors: 0, LaErrors: 0, FreeDm: 100, MinFreeDm 100, MaxWait: 0ms, Underruns: 0, 0 (21:06:41.267) Scheduled moves: 0, completed moves: 0 (21:06:41.267) Bed compensation in use: mesh (21:06:41.267) Bed probe heights: 0.000 0.000 0.000 0.000 0.000 (21:06:41.267) === Heat === (21:06:41.267) Bed heaters = 0, chamberHeaters = -1 -1 (21:06:41.267) Heater 1 is on, I-accum = 0.0 (21:06:41.267) === GCodes === (21:06:41.267) Segments left: 0 (21:06:41.267) Stack records: 2 allocated, 0 in use (21:06:41.267) Movement lock held by null (21:06:41.267) http is idle in state(s) 0 (21:06:41.267) telnet is idle in state(s) 0 (21:06:41.267) file is idle in state(s) 0 (21:06:41.267) serial is ready with "M122" in state(s) 0 (21:06:41.267) aux is idle in state(s) 0 (21:06:41.267) daemon is idle in state(s) 0 (21:06:41.267) queue is idle in state(s) 0 (21:06:41.267) autopause is idle in state(s) 0 (21:06:41.267) Code queue is empty. (21:06:41.267) === Network === (21:06:41.267) Free connections: 16 of 16 (21:06:41.267) Free transactions: 24 of 24 (21:06:41.267) Locked: 0, state: 2, listening: 0x0, 0x0, 0x0 (21:06:41.267)
-
Have you given up on this? I have no problems to live with the quirk as it is an old legacy board and does not disrupt operation when the workaround has been applied. Although, maybe this should be documented in a FAQ or in the WIKI.
/Thom
-
Are there any plans to enable network drive functionality on the duet? I ask because it would make scripting functionality a lot simpler, I'm planning to make an attachment to allow a USB dial indicator to write a CSV mesh levelling file by just dragging it across the bed without lifting.
-
Have you given up on this? I have no problems to live with the quirk as it is an old legacy board and does not disrupt operation when the workaround has been applied. Although, maybe this should be documented in a FAQ or in the WIKI.
/Thom
Please can you run the 1.21RC1 release and get another M122 report when the problems happen again, as I no longer have the symbol files and assembly listing for that temporary release so I can't relate the software reset data to the code.
-
Are there any plans to enable network drive functionality on the duet? I ask because it would make scripting functionality a lot simpler, I'm planning to make an attachment to allow a USB dial indicator to write a CSV mesh levelling file by just dragging it across the bed without lifting.
We have no plans to do this with the current Duets. There probably isn't enough memory to run a protocol like CIFS or NFS, and the protocols that provide a block-level interface over the network can't handle local reads/writes at the same time. But the next generation Duets will eventually be able to provide this.
Meanwhile there are HTTP and FTP commands available to manipulate files on the SD card via the network.