OTA 调试说明
目录说明
服务器 OTA 地址
- 外网情况下,
注意:
-
内网情况下
- 直接通过 IP 浏览内网服务器 OTA 目录
目录同步说明
Nas 目录 websync
自动同步到 OTA 服务器目录,所以请 /websync/Web_Fanconn_ota
/websync/Web_Fanconn_ota
---> 10.0.0.15 的 /www/ota/
/websync/Web_Fanconn_ota
---> fanconn.com 的 /www/ota/
1. 先开启错误信息返回,方便调试
- 内网已经修改好。直接可以使用
取消注释 ssh root@10.0.0.15
vim /www/ota/FancInfo.php
// 如果不希望报错。直接返回最新版
$res = implode('/', [$url, 'FancInfo_Version.php?version='.$version]);
2. 查看日志
先在设备上点一下 OTA 升级,然后查看日志
公司内部日志 http://10.0.0.15/logss/
外部服务器日志 https://fanconn.com/logss/
例如,其中 request_url
就是 OTA 提交的请求。
{"timestamp":"2025-08-16T03:00:34+00:00",
"response_time": "0.002",
"client_load_time": "0.002",
"remote_addr":"10.0.1.144",
"http_x_forwarded_for":"-",
"request_status":"GET-200---",
"request_url":"http://fanconn.com:80/ota/FancInfo.php?module=SC228&target=KangR&product=GMJ&version=1.4.3&platform=DC685&enable=true&sn=ac5093b6&wifimac=000af57cef74&IMEI=null&release=A14",
"referer":"-",
"user_agent":"okhttp/4.12.0"
"http_expires":"-",
"http_Dnt":"-",
"http_Pragma":"-",
"http_Cache_Control":"-",
"http_Priority":"-",
"http_authorization":"-",
"upstream_addr":"unix:/run/php/php8.3-fpm.sock",
"upstream_status":"200"
}
3. 直接浏览器访问 request_url
正常返回
返回值为:
https://fanconn.com/ota/GMJ/SC228/DC685/A14/KangR/1.4.3/1.4.3-result.json
直接取消后缀,直接浏览当前版本,
https://fanconn.com/ota/GMJ/SC228/DC685/A14/KangR/
左上角可以看到 具体目录 /ota/GMJ/SC228/DC685/A14/KangR/
可以在 OTA 服务器 直接编辑 version.json
错误返回
如果返回如下错误,直接根据提示,补齐对应目录和文件即可。
错误: /www/ota/GMJ/SC228/DC686/A14/KangR 目录不存在
错误: /www/ota/GMJ/SC228/DC686/A14/KangR 目录读取失败
错误: 版本文件 /www/ota/GMJ/SC228/DC686/A14/KangR/result.json 或 /www/ota/GMJ/SC228/DC686/A14/KangR/version.json 不存在
引入新 固件,例如 KangR
创建目录 更新版本
-
根据提示
错误: /www/ota/GMJ/SC228/DC686/A14/KangR 目录不存在
, 在 Nas 创建对应目录结构/websync/Web_Fanconn_ota
/GMJ/SC228/DC686/A14/KangR
-
根据提提示
错误: 版本文件 /www/ota/GMJ/SC228/DC686/A14/KangR/result.json 或 /www/ota/GMJ/SC228/DC686/A14/KangR/version.json 不存在
, 在 Nas 复制/websync/Web_Fanconn_ota/example.json
/websync/Web_Fanconn_ota/GMJ/SC228/DC685/A14/KangR/version.json
并编辑 2.0.0 为当前需要的版本
{
"version": "2.0.0",
"firmware": ["null","null"],
"md5sum": ["null", "null"],
"details": "null",
"yanked": false
}
上传指定版本
- 浏览器再次访问
- 错误提示:
错误: /www/ota/GMJ/SC228/DC685/A14/KangR/2.0.0 版本目录不存在
错误: /www/ota/GMJ/SC228/DC685/A14/KangR/2.0.0/2.0.0-result.json 全量版本不存在
错误: /www/ota/GMJ/SC228/DC685/A14/KangR/2.0.0/1.4.3-2.0.0-result.json 差分版本不存在
创建 对应的升级版本的目录 ota/GMJ/SC228/DC685/A14/KangR/2.0.0
- 根据错误提示 继续在 在 Nas 复制
version.json
到对应的2.0.0
版本目录
如果是全量版本,则将 version.json
复制到 /2.0.0/2.0.0-result.json
如果是差分版本,则将 version.json
复制到 /2.0.0/1.4.3-2.0.0-result.json
(当前版本-更新版本-result.json)
- 上传编辑具体更新文件
复制到 nas 上传文件 /2.0.0/1.4.3-2.0.0-update.zip
复制到 nas 上传文件 /2.0.0/1.4.3-2.0.0-config.json
例如进入 https://fanconn.com/ota/GMJ/SC228/DC685/A14/KangR/2.0.0/
找到对应固件点击右键,复制链接地址。
地址可以通过 ota 请求截取
[http://fanconn.com:80/ota/FancInfo.php?module=SC228&target=KangR&product=GMJ&version=1.4.3&platform=DC685&enable=true&sn=ac5093b6&wifimac=000af57cef74&IMEI=null&release=A14](http://fanconn.com:80/ota/FancInfo.php?module=SC228&target=KangR&product=GMJ&version=1.4.3&platform=DC685&enable=true&sn=ac5093b6&wifimac=000af57cef74&IMEI=null&release=A14)
- 例如 编辑差分版本
/2.0.0/1.4.3-2.0.0-result.json
写入
{
"version": "2.0.0",
"firmware": ["http://fanconn.com/ota/GMJ/SC228/DC685/A14/KangR/1.4.3/1.4.2-1.4.3-update.zip","http://fanconn.com/ota/GMJ/SC228/DC685/A14/KangR/1.4.3/1.4.2-1.4.3-config.json"],
"md5sum": ["填写实际 md5", "填写实际 md5"],
"details": "# 海外版本不要写中文",
"yanked": false
}
说明:
版本号: 2.0.0
固件下载路径:
update.zip
config.zip
md5sum: 按顺序
update.zip
config.zip
对应 md5details: 详情,
注意海外版不要写中文 yanked: 强制升级,true:
只能点升级,不能退出
- 编辑全量版本
/2.0.0/2.0.0-result.json
全量版本 不同于 旧版本-新版本的文件名, 直接取名为 新版本目录
/新版本-result.json