一种MBN升级方法与终端与流程

文档序号:24180312发布日期:2021-03-09 11:45阅读:1118来源:国知局
一种MBN升级方法与终端与流程
一种mbn升级方法与终端
技术领域
1.本发明涉及移动通信技术领域,特别涉及一种mbn升级方法与终端。


背景技术:

2.平台mbn(modem configuration binary)是配置modem的二进制文件,用于配置modem的nv(nonvolatile)参数。某平台支持通过android qcril层代码升级mbn,也可支持通过rfs(remote file storage)远程文件存储方式升级mbn,但二者不支持同时使用,只能二选一,否则会导致mbn重复或者无法删除等等异常。
3.其中,rfs升级原理如下:
4.1、系统启动,应用处理器将non-hlos.bin中包括的mbn安装到/vendor/firmware_mnt/image/。
5.2、在自动发现中,modem通过rfs路径/readonly/firmware(android端共享路径)自动发现所有mbn。然后选择/加载的mbn存储在modem efs中。
6.其中,自动发现的工作原理如下所示:
7.a.mpss映像中提供名为mbn_sw.txt的文本文件,路径为modem_proc\mcfg\configs\。此文件列示所有可用mbn。也可以创建一个名为“oem_sw.txt”的文件,并仅列示特定运营商mbn名称。
8.b.如果oem_sw.txt文件存在,它将用于确定mpss(modem)生成哪些运营商mbn。设备有oem_sw.txt存在时则将不再使用mbn_sw.txt。
9.c.mbn的哈希文件名为“digest”,与文件名mbn_sw.dig处于同一位置。mcfg使用此“digest”比较mbn中是否作出了任何更改。mbn文件内容有变化则digest会改变。
10.d.当“digest”发生更改时,仅删除作为“remote”类型添加的mbn。
11.e.oem_sw.txt或mbn_sw.txt中包括的所有mbn都将自动添加到modem。
12.3、所有mbn的尾记录都存储在modem efs中,以实现更快的选择和列表查询。
13.4、根据插入的sim卡,mcfg基于尾记录选取mbn。如果mbn尚未存储到本地位置,它会从modem efs中删除一些最近最少使用的mbn以腾出空间,并将所需的mbn从远程位置复制到本地。
14.其中,qcril ota mbn原理如下:
15.1、系统启动,应用处理器将non-hlos.bin中包括的各mbn文件、版本信息ver_info.txt、mbn列表mbn_ota.txt安装到/vendor/firmware_mnt/下对应目录。
16.2、启动过程,先判断设备新的ver_info.txt和上次的ver_info.txt是否一样,不一样则将/vendor/firmware_mnt/下各mbn文件、mbn_ota.txt、ver_info.txt拷贝到/data/vendor/modem_config/下。
17.3、qcril启动会判断属性persist.vendor.radio.start_ota_daemon是否为1,为1支持qcril ota mbn,否则不支持。默认不支持。
18.4、如果支持qcril ota mbn,则qcril会读取/data/vendor/modem_config/下各个
mbn和mpss中mbn逐一比较mbn的version版本号(版本号格式aabbccdd),如果相同则标记为matched状态。
19.5、关闭modem侧mbn自动选择功能。
20.6、删除掉modem侧非matched状态的mbn。
21.7、加载android端本地非matched状态的mbn到modem,存储到modem的类型为“local”。
22.8、开启modem侧mbn自动选择mbn。
23.9、modem根据sim卡信息自动加载对应运营商的mbn配置设备,并进行搜网和注册网络。
24.其中,qcril ota mbn和rfs的主要区别在于:
25.qcril ota mbn存储在modem的efs中。而rfs机制的mbn存储在ap端共享文件下,mbn的尾记录存储在modem efs中,modem可以通过尾记录来加载android端共享文件下的mbn,以减少modem efs占用空间。
26.默认状态是rfs功能开启,而qcril otambn是关闭的。
27.使用以上两种升级方式存在如下缺点:
28.1、需要烧写工具进行升级,不利于客户独立操作。
29.2、不管rfs还是qcril ota升级mbn,因不支持个别mbn升级,需携带指定要升级和不需要升级的mbn,镜像会变大,影响升级效率。


技术实现要素:

30.本发明所要解决的技术问题是:提供一种mbn升级方法与终端,提高mbn升级的效率和方便性。
31.为了解决上述技术问题,本发明采用的技术方案为:
32.一种mbn升级方法,包括:
33.s1、根据预设apk请求,生成升级文档并存入第二目录,根据所述升级文档下载需要升级的各mbn二进制文件并存入所述第二目录的对应路径下,重启设备;
34.s2、判断所述第二目录中是否存在所述升级文档,若是,则将所述升级文档和对应的各mbn二进制文件拷贝到第一目录;
35.s3、创建ota mbn线程,由ota mbn线程读取所述升级文档和设备的modem侧的mbn信息,并根据所述升级文档、所述第一目录下的各mbn二进制文件和所述modem侧的mbn信息对mbn进行更新。
36.为了解决上述技术问题,本发明采用的另一种技术方案为:
37.一种mbn升级终端,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
38.s1、根据预设apk请求,生成升级文档并存入第二目录,根据所述升级文档下载需要升级的各mbn二进制文件并存入所述第二目录的对应路径下,重启设备;
39.s2、判断所述第二目录中是否存在所述升级文档,若是,则将所述升级文档和对应的各mbn二进制文件拷贝到第一目录;
40.s3、创建ota mbn线程,由ota mbn线程读取所述升级文档和设备的modem侧的mbn
信息,并根据所述升级文档、所述第一目录下的各mbn二进制文件和所述modem侧的mbn信息对mbn进行更新。
41.本发明的有益效果在于:本发明采用apk安装,不需要复杂的烧写工具升级,更加方便客户独立操作升级,提高了mbn升级的方便性,且本发明通过预设apk生成升级文档,并且只下载需要升级的mbn二进制文件,对设备modem中的mbn进行更新,即本发明支持升级个别mbn,不用全部打包mbn,既保留了rfs节省modem efs空间的优点,也减少升级包大小及减少升级过程的时间和流量,提高了升级效率。
附图说明
42.图1为本发明实施例的一种mbn升级方法的流程图;
43.图2为本发明实施例的一种mbn升级终端的结构图;
44.图3为本发明实施例的一种mbn升级方法的详细流程图;
45.标号说明:
46.1、一种mbn升级终端;2、处理器;3、存储器。
具体实施方式
47.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
48.请参照图1以及图3,一种mbn升级方法,包括:
49.s1、根据预设apk请求,生成升级文档并存入第二目录,根据所述升级文档下载需要升级的各mbn二进制文件并存入所述第二目录的对应路径下,重启设备;
50.s2、判断所述第二目录中是否存在所述升级文档,若是,则将所述升级文档和对应的各mbn二进制文件拷贝到第一目录;
51.s3、创建ota mbn线程,由ota mbn线程读取所述升级文档和设备的modem侧的mbn信息,并根据所述升级文档、所述第一目录下的各mbn二进制文件和所述modem侧的mbn信息对mbn进行更新。
52.从上述描述可知,本发明的有益效果在于:本发明采用apk安装,不需要复杂的烧写工具升级,更加方便客户独立操作升级,提高了mbn升级的方便性,且本发明通过预设apk生成升级文档,并且只下载需要升级的mbn二进制文件,对设备modem中的mbn进行更新,即本发明支持升级个别mbn,不用全部打包mbn,既保留了rfs节省modem efs空间的优点,也减少升级包大小及减少升级过程的时间和流量,提高了升级效率。
53.进一步的,所述步骤s3中所述根据所述升级文档、所述第一目录下的各mbn二进制文件和所述modem侧的mbn信息对mbn进行更新具体为:
54.s31、判断所述升级文档是否包含第一mbn文件信息,若是,则执行步骤s32,否则判断所述modem侧是否存在第一已加载mbn文件,若是,则删除所述modem侧存在的第一已加载mbn文件;
55.s32、判断所述modem侧是否存在第一已加载mbn文件,若是,则执行步骤s33,否则判断所述第一目录下是否存在第一待升级mbn文件,若是,则将所述第一待升级mbn文件加载到modem侧;
56.s33、判断所述第一目录下是否存在第一待升级mbn文件,若是,则比较所述第一待升级mbn文件和所述第一已加载mbn文件的版本号,并根据比较结果进行对应的操作。
57.由上述描述可知,本发明根据不同的情况,执行了不同的更新操作,包括新增和删除,以适应不同的操作需求。
58.进一步的,所述比较第一目录下的第一待升级mbn文件和modem侧已加载的第一待升级mbn文件的版本号,并根据比较结果进行对应的操作具体为:
59.判断所述第一待升级mbn文件的版本号是否小于或等于所述已加载第一已加载mbn文件的版本号,若是,则不对所述第一已加载mbn文件进行升级,否则判断所述已加载第一已加载mbn文件的状态是否为非激活状态,若是,则删除所述已加载第一已加载mbn文件,并将所述第一待升级mbn文件加载到modem,否则将所述已加载第一已加载mbn文件解除激活,而后删除所述已加载第一已加载mbn文件,并将所述第一待升级mbn文件加载到modem,并激活所述第一待升级mbn文件。
60.由上述描述可知,本发明还根据待更新mbn文件和已加载mbn文件的版本号进行判断是否需要更新,且对于激活状态的mbn文件需要进行去激活,使本发明能够适用于不同的场景,更加全面。
61.进一步的,所述步骤s1和步骤s2之间还包括:
62.s11、将预设的平台私有固件bin文件中的各mbn二进制文件和预设文档存入第三目录,并根据预设文档判断平台私有固件bin文件是否进行过更新,若进行过更新,则将第三目录下的所述各mbn二进制文件拷贝到第一目录。
63.由上述描述可知,本发明还适用于平台本身的rfs升级机制,只要在原有的rfs升级的自动发现流程基础上,调整删除remote类型的mbn为删除remote和local类型的mbn,即可实现了rfs mbn升级和qcril mbn升级共存,解决了某些不允许或不方便ota的情况。
64.进一步的,所述步骤s1之前还包括:
65.s01、对预设apk进行认证,判断预设apk是否符合预设的特定权限,若符合,则进入步骤s1;
66.步骤s2和s3之间还包括:
67.s21、初始化qcril,判断设备是否支持mbn ota,若支持则进入步骤s3。
68.由上述描述可知,本发明还需要对预设apk进行认证,只有认证通过的apk才能进行后续的步骤,提高了安全性,此外,还需要初始化qcril并提供设备是否支持mbn ota的判断,更加严谨。
69.请参照图2,一种mbn升级终端,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
70.s1、根据预设apk请求,生成升级文档并存入第二目录,根据所述升级文档下载需要升级的各mbn二进制文件并存入所述第二目录的对应路径下,重启设备;
71.s2、判断所述第二目录中是否存在所述升级文档,若是,则将所述升级文档和对应的各mbn二进制文件拷贝到第一目录;
72.s3、创建ota mbn线程,由ota mbn线程读取所述升级文档和设备的modem侧的mbn信息,并根据所述升级文档、所述第一目录下的各mbn二进制文件和所述modem侧的mbn信息对mbn进行更新。
73.从上述描述可知,本发明的有益效果在于:本发明采用apk安装,不需要复杂的烧写工具升级,更加方便客户独立操作升级,提高了mbn升级的方便性,且本发明通过预设apk生成升级文档,并且只下载需要升级的mbn二进制文件,对设备modem中的mbn进行更新,即本发明支持升级个别mbn,不用全部打包mbn,既保留了rfs节省modem efs空间的优点,也减少升级包大小及减少升级过程的时间和流量,提高了升级效率。
74.进一步的,所述步骤s3中所述根据所述升级文档、所述第一目录下的各mbn二进制文件和所述modem侧的mbn信息对mbn进行更新具体为:
75.s31、判断所述升级文档是否包含第一mbn文件信息,若是,则执行步骤s32,否则判断所述modem侧是否存在第一已加载mbn文件,若是,则删除所述modem侧存在的第一已加载mbn文件;
76.s32、判断所述modem侧是否存在第一已加载mbn文件,若是,则执行步骤s33,否则判断所述第一目录下是否存在第一待升级mbn文件,若是,则将所述第一待升级mbn文件加载到modem侧;
77.s33、判断所述第一目录下是否存在第一待升级mbn文件,若是,则比较所述第一待升级mbn文件和所述第一已加载mbn文件的版本号,并根据比较结果进行对应的操作。
78.由上述描述可知,本发明根据不同的情况,执行了不同的更新操作,包括新增和删除,以适应不同的操作需求。
79.进一步的,所述比较第一目录下的第一待升级mbn文件和modem侧已加载的第一待升级mbn文件的版本号,并根据比较结果进行对应的操作具体为:
80.判断所述第一待升级mbn文件的版本号是否小于或等于所述已加载第一已加载mbn文件的版本号,若是,则不对所述第一已加载mbn文件进行升级,否则判断所述已加载第一已加载mbn文件的状态是否为非激活状态,若是,则删除所述已加载第一已加载mbn文件,并将所述第一待升级mbn文件加载到modem,否则将所述已加载第一已加载mbn文件解除激活,而后删除所述已加载第一已加载mbn文件,并将所述第一待升级mbn文件加载到modem,并激活所述第一待升级mbn文件。
81.由上述描述可知,本发明还根据待更新mbn文件和已加载mbn文件的版本号进行判断是否需要更新,且对于激活状态的mbn文件需要进行去激活,使本发明能够适用于不同的场景,更加全面。
82.进一步的,所述处理器执行所述计算机程序时所述步骤s1和步骤s2之间还包括:
83.s11、将预设的平台私有固件bin文件中的各mbn二进制文件和预设文档存入第三目录,并根据预设文档判断平台私有固件bin文件是否进行过更新,若进行过更新,则将第三目录下的所述各mbn二进制文件拷贝到第一目录。
84.由上述描述可知,本发明还适用于平台本身的rfs升级机制,只要在原有的rfs升级的自动发现流程基础上,调整删除remote类型的mbn为删除remote和local类型的mbn,即可实现了rfs mbn升级和qcril mbn升级共存,解决了某些不允许或不方便ota的情况。
85.进一步的,所述处理器执行所述计算机程序时所述步骤s1之前还包括:
86.s01、对预设apk进行认证,判断预设apk是否符合预设的特定权限,若符合,则进入步骤s1;
87.步骤s2和s3之间还包括:
88.s21、初始化qcril,判断设备是否支持mbn ota,若支持则进入步骤s3。
89.由上述描述可知,本发明还需要对预设apk进行认证,只有认证通过的apk才能进行后续的步骤,提高了安全性,此外,还需要初始化qcril并提供设备是否支持mbn ota的判断,更加严谨。
90.请参照图1和图3,本发明的实施例一为:
91.一种mbn升级方法,包括:
92.s01、对预设apk进行认证,判断预设apk是否符合预设的特定权限,若符合,则进入步骤s1;
93.s1、根据预设apk请求,生成升级文档并存入第二目录,根据所述升级文档下载需要升级的各mbn二进制文件并存入所述第二目录的对应路径下,重启设备;
94.本实施例中,根据预设apk将mbn_ota.txt存放到a目录下,将各mbn二进制文件根据mbn_ota.txt里的内容的路径存放到a目录下,然后重启设备。所述mbn_ota.txt即升级文档,所述a目录即第二目录。
95.所述步骤s1和步骤s2之间还包括:
96.s11、将预设的平台私有固件bin文件中的各mbn二进制文件和预设文档存入第三目录,并根据预设文档判断平台私有固件bin文件是否进行过更新,若进行过更新,则将第三目录下的所述各mbn二进制文件拷贝到第一目录。
97.本实施例中,将non-hlos.bin中的各mbn和ver_info.txt存储到b目录下,如果ver_info.txt有变化,则将b目录下的各mbn文件拷贝到c目录下。non-hlos.bin即平台私有固件bin文件,ver_info.txt即预设文档,b目录即第三目录,c目录即第一目录。
98.s2、判断所述第二目录中是否存在所述升级文档,若是,则将所述升级文档和对应的各mbn二进制文件拷贝到第一目录;
99.本实施例中,判断a目录下的mbn_ota.txt文件是否存在,存在则认为要升级,将a目录下mbn_ota.txt和各mbn文件拷贝到c目录下。
100.步骤s2和s3之间还包括:
101.s21、初始化qcril,判断设备是否支持mbn ota,若支持则进入步骤s3;
102.s3、创建ota mbn线程,由ota mbn线程读取所述升级文档和设备的modem侧的mbn信息,并根据所述升级文档、所述第一目录下的各mbn二进制文件和所述modem侧的mbn信息对mbn进行更新;
103.其中,所述步骤s3中所述根据所述升级文档、所述第一目录下的各mbn二进制文件和所述modem侧的mbn信息对mbn进行更新具体为:
104.s31、判断所述升级文档是否包含第一mbn文件信息,若是,则执行步骤s32,否则判断所述modem侧是否存在第一已加载mbn文件,若是,则删除所述modem侧存在的第一已加载mbn文件;
105.s32、判断所述modem侧是否存在第一已加载mbn文件,若是,则执行步骤s33,否则判断所述第一目录下是否存在第一待升级mbn文件,若是,则将所述第一待升级mbn文件加载到modem侧;
106.s33、判断所述第一目录下是否存在第一待升级mbn文件,若是,则比较所述第一待升级mbn文件和所述第一已加载mbn文件的版本号,并根据比较结果进行对应的操作;
107.其中,所述比较第一目录下的第一待升级mbn文件和modem侧已加载的第一待升级mbn文件的版本号,并根据比较结果进行对应的操作具体为:
108.判断所述第一待升级mbn文件的版本号是否小于或等于所述已加载第一已加载mbn文件的版本号,若是,则不对所述第一已加载mbn文件进行升级,否则判断所述已加载第一已加载mbn文件的状态是否为非激活状态,若是,则删除所述已加载第一已加载mbn文件,并将所述第一待升级mbn文件加载到modem,否则将所述已加载第一已加载mbn文件解除激活,而后删除所述已加载第一已加载mbn文件,并将所述第一待升级mbn文件加载到modem,并激活所述第一待升级mbn文件。
109.本实施例中,初始化qcril,判断设备是否支持mbn ota,若支持则将创建ota mbn线程,ota mbn线程读取c目录下的mbn_ota.txt文件,该文件含有各mbn列表,每行是一个mbn路径信息,其中某行如下所示:
110.mcfg_sw/generic/china/cmcc/commerci/volte_op/mcfg_sw.mbn
111.意思是该mbn的本地存放路径是:
112.c目录下的mcfg_sw/generic/china/cmcc/commerci/volte_op/mcfg_sw.mbn。
113.ota mbn线程读取modem端的mbn,如果mbn_ota.txt列表和c目录下有某运营商mbn,而modem端没有这mbn,则加载mbn到modem端;
114.如果modem端有某运营商mbn,而mbn_ota.txt列表没有该mbn,则删除modem端的mbn;
115.如果mbn_ota.txt列表和c目录下有某运营商mbn,而modem端也有这mbn,则进行mbn版本号比较:
116.a、android端的要升级的mbn版本号若小于或等于modem端mbn的版本号,则认为该mbn不需要不升级。
117.b、如果android端的mbn版本号大于modem端的mbn版本号则进行判断该mbn是否处于已激活actvie状态,若非激活状态则直接删除,然后加载mbn到modem端。
118.c、已激活状态则得先去激活,然后才可以删除该mbn,然后再加载mbn到modem端,接下来设置为选择select状态,用于切换到激活active状态,最后modem激活该mbn用于配置modem nv参数。
119.请参照图2,本发明的实施例二为:
120.一种mbn升级终端1,包括处理器2、存储器3及存储在存储器3上并可在处理器2上运行的计算机程序,所述处理器2执行所述计算机程序时实现以上实施例1中的步骤。
121.综上所述,本发明提供的一种mbn升级方法与终端,采用apk安装,不需要复杂的烧写工具升级,更加方便客户独立操作升级,提高了mbn升级的方便性,且本发明通过预设apk生成升级文档,并且只下载需要升级的mbn二进制文件,对设备modem中的mbn进行更新,即本发明支持升级个别mbn,不用全部打包mbn,既保留了rfs节省modem efs空间的优点,也减少升级包大小及减少升级过程的时间和流量,提高了升级效率;本发明根据升级文档和modem侧mbn信息,进行不同的升级,适用性更强;在apk使用前需要进行认证,提高了安全性;且本发明还适用于平台本身的rfs升级机制,只要在原有的rfs升级的自动发现流程基础上,调整删除remote类型的mbn为删除remote和local类型的mbn,即可实现了rfs mbn升级和qcril mbn升级共存,解决了某些不允许或不方便ota的情况。
122.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1