OTA V3 错误码¶
1. iOS Sdk 错误码¶
code |
对应宏 |
含义 |
处理方式 |
|---|---|---|---|
1 |
SFCoreErrorTypeTimeout |
搜索设备超时 |
重试 |
2 |
SFCoreErrorTypeCanceled |
调用了取消连接 |
|
3 |
SFCoreErrorTypeDisconnected |
连接断开 |
|
4 |
SFCoreErrorTypeFailedToConnect |
主动连接失败 |
重试 |
5 |
SFCoreErrorTypeUserStop |
用户主动停止 |
|
6 |
SFCoreErrorTypeInvalidParameter |
无效参数 |
检查输入参数 |
7 |
SFCoreErrorTypeReadFileError |
读取文件失败 |
检查xcode日志,输入参数 |
100 |
SFOtaV3ErrorTypeSearchTimeout |
搜索设备超时 |
重试 |
110 |
SFOtaV3ErrorTypeRequestTimeout |
请求超时 |
重试 |
120 |
SFOtaV3ErrorTypeErrorCodeFromDevice |
设备错误码,errorType为此值时,devErrorCode有值 |
查看设备错误码 |
130 |
SFOtaV3ErrorTypeUnavailableBleStatus |
蓝牙状态异常 |
检查手机蓝牙开关是否打开 |
140 |
SFOtaV3ErrorTypeInvalidParams |
无效参数 |
检查输入sdk的参数内容 |
150 |
SFOtaV3ErrorTypeOutOfRange |
数据超出范围 |
反馈原厂 |
160 |
SFOtaV3ErrorTypeFailToParsePacket |
解析响应数据失败 |
检查固件端响应数据 |
170 |
SFOtaV3ErrorTypeUserStop |
用户主动停止 |
|
180 |
SFOtaV3ErrorTypeRemoteAbort |
手表用户主动停止 |
|
190 |
SFOtaV3ErrorTypeFailToUnzip |
解压失败 |
检查输入zip文件格式 |
200 |
SFOtaV3ErrorTypeNoFileInZip |
解压失败 |
检查输入zip文件格式 |
210 |
SFOtaV3ErrorTypeFailToReadFile |
读取文件失败 |
检查xcode日志 |
220 |
SFOtaV3ErrorTypeDebug |
调试期间才可能出现的错误,正式版不应当出现 |
|
230 |
SFOtaV3ErrorTypeInvalidMaxDataLen |
设备返回无效的最大切片长度 |
检查固件响应数据 |
240 |
SFOtaV3ErrorTypeInvalidBlockLength |
设备返回无效的块长度 |
检查固件响应数据 |
250 |
SFOtaV3ErrorTypeInvalidExpectIndex |
设备返回无效的期望索引 |
检查固件端 |
260 |
SFOtaV3ErrorTypePushSliceTooLarge |
lose check返回错误码2,通信错误次数超过3,可能是切片太大 |
|
270 |
SFOtaV3ErrorTypeSliceError |
制作切片出错 |
反馈原厂 |
280 |
SFOtaV3ErrorTypeRspWhenNoRspWriting |
无响应写入期间收到响应 |
反馈原厂,检查固件端 |
290 |
SFOtaV3ErrorTypeV3FileDataRspError |
文件包序号错误 |
反馈原厂,检查固件端 |
300 |
SFOtaV3ErrorTypeV3HcpuImageIdNotFound |
Image列表中没有找到对应的ImageID |
检查ota输入参数文件 |
310 |
SFOtaV3ErrorTypeV3HcpuImageDeviceCompleteCountInvalid |
固件端返回的完成切片数量错误 |
反馈原厂,检查固件端 |
320 |
SFOtaV3ErrorTypeV3NandResOrderFileNotExist |
差分包资源的orderFile不存在 |
检查输入差分包 |
330 |
SFOtaV3ErrorTypeV3NandResSubFileNotExist |
nand res order file清单中的文件不存在 |
检查输入差分包 |
340 |
SFOtaV3ErrorTypeV3CtrlFileValidateError |
ctrl file校验错误 |
检查输入的ctrl file,image file一致性 |
code |
对应宏 |
含义 |
处理方式 |
|---|---|---|---|
1 |
SFCoreErrorTypeTimeout |
搜索设备超时 |
重试 |
2 |
SFCoreErrorTypeCanceled |
调用了取消连接 |
|
3 |
SFCoreErrorTypeDisconnected |
连接断开 |
|
4 |
SFCoreErrorTypeFailedToConnect |
主动连接失败 |
重试 |
5 |
SFCoreErrorTypeUserStop |
用户主动停止 |
|
6 |
SFCoreErrorTypeInvalidParameter |
无效参数 |
检查输入参数 |
7 |
SFCoreErrorTypeReadFileError |
读取文件失败 |
检查xcode日志,输入参数 |
100 |
SFOtaV3ErrorTypeSearchTimeout |
搜索设备超时 |
重试 |
110 |
SFOtaV3ErrorTypeRequestTimeout |
请求超时 |
重试 |
120 |
SFOtaV3ErrorTypeErrorCodeFromDevice |
设备错误码,errorType为此值时, devErrorCode有值 |
查看设备错误码 |
130 |
SFOtaV3ErrorTypeUnavailableBleStatus |
蓝牙状态异常 |
检查手机蓝牙开关是否打开 |
140 |
SFOtaV3ErrorTypeInvalidParams |
无效参数 |
检查输入sdk的参数内容 |
150 |
SFOtaV3ErrorTypeOutOfRange |
数据超出范围 |
反馈原厂 |
160 |
SFOtaV3ErrorTypeFailToParsePacket |
解析响应数据失败 |
检查固件端响应数据 |
170 |
SFOtaV3ErrorTypeUserStop |
用户主动停止 |
|
180 |
SFOtaV3ErrorTypeRemoteAbort |
手表用户主动停止 |
|
190 |
SFOtaV3ErrorTypeFailToUnzip |
解压失败 |
检查输入zip文件格式 |
200 |
SFOtaV3ErrorTypeNoFileInZip |
解压失败 |
检查输入zip文件格式 |
210 |
SFOtaV3ErrorTypeFailToReadFile |
读取文件失败 |
检查xcode日志 |
220 |
SFOtaV3ErrorTypeDebug |
调试期间才可能出现的错误, 正式版不应当出现 |
|
230 |
SFOtaV3ErrorTypeInvalidMaxDataLen |
设备返回无效的最大切片长度 |
检查固件响应数据 |
240 |
SFOtaV3ErrorTypeInvalidBlockLength |
设备返回无效的块长度 |
检查固件响应数据 |
250 |
SFOtaV3ErrorTypeInvalidExpectIndex |
设备返回无效的期望索引 |
检查固件端 |
260 |
SFOtaV3ErrorTypePushSliceTooLarge |
lose check返回错误码2, 通信错误次数超过3,可能是切片太大 |
|
270 |
SFOtaV3ErrorTypeSliceError |
制作切片出错 |
反馈原厂 |
280 |
SFOtaV3ErrorTypeRspWhenNoRspWriting |
无响应写入期间收到响应 |
反馈原厂,检查固件端 |
290 |
SFOtaV3ErrorTypeV3FileDataRspError |
文件包序号错误 |
反馈原厂,检查固件端 |
300 |
SFOtaV3ErrorTypeV3HcpuImageIdNotFound |
Image列表中没有找到对应的ImageID |
检查ota输入参数文件 |
310 |
SFOtaV3ErrorTypeV3HcpuImageDevice CompleteCountInvalid |
固件端返回的完成切片数量错误 |
反馈原厂,检查固件端 |
320 |
SFOtaV3ErrorTypeV3NandResOrderFileNotExist |
差分包资源的orderFile不存在 |
检查输入差分包 |
330 |
SFOtaV3ErrorTypeV3NandResSubFileNotExist |
nand res order file清单中的文件不存在 |
检查输入差分包 |
340 |
SFOtaV3ErrorTypeV3CtrlFileValidateError |
ctrl file校验错误 |
检查输入的ctrl file, image file一致性 |
2. android Sdk 错误码¶
code |
对应宏 |
含义 |
处理方式 |
|---|---|---|---|
2 |
BLE_DISCONNECTED |
蓝牙失去连接 |
|
3 |
BLE_FAIL_TO_CONNECT |
连接失败 |
|
4 |
BLE_NOTIFY_LISTEN_FAIL |
监听通知失败 |
|
5 |
BLE_SET_MTU_FAIL |
设置 MTU 失败 |
|
6 |
BLE_WRITE_CHARICTER_FAIL |
写入特征值失败 |
检查logcat日志, 是否有写入冲突;设备状态 |
7 |
BLE_DEVICE_NOT_HANDSHAKE |
写入特征值失败,设备未处于握手状态 |
检查logcat日志,结合业务分析 |
8 |
BLE_SEARCH_TIMEOUT |
搜索设备超时 |
重试 |
9 |
BLE_HANDSHAKE_TIMEOUT |
蓝牙握手超时 |
重试 |
10 |
BLE_NOT_ENABLE |
BLE 蓝牙不可用 |
检查手机蓝牙开关 |
11 |
BLE_NO_MAC |
发起连接时缺少 MAC 地址 |
检查输入参数 |
12 |
SF_TASK_TIME_OUT |
任务超时 |
|
13 |
SF_SERIAL_TRANSPORT_RSP_ERROR |
串行协议解析错误 |
检查固件响应数据 |
14 |
SF_MANUAL_STOP |
主动停止 |
|
15 |
SF_INVALID_PARAM |
输入参数有误 |
|
16 |
SF_DEVICE_ERROR_CODE |
设备错误码 |
检查设备错误码 |
17 |
SF_FAIL_TO_READ_FILE |
读取文件错误 |
检查logcat日志 |
230 |
REMOTE_USER_ABORT |
手表端用户终止 |
检查设备错误码 |
330 |
V3_SLICE_ERROR |
切片数据错误 |
检查logcat日志,反馈原厂 |
340 |
V3_PUSH_FAIL_TO_CREATE_CACHE_DIR |
创建缓存目录失败 |
检查logcat,系统环境 |
350 |
V3_PUSH_FAIL_TO_UNZIP_FILE |
解压 zip 文件失败 |
检查输入zip文件 |
360 |
V3_PUSH_FAIL_TO_LIST_FILE |
读取目录中的文件列表失败 |
检查logcat日志,系统环境 |
370 |
V3_PUSH_FILE_NOT_EXIST |
文件不存在 |
检查输入文件参数 |
380 |
V3_PUSH_FAIL_TO_GET_FILE_MD5 |
获取文件 MD5 值失败 |
检查logcat日志,系统环境 |
390 |
V3_RES_INIT_RSP_ERROR |
资源传输响应错误 |
检查固件端响应数据 |
400 |
V3_HCPU_CTRL_DATA_MISSING |
固件 OTA 控制文件缺失 |
检查输入参数 |
410 |
V3_HCPU_UNKOWN_IMAGE_ID |
固件 OTA 未知的 ImageFile ID |
检查固件端 |
420 |
V3_HCPU_IMAGE_ID_NOT_FOUND |
固件 OTA 未找到远端指定的 ImageID |
检查固件端 |
430 |
V3_HCPU_IMAGE_DEVICE_ COMPLETE_COUNT_INVALID |
固件 OTA 远端返回无效的切片完成数量 |
检查固件端 |
440 |
V3_HCPU_IMAGE_RSP_WHEN_ NO_RSP_WRITING |
在无响应写入期间收到响应 |
检查固件端 |
450 |
V3_RES_RSP_WHEN_NO_RSP_WRITING |
在无响应写入期间收到响应 |
检查固件端 |
460 |
V3_FILE_DATA_RSP_ERROR |
文件包序号错误 |
检查固件端响应数据 |
470 |
V3_USER_CANCEL |
用户取消 |
|
480 |
V3_CTRL_CHECK_IMAGE_SIZE_ERROR |
ctrl file 校验 image 数量和传入的不符合 |
检查输入文件 |
490 |
V3_CTRL_CHECK_IMAGE_ID_MISMATCH |
ctrl file 校验 image ID 不匹配 |
检查输入文件 |
500 |
V3_CTRL_CHECK_IMAGE_ID_REPEAT |
ctrl file 校验 image ID 重复 |
检查输入文件 |
520 |
V3_CTRL_DECRYPT_FAIL |
ctrl file 校验 ctrl file 解码失败 |
检查输入文件 |
3. 固件端错误码¶
3.1 固件OTA(蓝牙)¶
code |
对应宏 |
含义 |
|---|---|---|
1 |
General_error |
|
2 |
parameter_invalid |
|
3 |
space_not_enough |
|
4 |
nor_ready |
Dfu nv开机初始化失败 |
5 |
HW_VER |
未启用 |
6 |
SDK_VER_ERROR |
制作升级包时,sdk_ver填写内容错误 |
7 |
FW_VER_ERROR |
制作升级包时,fw_ver填写内容错误 |
8 |
FW_INVALID |
|
9 |
CTRL_PACKET_INVALID |
ctrl包签名验证失败 |
10 |
DOWNLOAD_ONGOING |
55x版本OTA,nor v1,下载中如果中断,再使用start接口开始会报此错,需要使用resume或者force start开始 |
11 |
USER_REJECT |
用户在手表升级弹窗,点击了取消或者超时未点击 |
12 |
UNEXPECT_STATE |
OTA下载中,开始了新的OTA下载,状态错误。需要重试 |
13 |
INDEX_ERROR |
|
14 |
RES_UPDATING |
未启用 |
15 |
PACKET_VERIFY_ERROR |
|
16 |
FLASH_ERROR |
擦flash错误,检查flash驱动,擦的地址和长度是否合法 |
17 |
RES_INSTALL_ERROR |
资源差分包安装失败 |
18 |
内部使用 |
内部使用 |
19 |
IMAGE_VERIFY_FAIL |
同8-2,会自动重试,重试若干次仍然校验不过,会返回错误码8 |
20 |
PACKET_VERIFY_FAIL |
PACKET_VERIFY_FAIL |
code |
对应宏 |
含义 |
|---|---|---|
1 |
General_error |
1. ctrl包解析错误; 2. 数据包解析错误; 3. 不在预期状态接收到数据包,常见于在nor flash升级,OTA manager没有连接成功, 重启到正常模式后,开始发送数据包 |
2 |
parameter_invalid |
1. 升级了未实现的image id; 2. 续传检查错误; 3. 未下载ctrl包中所有image,见于下载结束 |
3 |
space_not_enough |
1. 制作的bin超过了flash map中定义的长度,检查是否制作错误或者flash map结构有变更; 2. 如果变更flash map,需要启用DFU_DISABLE_IMAGE_LENGTH_CHECK |
4 |
nor_ready |
Dfu nv开机初始化失败 |
5 |
HW_VER |
未启用 |
6 |
SDK_VER_ERROR |
制作升级包时,sdk_ver填写内容错误 |
7 |
FW_VER_ERROR |
制作升级包时,fw_ver填写内容错误 |
8 |
FW_INVALID |
1. 安装失败; 2. 单个Image下载完成后检验失败,检查制作和下载的升级升级包是否错误, 检查擦和写的区域是否符合预期,或者读出下载区域和原始bin进行比较 |
9 |
CTRL_PACKET_INVALID |
ctrl包签名验证失败 |
10 |
DOWNLOAD_ONGOING |
55x版本OTA,nor v1,下载中如果中断,再使用start接口开始会报此错, 需要使用resume或者force start开始 |
11 |
USER_REJECT |
用户在手表升级弹窗,点击了取消或者超时未点击 |
12 |
UNEXPECT_STATE |
OTA下载中,开始了新的OTA下载,状态错误。需要重试 |
13 |
INDEX_ERROR |
1. 数据包序号错误; 2. 较新的版本会自动重试,失败次数超过上限时才返回该错误码; 3. 较早的版本会失败,需要尽量减少手机的其他BLE使用,APP置于前台,避免锁屏, iOS的packet frequency调小 |
14 |
RES_UPDATING |
未启用 |
15 |
PACKET_VERIFY_ERROR |
1. 数据包校验错误,较新版本会自动重试; 重传失败次数超过上限时,返回该错误,需检查制作和选择升级包有无错误。 2. 较早版本会失败退出 |
16 |
FLASH_ERROR |
擦flash错误,检查flash驱动,擦的地址和长度是否合法 |
17 |
RES_INSTALL_ERROR |
资源差分包安装失败 |
18 |
内部使用 |
内部使用 |
19 |
IMAGE_VERIFY_FAIL |
同8-2,会自动重试,重试若干次仍然校验不过,会返回错误码8 |
20 |
PACKET_VERIFY_FAIL |
PACKET_VERIFY_FAIL |
3.2 文件接收、进度显示¶
code |
含义 |
|---|---|
65 |
当前UI不支持OTA,原因是页面设置了禁止OTA或者退出页面,未使能OTA |
66 |
版本不支持,暂未使用 |
67 |
空间不足,root分区无空间存储ota辅助文件,或者备份空间不够,或者进入覆盖模式,覆盖安装分区空间不够 |
68 |
总大小未四字节对齐,原因是使能了对齐参数,但是实际大小未对齐 |
69 |
文件大小未四字节对齐,原因是使能了对齐参数,但是实际大小未对齐 |
70 |
创建目录失败 |
71 |
切换目录失败 |
72 |
文件打开失败 |
73 |
文件关闭失败 |
74 |
文件大小错误,接收累计的大小和文件的总大小不匹配 |
75 |
crc校验失败,接收数据有异常 |
76 |
文件写入失败 |
77 |
文件总数校验失败,接收文件的数量和文件的总数量不匹配 |
78 |
申请连续空间失败 |
79 |
用户拒绝 |
80 |
低电拒绝 |
81 |
上一次ota未结束 |
82 |
获取文件状态失败 |
83 |
数据接收超时,超时时间30s |
84 |
img安装失败 |
85 |
ota类型不是指定类型,如在ota异常界面中,只能升级固件,不能升级表盘 |
86 |
文件对齐属性错误,nand 资源升级必须有对齐属性和校验 |
87 |
传输过来的文件路径错误 |
88 |
固件不支持的类型 |
89 |
需要手机需要指定路径(固件未设置目标路径属性) |