Feature Request: Add an auto reconnect on network failures.

  • I've been having issues occasionally during high up times where wifi just stops responding.

    I created a macro that disables the wifi card, waits 2 seconds and then connects. This fixes the issue for me but I'm wondering if this could somehow be automated into the OS.

    Maybe ping the default gateway occasionally (or even make ping destination configurable), if the ping doesn't succeed, then do basically what my macro does to reconnect.

  • administrators

    I am pretty sure this is already part of the ESP firmware aka Duet WiFi Server. AFAIR you can query the number of automatic reconnects via M122.

    If this does not work for you, can you check this value by connecting to your board and sending M122 to it? Also, does the LED on the WiFi chip keep blinking when it disconnects or does it only remain off?

  • @chrishamm said in Feature Request: Add an auto reconnect on network failures.:


    I've seen the web interface unresponsive in two states, either completely off or just solid blue but not actually working.

    The toggle macro seems to work in either state and the printer is responsive from the paneldue.

    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.01(RTOS) running on Duet WiFi 1.02 or later
    Board ID: *hiding this*
    Used output buffers: 3 of 20 (12 max)
    === RTOS ===
    Static ram: 28476
    Dynamic ram: 96328 of which 0 recycled
    Exception stack ram used: 476
    Never used ram: 5792
    Tasks: NETWORK(ready,328) HEAT(blocked,1248) MAIN(running,3132)
    Owned mutexes:
    === Platform ===
    Last reset 00:48:07 ago, cause: power up
    Last software reset at 2018-08-02 00:10, reason: User, spinning module GCodes, available RAM 5904 bytes (slot 2)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 109.0ms, max retries 0
    MCU temperature: min 44.5, current 52.1, max 52.6
    Supply voltage: min 12.9, current 13.1, max 13.3, under voltage events: 0, over voltage events: 0
    Driver 0: ok, SG min/max 0/224
    Driver 1: ok, SG min/max 0/1023
    Driver 2: ok, SG min/max 0/1023
    Driver 3: ok, SG min/max 0/1023
    Driver 4: ok, SG min/max 0/1023
    Date/time: 2018-08-04 22:50:20
    Slowest loop: 99.48ms; fastest: 0.07ms
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 1, FreeDm: 121, MinFreeDm: 120, MaxWait: 351710ms, Underruns: 0, 0
    Scheduled moves: 110370, completed moves: 110341
    Bed compensation in use: mesh
    Bed probe heights: -0.366 -0.309 -0.075 0.100 0.451
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.1
    Heater 1 is on, I-accum = 0.3
    === GCodes ===
    Segments left: 1
    Stack records: 3 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 doing "G1 X197.219 Y150.128 E0.0194" in state(s) 0
    serial is idle 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: 110.54ms; fastest: 0.01ms
    Responder states: HTTP(0) HTTP(4) 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.21
    WiFi MAC address 5c:cf:7f:76:62:d8
    WiFi Vcc 3.35, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 13088
    WiFi IP address
    WiFi signal strength -12dBm, reconnections 0, sleep mode modem
    Socket states: 4 2 0 0 0 0 0 0

Log in to reply