Firmware(ahhhhhh) Gotta be an easier way!



  • This is killing me. I had the printer on wifi at my old house but not running. I could home and web control worked. I'm at my new house and haven't been able to touch my printer in months. Well its all leveled out now and I can finally sit down and have a little fun.

    I have been down the firmware rapids and yat bossa rumble. I am stumped.

    I```
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later
    Board ID: 08DAM-9K9K2-NGNS0-7JKDL-3SJ6J-K70HL
    Used output buffers: 1 of 24 (10 max)
    === RTOS ===
    Static ram: 25680
    Dynamic ram: 93636 of which 0 recycled
    Exception stack ram used: 304
    Never used ram: 11452
    Tasks: NETWORK(ready,548) HEAT(blocked,1172) MAIN(running,3844) IDLE(ready,160)
    Owned mutexes:
    === Platform ===
    Last reset 00:13:54 ago, cause: software
    Last software reset at 2019-01-22 23:57, reason: User, spinning module GCodes, available RAM 5672 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0xffffffff
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 12.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 28.9, current 30.2, max 30.5
    Supply voltage: min 0.5, current 0.5, max 0.6, under voltage events: 0, over voltage events: 0, power good: no
    Driver 0: ok, SG min/max not available
    Driver 1: ok, SG min/max not available
    Driver 2: ok, SG min/max not available
    Driver 3: ok, SG min/max not available
    Driver 4: ok, SG min/max not available
    Date/time: 1970-01-01 00:00:00
    Cache data hit count 1610437237
    Slowest loop: 1.09ms; fastest: 0.07ms
    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 = 0 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 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: 2137.36ms; 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 disabled
      WiFi module is disabled
      Failed messages: pending 2779096485, notready 2779096485, noresp 2779096485
      Socket states: 0 0 0 0 0 0 0 0
      ok

    I have had the module idle although it won't idle now.

    I downloaded the three files 2.03 from the firmware page
    [0_1575446666755_DuetWiFiServer.bin](Uploading 100%) [0_1575446670220_iap4e.bin](Uploading 100%) [0_1575446678921_Duet2CombinedFirmware.bin](Uploading 100%)

    Formatted a fresh SD card (Completely blank)
    made a new folder called "sys"
    copied those three files into it and safely removed the usb
    removed the sd card from my usb reader
    powered the board on and hit the erase button (not reset)
    opened yat and the board would not communicate (just to verify the firmware had been erased)
    pulled the usb cord
    installed the sd card into the board
    plugged the usb cord in
    turned power main on
    opened bossa
    clicked the boxes for (erase all)(lock)(boot to flash)
    hit the refresh button and it showed up on com4 (instead of 3)
    browsed to C:\Users\stacy\OneDrive\Desktop\sys\Duet2CombinedFirmware.bin
    hit the write button
    hit the verify button
    waited till it was done
    opened YAT
    hit M115
    hit M997 S0
    hit M997 S1
    hit M552 (disabled)
    hit M552 S1 (ok)
    hit M552 (module is starting)
    waited
    hit M552 (module is starting)
    waited
    Hit M552 S0
    before I wend down this road at least I would get a return of (wifi module is idle)
    still shows old wifi firmware
    I cannot get the wifiserver firmware to update even after hitting the erase button

    This is what I get

    FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.03 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2019-06-13b2

    I have tried multiple duetwifiserver.bin files and it will always says 1.02



  • 1.02 is the version of the Duet board you have! Not the WifiServer version. That's in M122, towards the end in the Network section, but the WiFi needs to be enabled to see it. Try sending:
    M552 S-1 ; disable wifi module
    M553 S0 ; put wifi into idle mode
    M122 ; print diagnostics

    Then look at the Network section of M122, and/or post it here.

    Ian



  • eg

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.04 running on Duet WiFi 1.0 or 1.01
    Board ID: 08DAM-999TL-NL5T8-6JTD8-3SD6T-KP67L
    Used output buffers: 3 of 24 (6 max)
    
    ... snip ...
    
    === Network ===
    Slowest loop: 15.82ms; fastest: 0.00ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    - WiFi -
    Network state is running
    WiFi module is connected to access point 
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.23
    WiFi MAC address 5c:cf:7f:1a:9c:3b
    WiFi Vcc 3.34, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 25352
    WiFi IP address 192.168.0.10
    WiFi signal strength -62dBm, reconnections 0, sleep mode modem
    Socket states: 0 0 0 0 0 0 0 0
    

    "WiFi firmware version 1.23"

    Ian



  • If you can't get the WiFi module to go into idle mode, it probably is incompatible with the main firmware. See this section of the firmware update instructions: https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware#Section_How_to_recover_if_the_main_firmware_and_WiFi_firmware_versions_get_out_of_step_on_your_Duet_2_WiFi

    Ian



  • M552 S-1
    ok
    M552 S-0
    ok
    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later
    Board ID: 08DAM-9K9K2-NGNS0-7JKDL-3SJ6J-K70HL
    Used output buffers: 1 of 24 (10 max)
    === RTOS ===
    Static ram: 25680
    Dynamic ram: 93636 of which 0 recycled
    Exception stack ram used: 312
    Never used ram: 11444
    Tasks: NETWORK(ready,548) HEAT(blocked,1172) MAIN(running,3832) IDLE(ready,160)
    Owned mutexes:
    === Platform ===
    Last reset 07:17:54 ago, cause: software
    Last software reset at 2019-01-22 23:57, reason: User, spinning module GCodes, available RAM 5672 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0xffffffff
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 12.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 28.7, current 29.8, max 32.3
    Supply voltage: min 0.5, current 0.5, max 0.6, under voltage events: 0, over voltage events: 0, power good: no
    Driver 0: ok, SG min/max not available
    Driver 1: ok, SG min/max not available
    Driver 2: ok, SG min/max not available
    Driver 3: ok, SG min/max not available
    Driver 4: ok, SG min/max not available
    Date/time: 1970-01-01 00:00:00
    Cache data hit count 4294967295
    Slowest loop: 99.59ms; fastest: 0.07ms
    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 = 0 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 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.20ms; 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 starting
      WiFi module is disabled
      Failed messages: pending 0, notready 0, noresp 0
      Socket states: 0 0 0 0 0 0 0 0
      ok


  • @Styler93gsx said in Firmware(ahhhhhh) Gotta be an easier way!:

    M552 S-0

    This is not valid command, use M552 S0 to put wifi module to idle mode



  • @droftarts
    I had it in idle mode last night for abou a few hours. I sent M997 S0 M997 S1 M552 M552 S1 M552 S0 M552 more times than I can count and not all it that particular order. I really think my M key on my keyboard is about worn out. I've pulled my Micro SD card and formatted, copy pasted, watched numerous youtube videos and have read on the WIKI till I started seeing double. Took a three hour nap an only think I can say that has gone right is after the three hour nap I"m not seeing double anymore.

    I've explored fallback firmware #1 #2 & #3

    #3 I even started with a different freshly formatted SD card and still can't get he 1.02 to update to anything other than 1.02

    When I send M115 I get
    FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.03 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2019-06-13b2

    I have uploaded firmwares 2.05RC all the way down to 2.03. But it always says Duet Wifi 1.02

    If that 1.02 is referring to my board then how do I actually check my wifi server bin version
    When I send M122 This is what I get.

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later
    Board ID: 08DAM-9K9K2-NGNS0-7JKDL-3SJ6J-K70HL
    Used output buffers: 1 of 24 (10 max)
    === RTOS ===
    Static ram: 25680
    Dynamic ram: 93636 of which 0 recycled
    Exception stack ram used: 312
    Never used ram: 11444
    Tasks: NETWORK(ready,548) HEAT(blocked,1172) MAIN(running,3832) IDLE(ready,160)
    Owned mutexes:
    === Platform ===
    Last reset 07:17:54 ago, cause: software
    Last software reset at 2019-01-22 23:57, reason: User, spinning module GCodes, available RAM 5672 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0xffffffff
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 12.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 28.7, current 29.8, max 32.3
    Supply voltage: min 0.5, current 0.5, max 0.6, under voltage events: 0, over voltage events: 0, power good: no
    Driver 0: ok, SG min/max not available
    Driver 1: ok, SG min/max not available
    Driver 2: ok, SG min/max not available
    Driver 3: ok, SG min/max not available
    Driver 4: ok, SG min/max not available
    Date/time: 1970-01-01 00:00:00
    Cache data hit count 4294967295
    Slowest loop: 99.59ms; fastest: 0.07ms
    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 = 0 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 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.20ms; 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 starting
      WiFi module is disabled
      Failed messages: pending 0, notready 0, noresp 0
      Socket states: 0 0 0 0 0 0 0 0
      ok


  • @aidar
    If is not a valid command why does it say OK?

    I've tried it with M552 S0 and M552 S-0

    Both respond with ok.

    The part that you read up above I copy and pasted the entire dialog and as you can see when I typed M552 S-0 it responded with ok.

    I've tried M552 I don't know how many times and at one point it was saying the wifi module is idle but now it just keeps saying wifi module is starting.



  • @Styler93gsx said in Firmware(ahhhhhh) Gotta be an easier way!:

    #3 I even started with a different freshly formatted SD card and still can't get he 1.02 to update to anything other than 1.02

    When I send M115 I get
    FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.03 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2019-06-13b2

    2.03 is your firmware version and 2019-06-13b2 is the date of that firmware version's build.

    FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.03 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2019-06-13b2

    1.02 is your 'electronics'. That is, the board. The hardware. It will NEVER change (unless you buy new/different hardware).



  • @Styler93gsx said in Firmware(ahhhhhh) Gotta be an easier way!:

    @aidar
    If is not a valid command why does it say OK?

    I've tried it with M552 S0 and M552 S-0

    Both respond with ok.

    The part that you read up above I copy and pasted the entire dialog and as you can see when I typed M552 S-0 it responded with ok.

    I've tried M552 I don't know how many times and at one point it was saying the wifi module is idle but now it just keeps saying wifi module is starting.

    It might say OK, but S-0 is not the documented format of the command and none of us can have any idea what S-0 does (or does not) do. For now, please stick to S0 for idle.



  • And, a couple of notes:

    • The erase button on the main board erases the flash memory in the CPU of the main board. It does NOT erase the WiFi module. There is no way to erase WiFi; instead, overwrite it.

    • When executing the various recovery options, your SD should look like:

    sys/Duet2CombinedFirmware.bin
    sys/iap4e.bin
    sys/DuetWiFiServer.bin
    www/ (will look more or less like screenshot below)
    20573263-76e4-4374-aca4-8d13675a790b-image.png

    • Connect with YAT (or other terminal) and issue:

    M997 S0:1

    This updates BOTH the main board and the WiFi together. That is more likely to work. If for some reason it does not, you can try M997 S0 and M997 S1 separately.

    At that point, you should have good firmware. From there, you should be able to get on your network via:

    https://duet3d.dozuki.com/Guide/1.)+Getting+Connected+to+your+Duet/7



  • @Styler93gsx

    M552 S-1 turns the WiFi module off. M552 S0 turns it on, and sets it to idle mode. M552 S1 activates it to connect to any WiFi access point that it has been configured to connect to. I'm guessing M552 S-0 is interpreted as S0.

    As @Danal says, your firmware version is 2.0.3. Your Duet board revision is 1.0.2. I expect you are continuously updating the board with the same firmware version, 2.0.3. Try this one instead: https://github.com/dc42/RepRapFirmware/releases/tag/2.04

    Ian



  • @droftarts said in Firmware(ahhhhhh) Gotta be an easier way!:

    Try this one instead: https://github.com/dc42/RepRapFirmware/releases/tag/2.04

    I find the firmware release more confusing than needed, having to sift through a list of files, most of them non relevant to majority of the users. Could be simplified along these lines:

    Duet2 Wifi

    board_firmware_xyz.zip
    panel_due_xyz.zip

    Maestro

    (similar)

    And a link to a repository where the developer oriented files can be found.



  • Ok I have 2.04 installed and Wifi Module is going into idle again. But I'm still getting Errror retrieving Wifi status message: SPI timout.

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.04 running on Duet WiFi 1.02 or later
    Board ID: 08DAM-9K9K2-NGNS0-7JKDL-3SJ6J-K70HL
    Used output buffers: 1 of 24 (1 max)
    === RTOS ===
    Static ram: 25680
    Dynamic ram: 92696 of which 0 recycled
    Exception stack ram used: 288
    Never used ram: 12408
    Tasks: NETWORK(ready,1280) HEAT(blocked,1208) MAIN(running,3808) IDLE(ready,200)
    Owned mutexes: WiFi(NETWORK)
    === Platform ===
    Last reset 00:02:07 ago, cause: software
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 11444 bytes (slot 2)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04433000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 12.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 29.2, current 30.6, max 30.8
    Supply voltage: min 0.4, current 0.5, max 0.6, under voltage events: 0, over voltage events: 0, power good: no
    Driver 0: ok, SG min/max not available
    Driver 1: ok, SG min/max not available
    Driver 2: ok, SG min/max not available
    Driver 3: ok, SG min/max not available
    Driver 4: ok, SG min/max not available
    Date/time: 1970-01-01 00:00:00
    Cache data hit count 808438268
    Slowest loop: 392.09ms; fastest: 0.05ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0, FreeDm: 160, MinFreeDm: 160, 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 = 0 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 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: 401.11ms; 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 471
      Error retrieving WiFi status message: SPI timeout
      Failed to get WiFi status
      Socket states: 0 0 0 0 0 0 0 0
      ok


  • OK, @dc42 is going to have to ring in here. At this moment, it looks to me like a hardware problem.

    Just as a final check, issue

    M997 S1
    

    and post the response (it may take several minutes).


  • administrators

    If you have already reinstalled the WiFi firmware, then I agree, probable hardware problem. Looks like the WiFi module needs to be replaced.






Log in to reply