Update Duet 2 Firmware without a network
-
@dc42 said in Update Duet 2 Firmware without a network:
@speaker2animals said in Update Duet 2 Firmware without a network:
And that is where the 'fun' began, how do you update the SD card without network access?
Your PC or laptop may well have a SD card socket already. If it doesn't, you can get USB adapters for SD cards on Amazon, eBay etc.
Another possibility is to update the main firmware directly to 3.3 using the Erase jumper and Bossa. The WiFi firmware you already have should work with RRF 3.3 and when you have wifi access working, you can upgrade the wifi firmware.
That said, it should be possible to get your board connected via WiFi using your existing firmware 2.03. What is the problem you are having?
Hi, thanks for the quick response.
When I issue the M587 S"networkID" P"password" command I cannot connect to the network (can't remember the exact fail message and I'm not near the machine at the moment).
Since I posted I have seen some information that suggests there may be a problem if either the NetworkID or password have lower case characters? - this is certainly true of one of these elements for the WiFi I am trying to connect to.
I will try again wrapping the lower case chars with single quotes and see if that fixes it.
Again, thanks,
Tony -
There should be no issue with lower case characters perse and YAT will respect the letter case when sending the passwords, so that shouldn't be an issue either. Do you have any special characters?
Many programs used to send GCodes convert all characters to uppercase. In firmware 1.19.2 and later, within any quoted string you can use a single-quote character to indicate that the following character should be changed to lowercase. For example, M587 S"ABC" P"P'A'S'SW'O'R'D" would specify that the password is "PassWord". Use two single quote characters to represent one actual single quote character in the password or in the SSID. For example, if your SSID is "Pete's network" then enter "Pete''s network".
The use of special characters in the SSID cannot be guaranteed to work. In general it's best to avoid most special characters. Spaces, periods, dashes, underscores, and other punctuation is likely ok, but special characters on the number keys likely are not safe. (@#$%^&*). If you are having troubles adding your SSID, try a simplified version with only letters and numbers.
M587 with no parameters lists all the remembered SSIDs, but not the remembered passwords.
The M587 command will fail if the WiFi module has not yet been taken out of reset. So if the WiFi module has not been started, send M552 S0 to put it in idle mode first.
Getting the specific error message would help.
-
@phaedrux
OK, so I tried using quotes around the lower case characters - you were quite correct - it made no difference whatsoever.This is the content of the YAT log:
M552 S0
ok
WiFi reported error: no known networks found
WiFi module is idle
M587 S"xxxxxxxxxxxxxxx" P"xxxxxxxxxxx"
ok
M552 S1
ok
WiFi reported error: no known networks found
WiFi module is idle
m552
WiFi module is changing mode
ok
WiFi reported error: no known networks found
WiFi module is idle
m587
M587: Failed to retrieve network list
ok
Error retrieving WiFi status message: bad reply format version
WiFi module is idle
WiFi reported error: no known networks found
WiFi module is idleWhich, while the response to the initial M587 S"NetworkID" P"password" command (ok) would seem to suggest things are ok; the response to the subsequent M587 (Failed to retrieve network list) suggests otherwise..
I'm sure I'm missing something, just having trouble seeing what!
Really appreciate the suggestions so far..
Thanks,
Tony -
Can you send M122 and post the response?
You may need to try reflashing the wifi module.
Send
M552 S0
M997 S1Then try your commands again.
Another thing to try to circumvent the USB terminal entirely is to create a macro file with the M587 command to add your network, place it on the SD card in the macros folder, and then powering up and using YAT to execute that macro
If you created a text file called addnetwork.g with these commands in it.
M552 S0
M587 S"SSID" P"password"
M552 S1Then use M98 P"addnetwork.g" to execute it
-
@phaedrux
Will send response when I can get to the machine - it is in a different location to which I do not have keys, sigh....As a matter of interest, are you happy to say which time zone you are in?
Thanks,
Tony -
I'm located GMT-6
-
@phaedrux
OK, ran the commands - this attached file shows the result...
YAT Log.txt
I did try to put the contents of the file in the body but it got flagged as spam?m122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later Board ID: 0JD0M-9P6B2-NJ4S8-6J1FJ-3SN6T-TS4GJ Used output buffers: 1 of 24 (10 max) === RTOS === Static ram: 25680 Dynamic ram: 93304 of which 0 recycled Exception stack ram used: 312 Never used ram: 11776 Tasks: NETWORK(ready,548) HEAT(blocked,1236) MAIN(running,3652) IDLE(ready,160) Owned mutexes: === Platform === Last reset 00:23:20 ago, cause: power up Last software reset details not available Error status: 0 Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms, max retries 0 MCU temperature: min 20.6, current 20.8, max 21.2 Supply voltage: min 24.1, current 24.2, max 24.2, under voltage events: 1, over voltage events: 0, power good: yes 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 3178467788 Slowest loop: 0.18ms; fastest: 0.08ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1 === 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 === Slowest loop: 0.17ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 0 of 8 - WiFi - Network state is running WiFi module is idle Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.23 WiFi MAC address e0:98:06:a4:6a:9f WiFi Vcc 3.39, reset reason Turned on by main processor WiFi flash size 4194304, free heap 28080 Socket states: 0 0 0 0 0 0 0 0
ok m552 s0 ok m552 s0m997 s1 ok m997 s1 Trying to connect at 230400 baud: success Erasing 4096 bytes... Erasing 212992 bytes... Uploading file... 5% complete 10% complete 15% complete 20% complete 25% complete 30% complete 35% complete 40% complete 45% complete 50% complete 55% complete 60% complete 65% complete 70% complete 75% complete 80% complete 85% complete 90% complete 95% complete Upload successful ok m552 s0 ok WiFi module started M587 S"xxxxxxxxxx" P"xxxxxxxxxx" ok M552 s1 ok WiFi reported error: no known networks found WiFi module is idle m587 M587: Failed to retrieve network list ok Error retrieving WiFi status message: bad reply format version WiFi module is idle WiFi reported error: no known networks found WiFi module is idle
m115 FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.03 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2019-06-13b2 ok WiFi reported error: no known networks found WiFi module is idle m98 p"addnetwork.g" M587: Failed to add SSID to remembered list Error retrieving WiFi status message: bad reply format version WiFi module is idle ok WiFi reported error: no known networks found WiFi module is idle
Does this information provide any hints as to what I'm not doing/doing wrong?
I have also tried connecting to another network using a completely different router/SSID/password
Thanks,
Tony -
Can you share the contents of your addnetwork.g macro?
@speaker2animals said in Update Duet 2 Firmware without a network:
I did try to put the contents of the file in the body but it got flagged as spam?
The spam filter is extra aggressive with junior accounts. It should let you copy and paste more text now.
@speaker2animals said in Update Duet 2 Firmware without a network:
I have also tried connecting to another network using a completely different router/SSID/password
Do either of your network SSIDs and passwords contain any of the special characters or conditions as I had posted above?
-
@phaedrux
addnetwork.g:M552 S0
M587 S"xxxxxxxxx" P"xxxxxxxxxxx"
M552 S1No special characters in the original network, Exclamation mark (!) used in both SSID and password for the second network...
Both networks running at 2.4GHz
-
Couple more things to try.
First, can you download this zip file and extract it on your computer, then manually place all of the bin files into the /sys folder on your SD card.
https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip
Now using YAT please try sending
M997 S0:1
to flash both the main firmware to 2.05.1 and the wifi module to I believe 1.24.After it's finished, send M122 again to check that the updates have been applied.
Then, send these commands and report back with what they return.
M552
M552 S-1
M552 S0
M552 S1
M587
Then try clearing any saved networks with
M588 S"*"
Then try adding your network again with M587 S P and enable the module again with M552 S1.
record any error messages.
-
@phaedrux
OK downloaded and copied the bin files onto the SD Card. Results attached:Not sure if the wifi actually updated as it just shows 1.02 or later?
-
Ok thanks for trying. I think your wifi module has failed.
When and where did your purchase your Duet?
-
@phaedrux One thing I had noticed was that I seemed to get different results executing the commands, - sometimes they appeared to work OK, other times they came back with a negative result,
I must admit, from what I had seen on the forums, I had begun to suspect I have a hardware problem.
I got the Duet about 3 weeks ago as part of an Ooznest Workbee CNC kit - I'll engage with them to get it replaced.
Many thanks for all your assistance - very much appreciated by someone who is trying to get their head around what is, to them a completely new area!
Tony
-
@speaker2animals said in Update Duet 2 Firmware without a network:
I got the Duet about 3 weeks ago as part of an Ooznest Workbee CNC kit - I'll engage with them to get it replaced.
Please send an email to warranty@duet3d.com and CC your reseller. Include a link to this forum thread and the details of your original purchase. You'll receive a reply with a form to fill out. Then Oozenest will be able to take care of the replacement.