承载智能的OSN9500设备CF卡故障导致网元脱管

发布时间:  2013-05-30 浏览次数:  62 下载次数:  0
问题描述
ASON网络中心点#城西网元在网管上脱管,该网元承载270条智能业务(全网380条),命令行时而可以登录,时而异常。登录时有些命令根本不会响应。
处理过程
处理用户登录的任务“047TKSM”被阻塞在获取数据库信号量的地方:
采集的其它任务调用栈运行正常,CPU占用率也正常;
围绕仅有的“047TKSM”任务调用栈进行分析,被阻塞的信号量属于数据库模块,该信号量在数据库周期备份、主备批量备份、数据库上下载等操作中会被占用。
根据现网情况可以排除主备批量(备主控拔出来以后还有问题)和数据库上下载,剩下只有数据库周期备份可能会占用该信号量。
数据库周期备份是从内存向FLASH备份数据库文件,主要涉及到文件相关的操作,如果被阻塞在文件相关操作中则可能导致问题。
文件相关操作可能被阻塞在文件系统信号量或者底层驱动操作FLASH、CF卡上。
向CF卡中写文件时先 获取文件系统信号量,但长时间被驱动阻塞在CF卡操作上;其它有文件操作的任务(如数据库周期备份任务、日志任务、文件巡检等此时如果操作就会 被阻塞在文件系统信号量),数据库周期备份任务会先获取 数据库模块信号量被阻塞在文件系统信号量无法执行,而后登录处理后会修改用户相关的数据库,但是数据库信号量已经被周期备份任务所占用最终导致处理用户登录的任务无法获取到数据库信号量(同现网采集的调用栈吻合)。

分析CF卡驱动代码,只有CF卡状态异常的情况下才会导致,进一步定位:
单板刚起来时上层任务还没有执行访问CF卡,此时手动执行驱动接口去读取CF卡的MBR扇区中的内容,正常的读出了数据,说明驱动访问部分CF卡扇区的操作是正常的。单板开工后,上层任务操作作到CF卡内部出问题的区域,导致一直在那里等待并反复taskDelay,直接去查看CF卡内部寄存器状态确定异常。
将返回件的CF卡和实验室单板的CF卡交换,问题转移到了实验室单板上,返回件一切正常,进一步确定返回件的CF卡异常。
根因

CF卡故障

解决方案
1、拔出备用主控,无法解决。
2、拔出主用主控,网元恢复正常。
建议与总结

END