FAQ
1. Noun/Process Description
1.1 The difference between single backup OTA and dual backup OTA
Type |
Single backup |
Dual backup |
|---|---|---|
Storage |
In addition to the support space required for the project,
Just add the space required by the loader
|
Required engineering support space * 2 |
Upgrade |
Need to disconnect and reconnect once |
No need to upgrade, no need to reconnect |
Process |
Download loader -> Device restart (run loader) ->
Reconnect device -> Upgrading Firmware
|
Upgrading Firmware |
Safety |
There is a chance that a forced upgrade is required
(Bluetooth disconnected, APP killed to terminate OTA, etc.)
|
No security risk |
Cost |
Lower |
Higher |
Warning
1.2 The role of Boot Loader
Warning
The boot loader needs to decide whether to go through the authentication process based on the configuration.
Currently the loader only supports BLE communication.
The loader only has the UUID service of OTA function
2. Access issues
2.1 The Bluetooth device is connected, why does calling the OTA library interface return an error, 4114(0x1012), the device is not connected
Device not connected callback of the OTA library means that the OTA library was not initialized successfully and the device information was not obtained.StateCode#CONNECTION_OKDevice Connected state.Warning
Device disconnection also needs to be passed to the OTA library in real time to release the resources of the related devices, otherwise it may affect the next OTA library initialization.
2.2 Error code: 12290(0x3002), Failed to send data
BluetoothOTAManager#sendDataToDevice(device, data)2.3 The data was sent successfully, but no reply data was received
MTU packetization and queue-based data transmission. For details, refer to the SendBleDataThread in the demo.2.4 Error code: 12295(0x3007), Timeout in sending data
Send command timeout error.MTU packetization and queue-based data transmission. For details, refer to the SendBleDataThread in the demo.Warning
The OTA library will parse the commands belonging to the OTA process according to the data structure, and can directly pass in raw data.
2.5 Error code: 20481 (0x5001), Device authentication failed
Device Connected state and sets the conditions for starting device authentication.device authentication enabled, the OTA library also has device authentication enabled, and vice versa.2.6 Error code: 12296 (0x3008), response failed
3. OTA Issues
3.1 Upgrade failed, error code: 12299(0x300B), waiting for command timeout
20 seconds before the OTA process is completed, the OTA library will report an error.MTU packetization and queue-based data transmission. For details, refer to the SendBleDataThread in the demo.Warning
In this case, you need to eliminate the problem on the SDK side first, and then find the problem on the device side.
3.2 Upgrade failed, error code: 16392(0x4008), Upgrade process in progress
BluetoothOTAManager#isOTA()` == true, calling the ``startOTA API, the SDK will return an error “upgrade process in progress”.3.3 Upgrade failed, error code: 16385(0x4001), OTA upgrade failed
During the OTA process, the device or SDK returns an OTA failure error.
Warning
There are many reasons for this situation, and a print log is required.
Output print log, reference: Debug Instructions
3.4 Upgrade failed, error code: 16386(0x4002), device low voltage
The device determines that the battery is too low and does not allow OTA upgrades. Please charge the device to a suitable level before performing OTA upgrades.
3.5 Upgrade failed, error code: 16387(0x4003), upgrade file error
MTU packetization and queue-based data transmission. For details, refer to the SendBleDataThread in the demo.Warning
There are many reasons for this situation. If the above steps cannot solve the problem, please contact the corresponding SDK person in charge for inquiry. The print log needs to be attached.
Output print log, reference: Debug Instructions
3.6 Upgrade failed, error: 16389(0x4005), data verification failed
MTU packetization and queue-based data transmission. For details, refer to the SendBleDataThread in the demo.3.7 Upgrade failed, error code: 16396 (0x400C), the firmware version of the upgrade file is the same
The version number of the upgrade file is consistent with the firmware version number of the current device, and the upgrade is not allowed.
3.8 Upgrade failed, error code: 16397(0x400D), TWS not connected
The TWS headset is not paired with TWS and cannot be upgraded.
3.9 Upgrade failed, error code: 16399(0x400F), same file
The upgrade file is consistent with the current device firmware content, and the upgrade is not allowed.
3.10 Upgrade failed, error code: 16401(0x4011), timeout on connecting to device
isUseReconnect. The SDK has a built-in reconnect device process by default.onNeedReconnect when reconnecting to the device.onNeedReconnect callback device uses the new reconnection method, the device will change the BLE addressByte 0 |
Byte 1 |
Byte 2-3 |
Byte 4-8 |
Byte 9 |
Byte 10-15 |
|---|---|---|---|---|---|
Length |
Type |
VID |
Flag |
Version |
Payload(Original BLE address) |
0x?? |
0xFF |
0xD605 |
ATOLJ |
0x00 |
??:??:??:??:??:?? |
Length : Length of (Type + VID + Identifier + Version Number + Payload)Type : Fixed 0xFF, manufacturer-defined dataVID : Chip manufacturer ID, the default is 0xD605 (little endian), which means “Jie Li Technology”Flag : Filter flag, “ATOLJ” (little endian), means “JLOTA”Version : 0x00Payload : Valid data, changes according to version numberonNeedReconnect callback with the original BLE address of the advertising packet.Warning
3.11 Upgrade failed, error code: 16404(0x4014), the device is in dual-connection mode
The upgrade device is in Dual-connection mode, and the upgrade is not allowed.
3.12 Upgrade failed, error code: 16390(0x4006), encryption key does not match
3.13 Upgrade failed, error code: 20484(0x5004), upgrade file not found
4. Other Issues
4.1 Can I enable two characteristics at the same time? Will it have any impact?
No impact.
Warning
When multiple
Characteristicare enabled, they cannot be executed concurrently and need to be executed in a queue. Wait for aCharacteristicto be enabled and then execute the next one.Single backup OTA, back to the device, in the loader state, the device only has the OTA UUID service, and multiple
Characteristiccannot be enabled
4.2 Why is there two progress changes from 0 to 99 during OTA upgrade?
Download resources and Upgrade firmware.onProgress callbacks type, indicating the type of upgrade progress.