Unable to connect new board to WiFi



  • Hello. I got a Duet 2 Wifi board a few months back and connected it yesterday. I'm following the "Getting Connected to you Duet" guide and I'm able to connect to the board with a terminal emulator, but the M587 and M552 commands are not working for me.

    • When I try to add my network's SSID and password, I get the following errors: "M587: Failed to retrieve network list," and then "Error retrieving WiFi status message: bad reply format version."

    • The board reports the following firmware versions: "FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.02(RTOS) ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2018-12-24b1"

    I noticed some other threads about this. In one thread it was suggested that the firmware and web server versions are out of sync. I considered trying to update my firmware, but I am a bit confused about which version I have. M115 shows version 2.02, but the documentation at https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware only talks about firmware versions 1.xx, not 2.xx, so I wasn't sure about how to proceed.



  • Try M552 S-1 M552 S0 before the M587 command

    If still doesn't work, share the output of M122to confirm wifi firmware version please.



  • Thank you for the response. I did as you suggested, but the result was the same:

    M552 S-1
    WiFi module stopped
    ok
    
    M552 S0
    ok
    WiFi module started
    
    M587 S"..." P"..."
    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
    

    This is the output from M122:

    Failed messages: pending 0, notready 0, noresp 2
    WiFi firmware version 1.23
    WiFi MAC address 84:0d:8e:b2:ac:3b
    WiFi Vcc 3.38, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 27440
    Socket states: 0 0 0 0 0 0 0 0
    ok
    


  • @kjiwa said in Unable to connect new board to WiFi:

    WiFi reported error: no known networks found
    

    I think that may suggest either the wrong ssid/key was supplied, or that you have insufficient signal strength. (it could also be related to the type of encryption in use, but I haven't poked that in detail to say what doesn't work).

    I would suggest starting by just making tripple sure the network details are correct, upper and lower case matters in both ssid and key.

    Next; I'd probably try some wifi analyzer app on your phone next to the Duet to check the signal strength (the duet will likely have less sensitivty than the phone).

    If you're sure it should work, it could be worth while trying creating a unencrypted network and see if that works.

    According to the reprap firmware 2.02 release notes it should work with wifi firmware 1.23. https://github.com/dc42/RepRapFirmware/releases/tag/2.02



  • Thank you for the suggestions. I've tried the SSID and key several times, so I'm pretty sure I'm entering it correctly. Other devices in the vicinity of the printer are able to connect to the network -- the AP is only a few meters away from the printer. The network is configured for WPA2 Personal.

    • A wifi analyzer shows very high signal strength.

    • There are some special characters in the key, like exclamation points. Might those have an impact?

    • I noticed that the board needs to connect to a 2.4 GHz network. My AP broadcasts the same SSID on both 2.4 and 5 GHz. Could that cause an issue?



  • @kjiwa said in Unable to connect new board to WiFi:

    • There are some special characters in the key, like exclamation points. Might those have an impact?

    Not as far as I know, but suppose its relatively easy to temporarily change it to confirm?

    • I noticed that the board needs to connect to a 2.4 GHz network. My AP broadcasts the same SSID on both 2.4 and 5 GHz. Could that cause an issue?

    The Duet only has 2.4Ghz radio so the 5Ghz shouldn't be a factor. 2.4Ghz Channel width could be on the other hand.


  • Moderator

    @kjiwa For some reason the M587 command you are sending is not being stored; you should get something like:

    M587
    Remembered networks:
    OFFICE IP=0.0.0.0 GW=0.0.0.0 NM=0.0.0.0
    

    How are you connecting to the Duet? Are you using YAT, or something else? If you're on Linux, see this thread (some characters are not recognised): https://forum.duet3d.com/post/114783

    Is this a genuine Duet? There have been problems with WiFi boards on clone cards.

    Flashing both the main firmware (you're on 2.02, 2.05.1 is the latest RepRapFirmware v2) and the WiFi firmware may help, particularly the WiFi firmware (even though you are on the latest, it may be corrupt).

    Ian


  • Moderator

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M587_Add_WiFi_host_network_to_remembered_list_or_list_remembered_networks

    Be sure to read the notes about what characters can be in the password. particularly apostrophes '

    Sometimes it can be more fruitful to place the M587 command into a macro file on the SD card itself and then using YAT to execute the macro file, that can remove any mangling that YAT might do from the equation.



  • @droftarts I bought the card from MatterHackers. It appears genuine to me.

    @bearer and @Phaedrux Thank you for the suggestions. Your responses helped me isolate the problems and get my board to work. There were two things at play:

    1. There is an apostrophe in my wireless key. I was not escaping it properly.

    2. The network is hidden so I needed to add a parameter to M552 when activating WiFi (M552 S1 S"ssid").


  • Moderator

    @kjiwa said in Unable to connect new board to WiFi:

    The network is hidden so I needed to add a parameter to M552 when activating WiFi (M552 S1 S"ssid").

    The Duet will only connect to remembered access points, which are stored with M587. If there's only one remembered SSID, that's the only one it will connect to, whether it's hidden or not. Putting P"[your_SSID]" (you are incorrectly using the S parameter) in your M552 command is unnecessary. It was storing the SSID/password correctly that fixed this. It does also say in the 'Getting connected' guide, in red here https://duet3d.dozuki.com/Guide/1.)+Getting+Connected+to+your+Duet/7#s10 :

    Note: If you are not using YAT to communicate with the Duet and have upper and lower case letters or apostrophe characters in the SSID or password, see the first note in the Gcode dictionary entry for M587.

    What terminal program are you using to connect with the Duet? If you were using YAT, it's possible something was incorrectly set in Terminal Text Settings; see https://duet3d.dozuki.com/Guide/1.)+Getting+Connected+to+your+Duet/7#s6

    Ian



  • Thank you @droftarts. I was using minicom. I will look for any settings related to escape sequences.


Log in to reply