【OMCI实践】【案例分享】通过OLT升级ONT未自动重启问题分析
引言
通过OLT升级ONT是一种常见维护操作,是不少运营商的ONT入网测试的必测项目。近期开发反馈一款ONT在客户的OLT环境通过omci升级未成功,需要手动重启才切换到目标软件。经过排查最终确认,在下载版本后ONT上报的版本号不正确,OLT误判断版本文件未正确下载,于是没有下发激活版本的操作,导致升级不成功。
抓取升级过程的omci消息,发现OLT下载版本文件后,并没有下发激活版本的操作,导致升级未完成需要手动重启。进一步分析发现,在下载版本后ONT上报的版本号不正确,导致OLT没有下发激活版本的操作。
故障现象
现象1:OLT下发升级指令后,提示升级失败;
现象2:从客户提供的串口日志看,固件已经下载并写到ONT的flash,固件校验没有报错,不过写完后并没有自动重启;
现象3:手动重启后,ONT显示运行版本是升级的目标版本
总的来说,ONT的固件已经完整下载并成功写到flash,问题卡在ONT没有自动重启完成升级操作。
分析排查
OLT升级ONT版本,根据OMCI消息可以分以下五步:
1)OLT下发Start Software Download 操作,告知ONT要开始下载版本文件;ONT回复确认;
2)OLT通过Download Section操作下载版本;
3)OLT下发 End Software Download 操作,告知ONT结束下载版本;ONT回复确认;
4)OLT下发Get操作,获取ONT的备版本信息;ONT回复备版本信息,即刚刚下载的版本;
5)OLT下发Activate Software 操作,让ONT切换到备版本;ONT回复确认,然后开始重启并切换到备版本,完成升级操作。
根据ONT重启后切换到目标版本,说明固件已经完整地下载到ONT,升级的步骤3已经完成,问题可能在步骤4和步骤5.
抓取升级过程的omci报文,发现omci报文交互只到了步骤4,ONT回复备版本信息后,OLT没有下发Activate Software 操作
检查ONT回复版本信息的消息,发现version字段末尾含有“2024”异常字节,ONT的版本号中没有这两个字节。
software image受管实体的Version字段的长度是14字节,即版本号最大支持14个字符,当版本号长度小于14时,末尾用0填充。
至此,可以确认ONT在下载版本后,上报错误的版本号给OLT,OLT发现跟升级的目标版本不一致,终止升级过程,没有下发激活版本的操作。
解决效果
开发更新版本解决ONT上报错误版本号的问题后,重新升级抓取omci报文,可以看到OLT会下发Activate Software 操作,随后ONT自动重启,切换到目标升级版本。
[OMCI实践]7360 OLT局端升级ONT的OMCI交互过程-CSDN博客
原创不易,你的支持是我最大的动力,欢迎大家点赞,收藏,关注!