您的位置首页  散文童话

PortMap(h3c下一页)居然可以这样

装备测试项介绍点灯测试该功能测试被测单板端口指示灯是否可以正常亮灭,测试过程有两种方式:指示灯全灭(奇数灯亮(指示灯全灭(偶数灯亮(指示灯全灭(

PortMap(h3c下一页)居然可以这样

 

装备测试项介绍点灯测试该功能测试被测单板端口指示灯是否可以正常亮灭,测试过程有两种方式:指示灯全灭(奇数灯亮(指示灯全灭(偶数灯亮(指示灯全灭(恢复原有状态;

为了更容易识别出哪些指示灯有问题,提供单独点奇数灯和恢复原来状态、单独点偶数灯和恢复原来状态。

测试到的相关器件:逻辑点灯的情况,通常是主控板Cpulocal buscpldledMac/phy点灯的情况Cpupciemac芯片mdiophyled

【命令行】 test led slot/subslot on_delay off_delayslot/subslot:被测试槽位on_delay:亮灯时间off_delay:灭灯时间【命令行】test led slot/subslot on {green | red | recover}

slot/subslot:被测槽位green:长亮绿色灯red:长亮红色灯recover:恢复【示例】[H3C-equipment]test led 0/0 on green[H3C-equipment]test led 0/0 on red

[H3C-equipment]test led 0/0 recover[H3C-equipment]test led 0/0 5 5常见错误现象【常见问题】该测试项和硬件逻辑、软件实现都有关系,出问题后请先检查逻辑版本是否为产线归档逻辑,之后可通过手动写寄存器来确认硬件灯是否有故障本身就受控制,还是软件实现不对,没有正确设置寄存器值。

定位方法led 灯确认软件寄存器方法,下边以QGS48H为例:首先需要通过debug port map slot X获取端口对应的的unit和 port 号,用得到的port号,从软件端口列表g_auiLSXM1QGS48HB_HwTenPortList数组中推算出端口的物理口号:

以unit = 0 port =17为例:以port号为下标,填的值就是对应的物理口号,这里unit = 0 port =17对应的物理口号应该是 28,(如果是前面的8个口,204~211,应该减去200,然后再把值乘以2,如208对应的物理口就是16,209->18以此类推)然后再由物理口号换算成Led的offset。

Jericho的led有三个bus,分别对应 物理口的 0~23, 24~47, 48~71,然后根据之前得到的物理口号,换算成在bus 上的offset换算方法如下:1、首先把物理口号加1,因为bus上的值是从1开始的,这样每个bus物理口号就变成1~24,25~48,49~72;

2、把步骤得到的值,与以下数据进行比较,bus1 的减24, bus 2的减48,找到相应的值的位置即是他的offset./*根据芯片号和灯号获得每个bus上对应的物理serdes端口号*/以unit = 0 port =17为 物理口为28,在bus 1范围内,28+1=29-24=5。

而在unit 0 bus 1 的数组里,5是在第0个位置,所以它的offset就是0.然后,我们会得到这样一个对应关系:unit 0 port 17 => bus 1 offset 0,另外ledup的data ram base offset 是0x90,也就是说从0x90开始,再加上之前得到 的offset值 就是我们的目标值,这里要将数据转成十进制,0x90=144 + 0(offset) =144 。

bcm slot x chip 0 g/cmic_ledup1_data_ram144 即是unit 0 port 17对应的led灯的软件开关寄存器bcm slot 1 chip 0 g/cmic_ledup1_data_ram144 。

CMIC_LEDUP1_DATA_RAM144.CMIC0[0x21640]=0: 这里DATA_N=0表示灯灭,DATA_N=1表示灯亮也可以手动修改这个值:bcm slot 1 chip 0 modreg/cmic_ledup1_data_ram144/data_n=1。

bcm slot 1 chip 0 g/cmic_ledup1_data_ram144 CMIC_LEDUP1_DATA_RAM144.CMIC0[0x21640]=1: 硬件定位方法

个别灯异常,检查LED灯及相关链路所有灯均异常,检查电源情况及MAC或PHY工作情况温度测试该功能测试当前运行环境实际温度值,包括单板所有结温和板温芯片结温我们认为-40到128之间的值属于正常范围,其它值为无效值,会使单板下电,实际读取通过连续读取6次以防止误报。

板温是通过I2C读取传感器MAX6696和LM75各通道真实温度值该命令获取到的温度都是单板各温点的真实温度,没有经过软件处理测试到的相关器件:CPUIIC总线MAC6696/LM75

常见错误现象【常见问题】该测试项如果测试失败会返回fail,同时Spot前也会打*表明该温点测试失败。如下测试例 high limit设置为30度,实际温度超出30度就会测试失败

其它测试失败一般都是温度读到的不在正常范围内测试到的相关器件:Cpuiic总线MAX6696/lm75【命令行】test temperature slot/subslot low_limit high_limit temp-spot

slot/subslot:被测槽位low_limit:低温下限high_limit:高温上限定位方法可根据如下Atrribute列确定是结温(CPU和INCHIP)还是板温(HOTSPOT),根据Channel列确定是哪片测温芯片的第几通道来确认问题。

硬件定位方法针对过温点检查是否散热器加工问题若散热器正常更换监控温度芯片MAX6696验证若仍故障更换被测相关芯片验证均温测试测试该功能测试当前运行环境单板散热是否均衡,分别包括多个芯片共用一个散热器情况下,各芯片间温差要求在8度内,单个芯片内部各测温点间温差要求在15度内。

以上所有温度都是取的 芯片pvt[x] curr值,不取peak值测试到的相关器件:CPUMAC芯片内部温度监控点用bcm接口直接读取,不清楚读取过程??【命令行】test temperature slot/subslot average hig_limit difference chip {chip_id/all}

slot/subslot :被测槽位hig_limit:温度上限difference:最高和最低温点的差值上限chip_id:测试单个芯片all:测试全部芯片【示例】[H3C-equipment]test temperature 0/0 average 90 15 chip all

[H3C-equipment]test temperature 0/0 average 90 15 chip 0常见错误现象【常见问题】该测试项如果测试失败会返回fail,同时行前也会打*表明测试失败1、实际温度合理,但是difference值设置不合理,导致测试失败,如下difference值为3度,但实际温差为7.3度在合理范围内。

同一散热器下温差大于8度,该情况多数是散热器出问题,可找硬件确认定位方法如上所述每种失败情况都有相应的错误信息输出,可根据提示确认哪个芯片温度有异常,或者哪个散热器有异常来进一步跟踪硬件定位方法检查是否散热器加工问题,检查散热器平整度。

若平整度异常,工艺分析后决定重新组装单板或更换散热器或重新焊接芯片若排除平整度及散热器问题仍异常,更换被测相关芯片验证

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186