mDot reliability

Home Forums mDot/xDot mDot reliability

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #14587
    Andrew Lindsay
    Participant

    Hi,

    Looking at the trace output, the mDots look to be repeatedly reading from and writing to the flash chip. After a couple of hours of this I’m seeing:

    [ERROR] SPIFFS_read failed -10004
    [DEBUG] Session saved to flash
    [ERROR] SPIFFS_write failed -10015
    [DEBUG] file size: 256 bytes
    [TRACE] 0 : 76035
    [TRACE] 1 : 0
    [TRACE] 2 : 0
    [TRACE] 3 : 0
    [TRACE] save timers: 0 75920 0 0 0 0
    [INFO] entering deepsleep (standby) mode 00000037

    The mDot is basically being waken up on an interrupt, checking if its time to send any data, if not its immediately going back into deep sleep.

    Why would it need to write to the flash if nothing has changed? Surely this is reducing the life of the chip as it has a limited number of writes before it fails.

    Thanks

    Andrew

    #14598
    Mike Fiore
    Blocked

    Andrew,

    I’m guessing your mDot is in AUTO_OTA mode. In this mode, the mDot will save the session every time it goes into deepsleep so that the session can be restored after waking up (saving you a join). You can put your mDot into OTA mode instead and manage saving and restoring the session yourself if you desire. The saveNetworkSession() and restoreNetworkSession() functions can be used to save and restore your session.

    That being said, it sounds like your mDot may have a bad flash part. Please open a support ticket on our portal.

    http://support.multitech.com/

    Cheers,

    Mike

    #14600
    Andrew Lindsay
    Participant

    Thanks Mike.
    I have tried the OTA mode and the mDot still saves session before sleeping and loading it again after waking.

    I already have the instructions and firmware for fixing the bad flash as this has happened to a number of mDots now.

    Thanks

    Andrew

    #14627
    Mike Fiore
    Blocked

    Andrew,

    I tested on a mDot with vanilla AT firmware revision 11:

    https://developer.mbed.org/teams/MultiTech/code/mDot_AT_firmware/

    I wasn’t able to reproduce the issue. When I joined the network in OTA mode and went to sleep, I didn’t see any evidence of anything getting saved to flash.

    
    at+join
    Successfully joined network
    
    OK
    at+sleep=0
    
    OK
    at+sleep=0
    
    OK
    at+sleep=1
    
    OK
    
    [DEBUG] mDotEvent - JoinAccept
    [TRACE] Event: OK
    [TRACE] Flags Tx: 0 Rx: 0 RxData: 0 RxSlot: 0 LinkCheck: 0 JoinAccept: 1
    [TRACE] Info: Status: 0 ACK: 0 Retries: 0 TxDR: 0 RxPort: 0 RxSize: 0 RSSI: 0 SNR: 0 Energy: 0 Margin: 0 Gateways: 0
    [INFO] Packet RSSI: -79 dB SNR: 67 cB
    [DEBUG] mDotEvent - RxDone
    [TRACE] configuring RTC Alarm A to wakeup 10 seconds from now
    [TRACE] save timers: 0 0 0 0 0 0 0
    [INFO] entering deepsleep (standby) mode 00000037[INFO] mDot Ready
    [TRACE] configuring RTC Alarm A to wakeup 10 seconds from now
    [TRACE] save timers: 0 0 0 0 0 0 0
    [INFO] entering deepsleep (standby) mode 00000037[INFO] mDot Ready
    [TRACE] configuring RTC Alarm A to wakeup 10 seconds from now
    [INFO] entering sleep (stop) mode 00000037��
    

    However when I set my join mode to AUTO_OTA, the session gets saved and restored.

    
    at+join=1
    Successfully joined network
    
    OK
    at+sleep=0
    
    OK
    
    Joining network... Network Joined
    
    OK
    at+sleep=0
    
    OK
    
    Joining network... Network Joined
    
    OK
    at+sleep=1
    
    OK
    
    [DEBUG] mDotEvent - JoinAccept
    [TRACE] Event: OK
    [TRACE] Flags Tx: 0 Rx: 0 RxData: 0 RxSlot: 0 LinkCheck: 0 JoinAccept: 1
    [TRACE] Info: Status: 0 ACK: 0 Retries: 0 TxDR: 4 RxPort: 0 RxSize: 0 RSSI: 0 SNR: 0 Energy: 0 Margin: 0 Gateways: 0
    [INFO] Packet RSSI: -79 dB SNR: 67 cB
    [DEBUG] mDotEvent - RxDone
    [DEBUG] Session saved to flash
    [DEBUG] wrote 256 bytes
    [DEBUG] file size: 256 bytes
    [TRACE] configuring RTC Alarm A to wakeup 10 seconds from now
    [TRACE] save timers: 0 0 0 0 0 0 0
    [INFO] entering deepsleep (standby) mode 00000037[INFO] mDot Ready
    [TRACE] Initiating join...
    [TRACE] Join Network - Auto OTA
    [INFO] Restoring network session..
    [DEBUG] Session restored from flash
    [DEBUG] set mask 0 0000
    [DEBUG] set mask 1 0000
    [DEBUG] set mask 2 0000
    [DEBUG] set mask 3 0000
    [DEBUG] set mask 4 0020
    [DEBUG] Session saved to flash
    [DEBUG] wrote 256 bytes
    [DEBUG] file size: 256 bytes
    [TRACE] configuring RTC Alarm A to wakeup 10 seconds from now
    [TRACE] save timers: 0 0 0 0 0 0 0
    [INFO] entering deepsleep (standby) mode 00000037[INFO] mDot Ready
    [TRACE] Initiating join...
    [TRACE] Join Network - Auto OTA
    [INFO] Restoring network session..
    [DEBUG] Session restored from flash
    [DEBUG] set mask 0 0000
    [DEBUG] set mask 1 0000
    [DEBUG] set mask 2 0000
    [DEBUG] set mask 3 0000
    [DEBUG] set mask 4 0020
    [DEBUG] Session saved to flash
    [DEBUG] wrote 256 bytes
    [DEBUG] file size: 256 bytes
    [TRACE] configuring RTC Alarm A to wakeup 10 seconds from now
    [INFO] entering sleep (stop) mode 00000037��[DEBUG] Session restored from flash
    [DEBUG] set mask 0 0000
    [DEBUG] set mask 1 0000
    [DEBUG] set mask 2 0000
    [DEBUG] set mask 3 0000
    [DEBUG] set mask 4 0020
    

    I wonder if the issue was related to the corrupted flash. Can you reproduce the issue on a unit with functional flash?

    Cheers,

    Mike

    #14818
    Darrik Spaude
    Keymaster

    Hi Andrew,

    I’m dredging up this old case to ask a question. When you were seeing this problem, were you always using Deep Sleep? Or were you seeing it in both Sleep and Deep Sleep?

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.