




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FLASH系列问题案例分析有线宽带事业部测试部:宋丽风目录FLASH系列问题案例分析1第一部分:问题回顾2问题12问题22问题32问题42第二部分:案例分析3问题13问题分析与根因3改善措施3问题26问题分析与根因6改善措施6问题39问题分析与根因9改善措施9第三部分:预防措施10第四部分:测试计划10第五部分:背景知识10一些FLASH的小知识10第六部分:疑问解答:11第一部分:问题回顾问题1问题描述:2012-7-21,GAN5.CU17J-B(Nucom客户) 产品,QA在抽检5pcs发现有1PCS页面里显示的PVC/无线名称/密钥与软件发部表不符,不良率20%;问题2问题描述:2013-4,Telecom 4.12软件,QA在抽检以上产品时发现1PCS板初始化失败。问题3问题描述:2013-4,Teleplus4.12软件,产线上生产2%CPE出现初始化失败问题4问题描述:升级的过程没有问题,在升级完成重新启动的过程中会提示,大系统无效,从小系统启动问题描述:升级成功后打开页面正常,进行操作CPE行为正常,一段时间后断电重启,从小系统启动状态:到现在此问题是跟踪状态,不知道根因,也没有规避措施。第二部分:案例分析问题1问题分析与根因问题描述:2012-7-21,GAN5.CU17J-B(Nucom客户) 产品,QA在抽检5pcs发现有1PCS页面里显示的PVC/无线名称/密钥与软件发部表不符,不良率20%;不良产品的CPE复位不成功;原因分析:产品在启动1分钟内会写FLASH,如断电会造成部分内容丢失(配置丢失)为产品软件Bug导致;CPE启动时FLASH写保护未开启。软件平台:BRCM 4.06考虑2个问题:a) CPE为什么会在1分钟内写FLASH?1) CPE的默认配置存在一条静态WAN连接,当CPE连接上DSL线,且同步之后,WAN连接状态从disconnected变成了connected。2) WAN连接UP后,TR069等业务就会发包出去,在这个软件中TR069发连接请求包出去;3) 在工厂的环境中,TR069的请求连接肯定收不到回应,TR069会根据Retry Policy不断的发连接报文,并且会将Retry的次数记录起来保存到状态区; 4) 在FLASH保存这个参数的时候,操作人员正好测试完成,对CPE断电,结果FLASH正在写的这个块区的配置丢失;b) 为什么在写FLASH的时候断电会丢失配置?1) FLASH在写参数时,必先擦除整个块区(以BLOCK来擦除),然后再写值;当写FLASH的时候,原来的内容已经擦掉,写的内容又没有写进去,就会丢失配置;改善措施a) 修正写FLASH的动作;1) 在PPPOE拨号连接不成功时,串口中不断打印e254saving ppp session info ppp0.1(00308810ee2d/0073;Telefonica版本上做了修改,就是拨上号之后再保存session id,不然写FLASH太频繁了;2) TR069 Retry 次数记录,在前2次,发请求时间间隔短,5-10;10-20;不把retry 的次数记录到状态区,从第3次开始记录;见示例1;b) 状态区与配置区分开;1) 配置区和状态区分在不同的块区保存;状态区是断电信息就丢失的区域。防止软件因各个功能模块在写状态时断电,导致整个块区丢失。因为BRCM在写参数时,先擦除掉整个块区,然后再写。2) TR069 Retry次数在记录到状态区的时候断电,导致配置也丢失的根本原因就是配置区和状态区在同一个块区;没有分开;3) 以下示例1是状态区的保存的打印信息;该例子的log信息在4.06平台上抓取的,可以看到状态区和配置的保存的块区不是一个;示例1:状态区与配置区分开的LOG打印信息:-unprotect_e127protect. /这行是配置TR069的打印信息,写到配置区;tr69c:error:561.251:cancelPeriodicInform:1505:request failed, ret=9003 tr69c:error:561.251:retrySessionConnection:186:ACS connect failed, retryCount = 1, backOffTime = 7000mstr69c:error:568.474:cancelPeriodicInform:1505:request failed, ret=9003tr69c:error:568.474:retrySessionConnection:186:ACS connect failed, retryCount = 2, backOffTime = 11000mstr69c:error:579.702:cancelPeriodicInform:1505:request failed, ret=9003tr69c:error:579.703:retrySessionConnection:186:ACS connect failed, retryCount = 3, backOffTime = 26000mstr69c:error:605.945:cancelPeriodicInform:1505:request failed, ret=9003unprotect_e126protect. /这行打印信息是把Retry保存到状态区;tr69c:error:606.421:retrySessionConnection:186:ACS connect failed, retryCount = 4, backOffTime = 77000ms-c) 增加配置双备份功能;1) 在FLASH上分两个配置区,一个主配置区,一个备用配置区;2) 4.06平台采用非实时配置双备份;示例2:非实时备份:-unprotect_e127protect. /这行是配置TR069的打印信息,写到配置区127块区;但是只写了主配置区,没写备配置区;tr69c:error:561.251:cancelPeriodicInform:1505:request failed, ret=9003 /这里执行重启CPE的动作,在CPE驱动启动完成后,在启动配置时,会先进行配置备份的动作如下截取log;/= Release Version 4.06L.01 (build timestamp 130708_1017) =Fri Oct 1 00:00:00 UTC 2010try read BPSItry read MPSIBPSI will sync from MPSI /配置同步信息MPSI valid, load into MDMwrite config to MPSIunprotect_e125protect. /备份配置区:125块区;-3) 4.12平台采用实时配置双备份;示例3:实时备份:下图中可以看到配置一个参数时,会同时写到主备配置区中;d) 增加FLASH写保护;FLASH写保护与配置双备份的区别?i. 写保护是指使FLASH的block处于保护状态,如果没有经过解保护的手续,对FLASH的擦和写都不会生效,相当于加了一把锁,特别针对于防止硬件杂波或程序混乱形成的擦写操作,保证数据安全。保护的范围不光是配置,还可以是普通的代码等其他部分。ii. 配置备份,是使用两个配置区,当其中一个配置去因为进行写操作时,断电可能会导致损坏掉,这时候可以从另外一个配置区读出正确的配置,并同步到已损坏的配置区中去。保证cpe在任何时候都能得到正确的配置,保证功能的正常使用。问题2问题分析与根因问题描述:2013-4,Heights Telecom 4.12软件,QA在抽检以上产品时发现2PCS板初始化失败。原因定位分析过程:a) 初始化失败,CPE无法启动成功;b) 把破环了FLASH与CPE启动正常的FLASH里面的资料对比,有部分资料丢失;c) 在这单质量事故中未找到根本原因,FLASH厂商驻厂几日也未有任何进展;可能的原因为(并没有找到根因):a) 配置被破环,CPE读到错误配置的时候,导致SSK有可能死掉,CPE无法正常启动;但无法确定是否是这个原因导致;配置如何被破坏,也没有找到原因d) FLASH写保护没生效;FLASH写保护代码使用宏CONFIG_FLASH_PROTECT控制,在代码中判断是否定义此宏,决定是否开启FLASH写保护。原来代码中CONFIG_FLASH_PROTECT定义在文件的中间部位,判断宏是否开启的代码在定义宏之前,导致没有开启写保护。改善措施a) 完善FLASH写保护的测试方法;1) FLASH写保护定义的位置作了调整;将宏CONFIG_FLASH_PROTECT定义在头部,更符合编程规范;不易对软件工程师造成误导;b) Image双备份1) 在用户升级fs_kernel文件时如果断电,FLASH将启动不了。加入FLASH双备份,一个image损坏的情况下会从另外一个image启动2) 在烧录.w文件时,不烧双Image,再次升级的时候,会从另一个区开始升级;3) 升级的时候可以看到第一次升级从e1开始打印信息,第二次升级从e128开始示例4:4.06升级软件不从第0块(CFE块区)开始写4.06软件升级的打印信息:-BCM96328 Broadband RouterLogin: MemTotal: 60112 kBMemFree: 24596 kBBuffers: 4468 kBCached: 16604 kBSwapCached: 0 kBActive: 6956 kBInactive: 18040 kBActive(anon): 3924 kBInactive(anon): 0 kBActive(file): 3032 kBInactive(file): 18040 kBSwapTotal: 0 kBSwapFree: 0 kBDirty: 0 kBWriteback: 0 kBAnonPages: 3948 kBMapped: 5456 kBSlab: 7816 kBSReclaimable: 592 kBSUnreclaim: 7224 kBPageTables: 352 kBNFS_Unstable: 0 kBBounce: 0 kBWritebackTmp: 0 kBCommitLimit: 30056 kBCommitted_AS: 7856 kBVmallocTotal: 1032148 kBVmallocUsed: 2132 kBVmallocChunk: 1006504 kBAllocating 7039360 byte buffer to hold image.Memory allocated.Got image via http, total image size: 7039189enterModem Monitor Socket Receve Msg:undialokFLASHing root file system and kernel.unprotect_e1.e2.e3.e4.e5.e6.e7.e8.e9.e10.e11.e12.e13.e14.e15.e16.e17.e18.-BCM96328 Broadband RouterLogin:MemTotal: 60332 kBMemFree: 18812 kBBuffers: 5024 kBCached: 18136 kBSwapCached: 0 kBActive: 8780 kBInactive: 17904 kBActive(anon): 3524 kBInactive(anon): 0 kBActive(file): 5256 kBInactive(file): 17904 kBSwapTotal: 0 kBSwapFree: 0 kBDirty: 0 kBWriteback: 0 kBAnonPages: 3548 kBMapped: 5128 kBSlab: 11788 kBSReclaimable: 612 kBSUnreclaim: 11176 kBPageTables: 392 kBNFS_Unstable: 0 kBBounce: 0 kBWritebackTmp: 0 kBCommitLimit: 30164 kBCommitted_AS: 8248 kBVmallocTotal: 1032148 kBVmallocUsed: 2620 kBVmallocChunk: 1018244 kBAllocating 7104225 byte buffer to hold image.Memory allocated.Got image via http, total image size: 7104034enterModem Monitor Socket Receve Msg:undialokFLASHing CFE.unprotect_e0.e0protect. /特别说明:如果升级软件命名中带有cfe后缀,说明这个软件会重写cfe,如灰掉的这段打印信息,现在要求升级软件不要带cfe;FLASHing root file system and kernel.unprotect_e128.e129.e130.e131.e132.e133.e134.e135.e136.e137.e138.e139.e14-c) 配置双备份(在案例1中已经说明)问题3问题分析与根因问题描述:2013-4,Telplus 4.12软件,QA在抽检以上产品时发现2PCS板初始化失败。原因定位分析过程:a) 初始化失败, CFE无法启动;b) 在这两个站点跟踪,发现复位键过长,在装上外壳的时候,抵到了外壳;c) 操作人员拔掉电源时,碰到了外壳,按到了复位键(客户定义1s复位),导致在恢复出厂的过程中断电,破坏了CFE;按照一般原理,恢复出厂时没不需要修改CFE块区的任何参数;d) 跟踪软件发现:恢复出厂默认配置时写nvram;改善措施a) 出厂后不允许写nvrama) 软件升级不修改CFE,如以上升级时,打印信息;b) 恢复出厂等行为,不往nvram中写值,nvram 和CFE在同一块区;b) 复位键:全部剪短;第三部分:预防措施所有的BRCM软件都要加FLASH写保护功能;软件备份,FLASH大的可以做,FLASH小的做大小image;配置备份,必须支持,并作为系统测试必测项。第四部分:测试计划1、 FLASH写保护的验证;a) 开关机测试:目的:辅助验证FLASH写保护功能;上电掉电过程中电压不稳,会形成擦写FLASH的动作; b) 直接的验证方法暂时没有。2、 配置备份测试;3、 软件备份测试;4、针对NANDFLASH的配置备份测试,待完善;第五部分:背景知识一些FLASH的小知识我们目前使用的FLASH主要是NORFLASH和NANDFLASH两种;1. NORFLASH:有串行和并行两种;a) 串行和并行FLASH如何区别?命名为:s25 是串行FLASH命名为:s29 是并行FLASHb) 为什么串行不交换高低位字节?串行FLASH,存储结构是8位,所以不存在交换高低自己的问题。c) 是不是所有的并行FLASH都需要交换高低位字节?并行FLASH分为大端和小端,CPU会对FLASH有大端小端的要求,CPU中有一个硬件控制器设置大端还是小端模式;大端和小端FLASH的对比说明如下:并行FLASH 大端B1、大端是:高位在低地址;针对字节eg:一个数据为:0X01020304,放入大端FLASH中为:01020304CPU 16bit数据线 读出的数据为:02010403,和原来的数据不一样了,所以执行的结果也会不一样。所以大端FLASH要交换高低字节,如果数据线为:16位,则需交换2字节,32bit数据线要交换4字节.并行FLASH 小端L1、小端是:高位在高地址;针对字节eg:一个数据为:0X01020304,放入小端FLASH中为:04030201小端存放数据的位置和地址位一致,低位在低字节,在存储器中的存储顺序是一样的。CPU读取数据和原字节一致。由此而知,如果数据线是8位的,也不需要交换字节。d) 常用芯片对大小端的要求:BCM 6开头大端;BCM 5开头为小端;RELTECK:86XX,为大端;MINDSPEED:MARVELL是小端,e) 为什么杂波会造成FLASH丢失资料?杂波可能会形成flash的写指令,如果刚好写配置区,就会丢配置,一般我们写指令只要一个字节2. NANDFLASHa) NANDFLASH的烧录文件后缀名.OOB;并非.w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年氢能重卡产业链上下游创新应用案例分析报告
- 2025年区块链跨境支付系统在提升用户体验方面的可行性研究报告
- 工程类素材拍摄方案(3篇)
- 杭州安全生产培训讲解课件
- 工程进驻人员管理方案(3篇)
- 城市公园健身设施智能化改造对城市公共资源整合效益评估
- 工程建设代理服务方案(3篇)
- 危重患者抢救护理应急演练脚本(2篇)
- 机驾人员安全培训总结课件
- 城市公共绿地建设与2025年社会稳定风险协同防控策略研究报告
- 《运动治疗技术》第二章 关节活动技术-基础理论课件
- 2024至2030年中国迷迭香精油行业投资前景及策略咨询研究报告
- 人教版小学数学四年级上册教案全集(表格式教案)
- 事业单位公开招聘报名表
- 医学教材 变态反应性疾病的诊疗进展标准版资料
- 跖骨骨折护理查房课件
- 癌症患者生活质量量表EORTC-QLQ-C30
- 《全媒体营销与运营》全套教学课件
- 学生心理问题的识别与干预+高中班主任工作培训
- JJF 1292-2024焦度计型式评价大纲
- 电解质溶液电导率
评论
0/150
提交评论