机顶盒ipanel中间件 升级说明
- 相关JS接口
1、中间件监控NIT表中的相应的字段。
2、匹配到tag值为0x4a,linkage_type为0x09的字段【不同项目的linkage_type值可能不同】。
3、中间件调用porting的ipanel_upgrade_check接口,将section数据传给porting。
4、Porting检测是否有升级信息,并将相应的值返回给中间件。一般1表示手动升级,2表示强制升级。
5、中间价根据ipanel_upgrade_check的返回值发送相应的消息给页面。如果返回值为1或者2,中间件分别给页面发送8381和8380消息,并将保存相应的section数据。
6、页面如果收到8380消息,表示进行强制升级,调用中间件software.upgrade.start接口。
7、如果收到8381消息,表示进行手动升级,如果用户选择进行升级,调用中间件software.upgrade.start接口。
8、中间件调用ipanel_upgrade_start接口,并将已经记录的section数据传给porting。
9、Porting在该start接口中会调用中间件Ipanel_upgrade_getparams来获取升级pid 等信息。
10、第一次调用ipanel_upgrade_getparams会失败,获取不到升级数据,中间件会根据返回值发送8383消息给页面,同时在该接口返回前,中间件会启动loader搜索,然后返回-1值。
11、 loader搜索结束时,中间件再次调用ipanel_upgrade_start接口。
12、相应的,porting会再次调用ipanel_upgrade_getparams来获取升级数据。此时,也就是第二次,可以获取到升级pid等信息。向中间件返回0 ,中间件会发送8382消息给页面。
13、porting获取升级数据成功,完成写flash后,调用
ipanel_porting_system_reboot接口重启系统。进入loader升级程序。
- 相关config
1、启动loader升级监控,将loaderUpgrade值改成check:
<startUpOption>
<loaderUpgrade>check</loaderUpgrade>
<loaderDelivery>
<frequency>2590000;68750;64-QAM</frequency>
<tableId>64</tableId>
<pid>16</pid>
</loaderDelivery>
</startUpOption>
2、添加NIT表的监控,将NITActual值改成check:
<monitorTable>
<defaultDelivery>
<PAT>no</PAT>
<NITActual>check</NITActual>
<AIT>no</AIT>
<BAT>check</BAT>
<TDT>no</TDT>
<TOT>no</TOT>
</defaultDelivery>
</monitorTable>
文章来源: blog.csdn.net,作者:悟空胆好小,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/xushx_bigbear/article/details/122695087
- 点赞
- 收藏
- 关注作者
评论(0)