DFU - Device Manager Question - Payload(250 bytes) too long for MTU: 249

Dear support

Try to perform DFU OTA on my final target board and have an error state says - "payload(250 bytes) too long for MTU: 249 "during uploading stage, could anyone let me know what is happening please? 

I have done quite a few times on a Fanstel board and had not have any problem.

Urgent help is needed please!

Ping

Parents
  • Hello!

    As I pointed on the GitHub issue, this seems to be more related to issue 83, where the packet length is calculated.

    Could you say at what offset do you get this error? Is it just when you start upload, or after reaching ~64kB, is it in app core update of net core (if you're updating nrf5340 device)?

  • Sometimes it fails after the first transfer sometimes after multiple transfers:

    I/flutter: == Percentage: 16 % ==
    I/System.out: == [1670399859403] bytes sent: 64496, image size: 388603 ==
    I/flutter: == onUploadProgressChanged: {bytesSent: 64496, imageSize: 388603, timestamp: 1670399859403} ==
    I/flutter: == Speed: 4.827731725697061 bytes/ms ==
    I/flutter: == Time left: 67134.42635489511 ms ==
    I/flutter: == Percentage: 17 % ==
    I/System.out: == [1670399859505] bytes sent: 64944, image size: 388603 ==
    I/flutter: == onUploadProgressChanged: {bytesSent: 64944, imageSize: 388603, timestamp: 1670399859505} ==
    I/flutter: == Speed: 4.824409213281483 bytes/ms ==
    I/flutter: == Time left: 67087.79991319445 ms ==
    I/flutter: == Percentage: 17 % ==
    W/System.err: Payload (251 bytes) too long for MTU: 249
    W/System.err:     at io.runtime.mcumgr.ble.McuMgrBleTransport.lambda$send$0$McuMgrBleTransport(McuMgrBleTransport.java:356)
    W/System.err:     at io.runtime.mcumgr.ble.-$$Lambda$McuMgrBleTransport$G9R9yrfNM-X8bvUSG0-6o8BwsHU.onRequestCompleted(Unknown Source:13)
    W/System.err:     at no.nordicsemi.android.ble.Request.lambda$notifySuccess$1$Request(Request.java:1239)
    W/System.err:     at no.nordicsemi.android.ble.-$$Lambda$Request$ep6TD_94xCe5LaEafH2PrarR3yc.run(Unknown Source:4)
    W/System.err:     at android.os.Handler.handleCallback(Handler.java:938)
    W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:99)
    W/System.err:     at android.os.Looper.loopOnce(Looper.java:226)
    W/System.err:     at android.os.Looper.loop(Looper.java:313)
    W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:8751)
    W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
    W/System.err:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
    W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
    I/System.out: == Upgrade failed: Payload (251 bytes) too long for MTU: 249 ==
    I/flutter: == onUpgradeFailed: {state: UPLOAD, error: Payload (251 bytes) too long for MTU: 249


    Currently I'm testing with app core update.

Reply
  • Sometimes it fails after the first transfer sometimes after multiple transfers:

    I/flutter: == Percentage: 16 % ==
    I/System.out: == [1670399859403] bytes sent: 64496, image size: 388603 ==
    I/flutter: == onUploadProgressChanged: {bytesSent: 64496, imageSize: 388603, timestamp: 1670399859403} ==
    I/flutter: == Speed: 4.827731725697061 bytes/ms ==
    I/flutter: == Time left: 67134.42635489511 ms ==
    I/flutter: == Percentage: 17 % ==
    I/System.out: == [1670399859505] bytes sent: 64944, image size: 388603 ==
    I/flutter: == onUploadProgressChanged: {bytesSent: 64944, imageSize: 388603, timestamp: 1670399859505} ==
    I/flutter: == Speed: 4.824409213281483 bytes/ms ==
    I/flutter: == Time left: 67087.79991319445 ms ==
    I/flutter: == Percentage: 17 % ==
    W/System.err: Payload (251 bytes) too long for MTU: 249
    W/System.err:     at io.runtime.mcumgr.ble.McuMgrBleTransport.lambda$send$0$McuMgrBleTransport(McuMgrBleTransport.java:356)
    W/System.err:     at io.runtime.mcumgr.ble.-$$Lambda$McuMgrBleTransport$G9R9yrfNM-X8bvUSG0-6o8BwsHU.onRequestCompleted(Unknown Source:13)
    W/System.err:     at no.nordicsemi.android.ble.Request.lambda$notifySuccess$1$Request(Request.java:1239)
    W/System.err:     at no.nordicsemi.android.ble.-$$Lambda$Request$ep6TD_94xCe5LaEafH2PrarR3yc.run(Unknown Source:4)
    W/System.err:     at android.os.Handler.handleCallback(Handler.java:938)
    W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:99)
    W/System.err:     at android.os.Looper.loopOnce(Looper.java:226)
    W/System.err:     at android.os.Looper.loop(Looper.java:313)
    W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:8751)
    W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
    W/System.err:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
    W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
    I/System.out: == Upgrade failed: Payload (251 bytes) too long for MTU: 249 ==
    I/flutter: == onUpgradeFailed: {state: UPLOAD, error: Payload (251 bytes) too long for MTU: 249


    Currently I'm testing with app core update.

Children
No Data
Related