ATI
Quectel
RM500U-CNV
Revision: RM500UCNVAAR03A01M2G
AT+QFOTADL=“http://x.x.x.x:8300/D/RM500UCNVAAR03A07M2G_01.001.01.001.zip”
+QIND: “FOTA”,“HTTPDL”,38
+QIND: “FOTA”,“HTTPEND”,701
每次下载到38%就停止了,从Web服务端抓包,是模组侧主动断开了连接,不知道为什么
ATI
Quectel
RM500U-CNV
Revision: RM500UCNVAAR03A01M2G
AT+QFOTADL=“http://x.x.x.x:8300/D/RM500UCNVAAR03A07M2G_01.001.01.001.zip”
+QIND: “FOTA”,“HTTPDL”,38
+QIND: “FOTA”,“HTTPEND”,701
每次下载到38%就停止了,从Web服务端抓包,是模组侧主动断开了连接,不知道为什么
AT+COPS?:查询网络注册和运营商。
AT+CEREG?:查询 EPS 注网状态。
AT+CREG?:查询 CS 域注册状态。
AT+CGATT?:查询 PS 域附着状态。
AT+CGPADDR?:查询默认 PDN 分配的 IP 地址。
AT+C5GREG?:查询 5GS 网络注册状态。
AT+QNETDEVSTATUS=<cid>:查询网卡状态。
AT+QIACT?
升级前查询下。
升级过程不要有其他的操作。
这几个指令我倒没有关注,我是在执行OTA命令的同时,在ping测试OTA服务器的网络的延时,网络延时大概在100ms左右,我也怀疑过网络不稳定,后来我把OTA服务器放在了局域网,配置咱的模组为网桥模式,此时的下载速度就很快了,但也是到38%就中止了。
我的开发板是mt7621,nor flash是32M,内存512,我也担心是不是开发板的磁盘空间不够,我也试过在内存映射的/tmp目录或者挂载的U盘的目录,执行minicom -D /dev/ttyUSB2的命令,但都不行
这个OTA包不应该是放在7621 上的,是应该放到模块内的flash 上。可以这样尝试下。
如何将OTA包传到模块内部,这个需要使用AT+QFUPL指令上传到模块内的ufs上。
RM500U-CNV RM500UCNVAAR03A01M2G,除了AT+QFUPL,还有其他指令可以上传差分包到模块内部吗?或者还有没有其他可以升级模组版本的方法?
admin@BSAFE:$ minicom -D /dev/ttyUSB2 这是我在开发板的SSH命令行执行的
Welcome to minicom 2.7
OPTIONS:
Compiled on Dec 13 2024, 12:21:40.
Port /dev/ttyUSB_AT_S0
Press CTRL-A Z for help on special keys
ati
Quectel
RM500U-CNV
Revision: RM500UCNVAAR03A01M2G #这是5G模组当前的版本
OK
AT+QFUPL? #您建议的命令好像不支持,我在RM500U的AT手册上也没搜到这个指令
+CME ERROR: 4
AT+QFUPL
+CME ERROR: 4
AT+QFOTADL=“http://192.168.1.162/tftp32/07.zip” #这是我执行OTA升级的指令,OTA服务器在我的局域网内,网络延时肯定是没有问题的,5G模组配置为网桥模式,所以跟局域网是通的
OK
+QIND: “FOTA”,“HTTPSTART”
+QIND: “FOTA”,“HTTPDL”,0
+QIND: “FOTA”,“HTTPDL”,1
+QIND: “FOTA”,“HTTPDL”,17
+QIND: “FOTA”,“HTTPDL”,32
+QIND: “FOTA”,“HTTPDL”,37
+QIND: “FOTA”,“HTTPDL”,38 #每次到38%就中止
+QIND: “FOTA”,“HTTPEND”,701 #抓包看,是5G模组这边主动断开的
AT+QFLST
查询下有什么文件。
我给你发一个工具,Linux 系统上使用的,可以将文件上传到模块内部的。
a.out -f DFOTA_package -p AT_port
将OTA包传到UFS里,然后用AT+QFLST检查下大小是否正确。
交叉编译DTool后,执行quectel_dtool -f /tmp/RM500UCNVAAR03A07M2G_01.001.01.001.zip -p /dev/ttyUSB2命令,跟踪代码,发现走到AT+QFDEL向AT接口发送数据后,一直等不到回复
main, 326, size:88255288
main, 338, fName:RM500UCNVAAR03A07M2G_01.001.01.001.zip
main, 341
main, 343
< 0 - [55] - 'AT+QFDEL=“UFS:RM500UCNVAAR03A07M2G_01.001.01.001.zip” ’ #用strace跟踪,发现一直在_newselect(5, [4], NULL, [4], {1, 0}) = 0 (Timeout)
于是跳过上一步,直接按DTool中后边的逻辑,直接执行AT+QFUPL=“UFS:RM500UCNVAAR03A07M2G_01.001.01.001.zip”,88255288
Invalid parameter
+CME ERROR: 4
这个文件太大了吧。这个文件多大你看看?这个是OTA包吗?
OTA 包是谁提供给你的?
你那个是不是只是正常USB升级的固件?
RM500UCNVAAR03A07M2G_01.001.01.001.zip 这个包有84.1MB
解压之后的目录如下:
diaowq@baomu-dev:~/5G$ ls -l RM500UCNVAAR03A07M2G_01.001.01.001/
total 1016
-rwxrw-r-- 1 diaowq diaowq 152 3月 8 2024 md5sums
drwxrwxr-x 2 diaowq diaowq 4096 12月 16 17:17 ModemParser
-rwxrw-r-- 1 diaowq diaowq 1027721 3月 29 2024 Quectel_RM500U-CNV-AA_软件版本变更说明_V0307_01.001.01.001.pdf
drwxrwxr-x 2 diaowq diaowq 4096 12月 16 17:17 update
diaowq@baomu-dev:~/5G$ ls -l RM500UCNVAAR03A07M2G_01.001.01.001/update/
total 113792
-rwxrw-r-- 1 diaowq diaowq 116512515 3月 8 2024 udx710_module+initgc+console+sec-user-native_FDDNRSEC_21A.pac
-rwxrw-r-- 1 diaowq diaowq 299 3月 8 2024 version
diaowq@baomu-dev:~/5G$ ls -l RM500UCNVAAR03A07M2G_01.001.01.001/ModemParser/
total 95656
-rwxrw-r-- 1 diaowq diaowq 4220786 3月 8 2024 etsmsg.txt
-rwxrw-r-- 1 diaowq diaowq 1939040 3月 8 2024 lte_Message_Define.def
-rwxrw-r-- 1 diaowq diaowq 2560107 3月 8 2024 lteps_air_msg_dll.dll
-rwxrw-r-- 1 diaowq diaowq 8108 3月 8 2024 lte_signal_id_header_gen.h
-rwxrw-r-- 1 diaowq diaowq 2986 3月 8 2024 lte_task_id_header_gen.h
-rwxrw-r-- 1 diaowq diaowq 560 3月 8 2024 MapStruct.map
-rwxrw-r-- 1 diaowq diaowq 9068480 3月 8 2024 Message_Define.def
-rwxrw-r-- 1 diaowq diaowq 72695890 3月 8 2024 mtcdbginfo.dll
-rwxrw-r-- 1 diaowq diaowq 775233 3月 8 2024 mtcoffset.dat
-rwxrw-r-- 1 diaowq diaowq 775233 3月 8 2024 mtcoffset_win.dat
-rwxrw-r-- 1 diaowq diaowq 23816 3月 8 2024 signal_id_header_gen.h
-rwxrw-r-- 1 diaowq diaowq 4095 3月 8 2024 sprdMsgId.txt
-rwxrw-r-- 1 diaowq diaowq 533 3月 8 2024 StringRecord.bin
-rwxrw-r-- 1 diaowq diaowq 2948 3月 8 2024 task_id_header_gen.h
-rwxrw-r-- 1 diaowq diaowq 5663881 3月 8 2024 Trace_Data.bin
-rwxrw-r-- 1 diaowq diaowq 180224 3月 8 2024 TraceId2Trace.dll
这个包是我们硬件采购部门找上游模组厂家要的,这个包有可能是在PC上通过USB口,再结合QFlash来使用的吧。
我手上没有usb转m.2转接卡,所以想在开发板上使用AT接口去给模组升级,如果这种方法行的通的话,后续也方便我们已上线的产品也通过这种方式更新5G模组的版本。您有我期望的这种升级方式的升级包和文档资料吗,我邮箱dwq@baomutech.com,方便的话转我一下,多谢。
这个文件的大小不是一个OTA包。这个是可以用Linux 升级的固件。
这个只能在Linux host 这边升级,如果说Linux host 空间不够那暂无其他方法。
应该让他们帮你申请DFOTA 包。
@BiaoWang-Q 确实是的,按您的建议,我要来了可用的差分包,可以升级了。感谢您的指导。
好的。
DFOTA包可以考虑用这种方式放在HTTP/FTP服务器上
要保证网络畅通。
DFOTA 包相对全包小许多,如果没有FTP/HTTP服务器, 可以先用AT命令将DFOTA 包传入模块内部,然后再使用QFOTADL命令进行升级。