跳到主要内容

OTA 调试说明


目录说明


服务器 OTA 地址

  1. 外网情况下,

注意: 公司内部网络通过这个地址会访问内网服务器,不消耗外网流量

http://fanconn.com/ota/

  1. 内网情况下

    • 直接通过 IP 浏览内网服务器 OTA 目录

    http://10.0.0.15/?directory=/ota/


目录同步说明

Nas 目录 websync 自动同步到 OTA 服务器目录,所以请 直接编辑 nas 的 /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

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


正常返回

返回值为: 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


创建目录 更新版本

  1. 根据提示 错误: /www/ota/GMJ/SC228/DC686/A14/KangR 目录不存在, 在 Nas 创建对应目录结构 /websync/Web_Fanconn_ota /GMJ/SC228/DC686/A14/KangR

  2. 根据提提示 错误: 版本文件 /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
}

上传指定版本

  1. 浏览器再次访问

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

  1. 错误提示:
错误: /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

  1. 根据错误提示 继续在 在 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)

  1. 上传编辑具体更新文件

复制到 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)

  1. 例如 编辑差分版本 /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 对应 md5

details: 详情,注意海外版不要写中文

yanked: 强制升级,true: 只能点升级,不能退出

  1. 编辑全量版本 /2.0.0/2.0.0-result.json

全量版本 不同于 旧版本-新版本的文件名, 直接取名为 新版本目录/新版本-result.json