No connection to Duet-Wifi
-
@fma:
I just noticed, when the wifi restarts, it says: 'reset reason: Exception'…
That explains it! In that case I suggest you try the 1.19beta series firmware. See https://duet3d.com/wiki/DuetWiFiFirmware_1.19beta.
-
I get en error when I try to execute the SetNetwork macro:
M98 PSetNetwork
<<< 20:37:39.937 : Can't open 0:/sys/0 to read, error code 4What can be the problem?
-
Ok, I gave the gcode manually.
This time, when I try to connect on the web interface, I see:
20:46:54.363 : New conn on socket 0 for local port 0
20:46:54.363 : HTTP connection accepted
20:46:54.366 : Found responder
20:46:54.366 : Received 383 bytes
20:46:54.370 : Sending reply, file = yes
20:46:54.372 : HTTP req, command words { GET / HTTP/1.1 }, parameters { }
20:46:54.372 : New conn on socket 1 for local port 0
20:46:54.372 : HTTP connection accepted
20:46:54.374 : Found responderBut still no answer :o(((
-
@fma:
I get en error when I try to execute the SetNetwork macro:
M98 PSetNetwork
<<< 20:37:39.937 : Can't open 0:/sys/0 to read, error code 4What can be the problem?
I don't know, the M98 command works fine for me, whether I provide name of a file that is present, or the name of a file that isn't (I get an error message which includes the name of the file I asked for). But if you created SetNetwork in the /macros folder, you need to send M98 P/macros/SetNetwork to run it.
Or perhaps you have something strange in tur SetNetwork macro file?
-
@fma:
Ok, I gave the gcode manually.
This time, when I try to connect on the web interface, I see:
20:46:54.363 : New conn on socket 0 for local port 0
20:46:54.363 : HTTP connection accepted
20:46:54.366 : Found responder
20:46:54.366 : Received 383 bytes
20:46:54.370 : Sending reply, file = yes
20:46:54.372 : HTTP req, command words { GET / HTTP/1.1 }, parameters { }
20:46:54.372 : New conn on socket 1 for local port 0
20:46:54.372 : HTTP connection accepted
20:46:54.374 : Found responderBut still no answer :o(((
That debug info looks correct except that it should say port 80 not port 0. If it is sending the reply to port 0, that would explain the problem. But if the request really was addressed to port 0, the HTTP responder should not have accepted it, unless you told it that you were using port 0 in a M586 command.
Can you run Wireshark on the PC and get a trace of the connection attempt? Filter the Wireshark display by the IP address of the Duet.
-
I don't know, the M98 command works fine for me, whether I provide name of a file that is present, or the name of a file that isn't (I get an error message which includes the name of the file I asked for). But if you created SetNetwork in the /macros folder, you need to send M98 P/macros/SetNetwork to run it.
Or perhaps you have something strange in tur SetNetwork macro file?
The content is correct, I triple checked. And it gives the same result with the complete path.
-
Can you run Wireshark on the PC and get a trace of the connection attempt? Filter the Wireshark display by the IP address of the Duet.
I did; just tell me the format you want, and where to send the trace. I can send you a pcap file, or a pure ascii trace…
-
I made a new test, and this time I get:
09:15:28.941 : New conn on socket 0 for local port 80
09:15:28.943 : HTTP connection accepted
09:15:28.943 : Found responder
09:15:28.943 : Received 404 bytes
09:15:28.947 : Sending reply, file = yes
09:15:28.949 : HTTP req, command words { GET / HTTP/1.1 }, parameters { }but still no answer… Looks like the debug info was messy.
Could it be a hardware problem? I ask because firmware 1.18.1 was crashing... And the fact I can't load a file with M98 (I check the SD card, which is not corrupted).
BTW, if the SD card can't be read, it could also explain why it does not answer... But firmware was correctly loaded from card! I'm puzzled.
-
To check that the SD card can be read, run M503.
You can also use M98 to run other macros, e.g. M98 Phomeall.g
If the Wireshark trace is short, post it here as ascii. Otherwise put the .pcap file on a file sharing site and post a link to it.
We know that the pre-1.19 WiFi module firmware used to crash repeatedly for a very small number of users. The same Duet would work perfectly when attached to one network but crash when connected to a different network. We never tracked this down because we couldn't reproduce it. The version 1.19 WiFi firmware is largely rewritten, uses very little of the ESP8266 Arduino core, and shifts most of the server functionality to the main processor of the Duet where we can track down any issues much more easily.
HTH David
-
Ok, I see. pcap file is here:
https://sys.gbiloba.org/owncloud/index.php/s/wXQK1JBNIyaoRNm
But I'm now in troubles: I tried to totally erase the firmware, using the erase button, but I'm unable to flash it again! I tried to use bossa, a free linux tool (still waiting from Atmel web site for their soft, but I don't get any notification once registered. When things go wrong…). The strange thing is I still have /dev/ttyACM0 port, but nothing related to bossa.
[2634139.039937] usb 5-1: New USB device found, idVendor=03eb, idProduct=6124
[2634139.039941] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[2634139.043067] cdc_acm 5-1:1.0: ttyACM0: USB ACM deviceBut I'm also unable to send gcodes on this port, so I think there is no more firmware in the flash…
-
Ok, I was able to flash again the firmware using Atmel tool. But it didn't fix the com problem.
I tried to enable telnet and ftp. Only ftp works; telnet does not answer neither.
Strange thing: after the telnet connexion, I initiate a new web connexion, and I got:
12:39:43.153 : New conn on socket 0 for local port 23 <<<<<<<
12:39:43.153 : HTTP connection accepted
12:39:43.155 : Found responder
12:39:43.155 : Received 404 bytes
12:39:43.159 : Sending reply, file = yes
12:39:43.162 : HTTP req, command words { GET / HTTP/1.1 }, parameters { }
12:40:04.388 : Client disconnected on socket 0
12:40:04.388 : Can't send anymorePort number seems to be wrong (I think it is only in debug message).
-
Arrgglll!!!! I made a test with a windows machine, running firefox, and it works!!!
WTF? Why firefox nor chromium does not work from my linux machine???!!???
-
If you get a Wireshatk trace from the Windows machine too, perhaps we be able to spot the difference.
-
If all my problems are related to the wifi module, it would be better for me to switch to the ethernet version.
Is it possible to make an exchange?
-
Here is the pcap file recorded from a Windows machine:
https://sys.gbiloba.org/owncloud/index.php/s/DssgVCz78OtqBGq
-
@fma:
If all my problems are related to the wifi module, it would be better for me to switch to the ethernet version.
Is it possible to make an exchange?
That will depend on the policy of whoever you purchased it from and/or consumer rights legislation in your country.
-
@fma:
Here is the pcap file recorded from a Windows machine:
https://sys.gbiloba.org/owncloud/index.php/s/DssgVCz78OtqBGq
Thanks. The traces show that your Windows PC uses an MSS of 1460 and your Linux machine uses 1452. If I set the MTU on my Windows machine to 1492 instead of 1500, this forces the MSS to 1452 as it is on your Linux machine, and I get similar connection problems. So it appears that the TCP/IP stack on the WiFi module is failing to auto-negotiate the MSS.
I will look into this. If all else fails, I can rebuild the TCP/IP stack using maximum MSS of 1452 instead of 1460. Meanwhile, if your Linux system allows you to use an MSS of 1460, that may work around the problem.
-
I think I found the cause: this bug in LWIP http://savannah.nongnu.org/bugs/?func=detailitem&item_id=46384. It's been fixed, so with luck we just need to update the version of LWIP we are using.
-
That's great news!
Do you think this can also be the source of crashs with the 1.18 and previous firmwares, where code is entirely managed by the ESP? If you apply the patch in this branch too, I can make some tests…
Thanks for your support.
-
I will also see if I can use a MTU of 1500, instead of 1492 (I think I reduced it to handle ssh connexions, but I'm not sure if I need it anymore, as I changed my router, and OpenWRT version).