FTP: WiFi reported error: Listen failed
-
I'm using wget or curl from a terminal to download config files from the sys folder on the SD card.
The files in question are small - typically a few hundred bytes, up to max. 4.2kB.I'm using FTP to do download & backup all config files to my local computer, since DWC does not have a "Download All" button.
I'll provide a USB log when I'm back with my machine - I currently only have remote access.
-
I'm using FTP to do download & backup all config files to my local computer, since DWC does not have a "Download All" button.
Yes it does - perhaps you are using an old version. Click on the check box next to "File name" to select all files, then right click on any file and select "Download as ZIP".
-
You are right, DWC has a "Download as ZIP", however, it is client-side. So if I want to use it from a script (because automated backups etc), I need a bit more scripting. If I can't get FTP to work, I can fallback to HTTP & DWC.
Here is the debug log you requested:
e is predicted to reach 554C. Done! RepRapFirmware for Duet WiF M122 === Diagnostics === Used output buffers: 1 of 32 (4 max) === Platform === RepRapFirmware for Duet WiFi version 1.20 running on Duet WiFi 1.0 Board ID: 08DDM-9FAM2-LW4S4-XXXXX-XXXXX-XXXXX Static ram used: 15448 Dynamic ram used: 99120 Recycled dynamic ram: 120 Stack ram used: 3576 current, 4528 maximum Never used ram: 11856 Last reset 00:00:21 ago, cause: reset button or watchdog Last software reset time unknown, reason: User, spinning module GCodes, available RAM 11776 bytes (slot 1) Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0441f000, BFAR 0xe000ed38, SP 0xffffffff Error status: 0 Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms MCU temperature: min 33.7, current 34.6, max 34.7 Supply voltage: min 24.1, current 24.2, max 24.4, under voltage events: 0, over voltage events: 0 Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Date/time: 1970-01-01 00:00:00 Cache data hit count 61188730 Slowest main loop (seconds): 0.035510; fastest: 0.000042 === Move === MaxReps: 0, StepErrors: 0, FreeDm: 240, MinFreeDm 240, MaxWait: 0ms, Underruns: 0, 0 Scheduled moves: 0, completed moves: 0 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 1 is on, I-accum = 0.0 === 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 ready with "M122" 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 state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.20 WiFi MAC address 5c:cf:7f:a4:a5:aa WiFi Vcc 3.35, reset reason Turned on by main processor WiFi flash size 4194304, free heap 13232 WiFi IP address 10.0.0.42 WiFi signal strength -42dBm, reconnections 0, sleep mode modem HTTP sessions: 0 of 8 Socket states: 0 0 0 0 0 0 0 0 Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) ok M111 S1 P14 Debugging enabled for modules: WiFi(14) Debugging disabled for modules: Platform(0) Network(1) Webserver(2) GCodes(3) Move(4) Heat(5) DDA(6) Roland(7) Scanner(8) PrintMonitor(9) Storage(10) PortControl(11) DuetExpansion(12) FilamentSensors(13) ok <curl command="" executed="">WiFi reported error: Listen failed WiFi reported error: Listen failed M122 === Diagnostics === Used output buffers: 2 of 32 (10 max) === Platform === RepRapFirmware for Duet WiFi version 1.20 running on Duet WiFi 1.0 Board ID: 08DDM-9FAM2-LW4S4-XXXXX-XXXXX-XXXXX Static ram used: 15448 Dynamic ram used: 99120 Recycled dynamic ram:WiFi: drop: 120 Stack ram used: 3576 current, 4688 maximum Never used ram: 11696 Last reset 00:01:46 ago, cause: reset button or watchdog Last software reset time unknown, reason: User, spinning module GCodes, available RAM 11776 bytes (slot 1) Software reset code 0xWiFi: xmit: 0 0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0441f000, BFAR 0xe000ed38, SP 0xffffffff Error status: 0 Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms MCU temperature: min 33.7, current 33.9WiFi: recv: 0 , max 35.0 Supply voltage: min 24.1,WiFi: fw: 0 current 24.2, max 24.4, under voltage events: 0, over voltage events: 0 Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max not available DriverWiFi: drop: 0 3: standstill, SG min/max not available Driver 4: standstill, SG min/max WiFi: chkerr: 0 not available Date/time: 2018-01-02 12:27:47 Cache data hit count 392889880 Slowest main loop (seconds): 0.152726; fastest: 0.000085 === Move === MaxReps: 0, StepErrors: 0, FreeDm: 2WiFi: lenerr: 0 40, MinFreeDm 240, MaxWait: 0ms, Underruns: 0, 0 Scheduled moves: 0, completed moves: 0 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 1 is on, I-accum = 0WiFi: memerr: 0 .0 === 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 ready with "M122" in state(s) 0 aux is idle in state(s) 0 daemonWiFi: rterr: 0 is idle in state(s) 0 queue is idle in state(s) WiFi: proterr: 0 0 autopause is idle in state(s) 0 Code queue is empty. Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.20 WiFi MAC WiFi: opterr: 0 address 5c:cf:7f:a4:a5:aa WiFi Vcc 3.35, reset reason Turned on by main processoWiFi: err: 0 r WiFi flash size 4194304, free heap 13160 WiFi IP address 10.0.0.42 WiFi signal strength -44dBm, reconnections 0, sleep mode modem HTTP sessions: 2 of 8 Socket states: 0 0 0 0WiFi: cachehit: 0 0 0 0 0 Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) ok WiFi: WiFi: xmit: 5 WiFi: recv: 4 WiFi: fw: 0 WiFi: drop: 0 WiFi: chkerr: 0 WiFi: lenerr: 0 WiFi: memerr: 0 WiFi: rterr: 0 WiFi: proterr: 0 WiFi: opterr: 0 WiFi: err: 0 WiFi: cachehit: 117 WiFi: WiFi: xmit: 217 WiFi: recv: 169 WiFi: fw: 0 WiFi: drop: 4 WiFi: chkerr: 0 WiFi: lenerr: 0 WiFi: memerr: 0 WiFi: rterr: 0 WiFi: proterr: 0 WiFi: opterr: 0 WiFi: err: 0 WiFi: cachehit: 0 WiFi: WiFi: xmit: 37 WiFi: recv: 0 WiFi: drop: 0 WiFi: chkerr: 0 WiFi: lenerr: 0 WiFi: memerr: 0 WiFi: proterr: 0 WiFi: rx_v1: 0 WiFi: rx_group: 0 WiFi: rx_general: 0 WiFi: rx_report: 0 WiFi: tx_join: 14 WiFi: tx_leave: 12 WiFi: tx_report: 11 WiFi: WiFi: xmit: 0 WiFi: recv: 0</curl>
I can't see any obvious (additional) error messages, beside of "WiFi reported error: Listen failed" right when I execute [c]curl -vvv ftp://10.0.0.42/sys/bed.g[/c]. It works twice, and the third time it errors.
I tried to wait with each command to capture the entire log output, but I think there is some multithreading-print weirdness going on (is that even possible?), because some of the lines are interrupted by other output prints… -
Thanks. I will release a new version of DuetWiFiServer soon (maybe later today) which provides additional debug information, so that I can identiy the cause of the "Listen failed" messages.
-
You could try to download using curl
-
@totalitarian: I'm aware that there are other way to download files.
However, this still does not resolve the general issue of FTP killing Wifi.My idea was to use FTP to download ALL files in [c]/sys[/c]. With wget or curl this would be a CLI one-liner.
Using HTTP, it would be a few more - nothing complicated, but beside the point I want to achieve.@dc42
I'm happy to help & debug this until it is resolved - I'm not looking for a quick workaround.
Let me know when you have a new DuetWiFiServer FW for me to test. -
@resam, no worries, just wanted to offer a temp workaround
-
@dc42: Here the latest debug log:
M111 S1 P14 Debugging enabled for modules: WiFi(14) Debugging disabled for modules: Platform(0) Network(1) Webserver(2) GCodes(3) Move(4) Heat(5) DDA(6) Roland(7) Scanner(8) PrintMonitor(9) Storage(10) PortControl(11) DuetExpansion(12) FilamentSensors(13) ok WiFi: fw: 0../src/Listener.cpp(134): tcp_listen failed WiFi reported error: Listen failed WiFi reported error: Listen failed WiFi: ../src/Listener.cpp(134): tcp_listen failed WiFi: ../src/Listener.cpp(134): tcp_listen failed WiFi reported error: Listen failed WiFi reported error: Listen failed WiFi: ../src/Listener.cpp(134): tcp_listen failed M122 === Diagnostics === Used output buffers: 3 of 32 (11 max) === Platform === RepRapFirmware for Duet WiFi version 1.20.1RC2 running on Duet WiFi 1.0 Board ID: 08DDM-9FAM2-LW4S4-XXXXX-XXXXX-XXXXX Static ram used: 15448 Dynamic ram used: 99232 Recycled dynamicWiFi: ram: 4104 Stack ram used: 3584 current, 4624 maximum Never used ram: 7664 Last reset 00:05:37 ago, cause: software Last software reset at 2018-01-02 12:38, reason: User, spinning module GCodes, available RAM 11696 bytes (slot 2) Software reset code 0x0003WiFi: xmit: 0 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0WiFi: recv: 0 441f000, BFAR 0xe000ed38, SP 0xffffffff Error status: 0 Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms MCU temperature: min 33.2, current 34.2, maWiFi: fw: 0 x 34.4 Supply voltage: min 24.1, current 24.1, max 24.4, under voltage events: 0,WiFi: drop: 0 over voltage events: 0 Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max not available Driver 3: WiFi: chkerr: 0 standstill, SG min/max not available Driver 4: standstill, SG min/max not available Date/time: 2018-01-02 23:26:16 WiFi: lenerr: 0 Cache data hit count 1283387609 Slowest main loop (seconds): 0.154294; fastest: 0.000100 === Move === MaxReps: 0, StepErrors: 0, LaErrors: 0,WiFi: memerr: 0 FreeDm: 240, MinFreeDm 240, MaxWait: 0ms, Underruns: 0, 0 Scheduled moves: 0, completed moves: 0 Bed compensation in use: none Bed probe heights: WiFi: rterr: 0 0.000 0.000 0.000 0.000 0.000 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 1 is on, IWiFi: proterr: 0 -accum = 0.0 === 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 iWiFi: opterr: 0 n state(s) 0 serial is ready with "M122" in state(s) 0 aux is idle in state(sWiFi: err: 0 ) 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 state is running WiFi module is connected to access point Failed messages: pending 0, notreWiFi: cachehit: 0 ady 0, noresp 0 WiFi firmware version 1.20WiFi: +1 WiFi MAC address 5c:cf:7f:a4:a5:aa WiFi Vcc 3.35, reset reason Turned on by main processor WiFi flash size 4194304, free heap 14464 WiFi IP address 10.0.0.42 WiFi signal strength -44dBm, reconnections 0, sleep mode modem HTTP sessions: 1 of 8 Socket sWiFi: xmit: 6 tatWiFi: recv: 5 es: 0 0 0 0 0 0 0 0 Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) ok WiFi: fw: 0 WiFi: drop: 0 WiFi: chkerr: 0 WiFi: lenerr: 0 WiFi: memerr: 0 WiFi: rterr: 0 WiFi: proterr: 0 WiFi: opterr: 0 WiFi: err: 0 WiFi: cachehit: 167 WiFi: WiFi: xmit: 262 WiFi: recv: 230 WiFi: fw: 0 WiFi: drop: 0 WiFi: chkerr: 0 WiFi: lenerr: 0 WiFi: memerr: 0 WiFi: rterr: 0 WiFi: proterr: 0 WiFi: opterr: 0 WiFi: err: 0 WiFi: cachehit: 0 WiFi: WiFi: xmit: 34 WiFi: recv: 0 WiFi: drop: 0 WiFi: chkerr: 0 WiFi: lenerr: 0 WiFi: memerr: 0 WiFi: proterr: 0 WiFi: rx_v1: 0 WiFi: rx_group: 0 WiFi: rx_general: 0 WiFi: rx_report: 0 WiFi: tx_join: 14 WiFi: tx_leave: 12 WiFi: tx_report: 8 WiFi: WiFi: xmit: 0 WiFi: recv: 0
The important part seems to be: [c]WiFi: ../src/Listener.cpp(134): tcp_listen failed[/c].
I noticed that the initial FTP commands work, and once it tries to switch over to passive mode, it fails. -
Thanks, that's the extra detail that I wanted. Now I just need to work out why that is happening. Are you able to send me a Wireshark trace of the network traffic around that point?
EDIT: never mind, I have reproduced the problem.
-
I have fixed this issue. The fix will be in firmware RRF 1.21RC1 and DWS 1.21RC1, both of which which I hope to release soon.