This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Android DFU library

答复 答复 转发 Android DFU library.msg

Hi!We used a 52832 to make a bracelet. Now some apps on Huawei phones can't be remotely upgraded by the ring. We have verified that Nordic's official Android DFU library throws a bug in the firmware upgrade. Therefore, during the upgrade process, whether the mobile phone is sent incompletely or the wristband is not completely received, our APP cannot be detected here.Before using nRF Sniffer to capture packets, there is no data during the upgrade process.Before using nRF Sniffer to capture packets, there is no data during the upgrade process.Above have our software testing environment, please check.
According to the log of nova 2s combined with the DFU library code analysis, the following is the error when the data is verified.
The error is as follows:
Sending Calculate Checksum command (Op Code = 3)
08-27 11:38:24.029 1637 1802 W bt_btif : HAL bt_gatt_callbacks->client->notify_cb
08-27 11:38:24.030 7911 8203 I DfuImpl : Checksum received (Offset = 256, CRC = 975ECD47)
08-27 11:38:24.030 7911 8203 W DfuImpl : 3840 bytes were lost!
08-27 11:38:24.031 7911 8203 I DfuImpl : CRC does not match! Expected 491D1F48 but found 975ECD47. Retrying...(3/3)
The program sends the data three times and reports the same error.
The judgment is that the receiving firmware data is incomplete and the upgrade fails.

Is DFU lib usage problem or data compatibility issue? Is there a solution?
Thank you for your reply!

Parents
  • The data we captured you said is not connected, we capture the following:
    1. Open wireshark, find sniffer and open
    2. Find the bracelet to upgrade
    3.APP connects the bracelet and starts capturing data.
    4.APP issues an upgrade command
    Please tell us how to capture the connection status or the data you need?
    The CRC problem and "remote dfu not supported" are a problem. The CRC problem is that the development side reports an error, and "remote dfu not supported" is an error reported by the APP client.

    IS_SRVC_CHANGED_CHARACT_PRESENT is enabled in the bootloader and pm_local_database_has_changed() is called. The IS_SRVC_CHANGED_CHARACT_PRESENT field is not found in the DFU library (provided by your company). Please tell us how to handle it

Reply
  • The data we captured you said is not connected, we capture the following:
    1. Open wireshark, find sniffer and open
    2. Find the bracelet to upgrade
    3.APP connects the bracelet and starts capturing data.
    4.APP issues an upgrade command
    Please tell us how to capture the connection status or the data you need?
    The CRC problem and "remote dfu not supported" are a problem. The CRC problem is that the development side reports an error, and "remote dfu not supported" is an error reported by the APP client.

    IS_SRVC_CHANGED_CHARACT_PRESENT is enabled in the bootloader and pm_local_database_has_changed() is called. The IS_SRVC_CHANGED_CHARACT_PRESENT field is not found in the DFU library (provided by your company). Please tell us how to handle it

Children
  • Hi Yangamin, 


    I think it's easier if we can have a local FAE help you debug this. Could you let me know who was helping you earlier ? Was him from Nordic ? 

    Also please let me know your location (city ) and the distributor that working with you so we can allocate an FAE to you. 

    Regarding the sniffer, you may need to check the content of the snfifer trace to see if you actually can see a connection or not. We have an video here It's for older version of the sniffer but the trace should look similar. It's important that the sniffer catch the connect request.

    Please send the whole log, of the CRC issue. 

    IS_SRVC_CHANGED_CHARACT_PRESENT should only present on the bootloader and the application, not on the DFU library on the phone. Please double check if you have it in your application (the bracelet firmware) 

Related