装备测试项介绍
Timesignal测试
测试过程大致分为以下几步:
(1)主用主控发送CMD6命令检查通讯链路是否畅通。
(2)配置主控MAC为源,并设置主控向全部单板发送码流
(3)主控发送CMD1命令开始发送测试码流,并设置CMD4获取测试结果
(4)读取测试结果,判断测试是否OK
(5)恢复相关配置,发送CMD7停止测试
测试原理分析:

timesignal测试只能测试主用主控板,当上图左边主控为主用主控时,只测试左侧箭头链路,当右边主控为主用时,只能测试右侧箭头链路。
当低槽位为master时,如下面两图,检测主控接收码流的22到24位,如果全为1则测试成功,否则失败。当高槽位为主用主控时,检测主控接收码流的25到27位,全1则成功,否则测试失败。

【命令行】
test timesignal master_slot/subslot slot/subslot
master_slot/subslot:主控板槽位号
slot/subslot:被测板槽位号
【示例】
[H3C-equipment]test timesignal 0/0 4/0
常见错误现象
定位方法
1、如果全部槽位出错,或者随机不固定的某些槽位出错,则可能软件问题比较大,这就需要定位问题出错位置,并仔细查看代码,确定每一步操作是否正确。
2、如果固定某一槽位出错可以有以下几个原因:
1)可能是软件,比如临界值处理上有问题,可先查看软件是否有问题。
2)工具板逻辑问题,可以查看其他工具板逻辑版本,排除工具板逻辑问题。
3)如果上述逻辑问题可以排除,再更换两个槽位的工具板,如果问题跟着工具板走,工具板硬件的可能性比较大。如果问题还是出在同一槽位则要进一步分析确认。
硬件定位方法
检查通道阻抗与反向电压,排查连接器外观
重新烧写主控逻辑验证
更换相关器件验证
Dataline测试
该测试项用于测试主控板和每个业务板网板间的一对数据线(DTX/DRX)。该测试项通过设置业务板或网板装备测试标志位(0xa bit6),该位是用于接收RRPP的通讯线和业务板电源控制线,装备软件对该位置1则主控板通过业务板数据控制线送一帧信息,通过装备测试板环回到RRPP接受通信线,然后装备软件从主控板读出在主控板对应RLOS寄存器值,并与发送值进行比较以此判断链路是否OK。
测试到的相关器件:
主控CPLD<--->数据线<--->业务板网板CPLD<--->数据线<--->主控CPLD
【命令行】
test dataline master_slot/subslot slot/subslot
master_slot/subslot:主控板槽位号
slot/subslot:被测板槽位号
【示例】
[H3C-equipment]test dataline 0/0 4/0
@
test result:pass
$
[H3C-equipment]
常见错误现象
接收不到发送数据
接收数据错误
定位方法
手动定位方法:(1)设置被测板0xa的bit6为1。
[H3C-probe]debug sysm memory read ffffffffb400000a 1 1 s 3
ffffffffb4000000: 20
[H3C-probe]debug sysm memory write ffffffffb400000a 60 1 s 3
[H3C-probe]debug sysm memory read ffffffffb400000a 1 1 s 3
ffffffffb4000000: 60 *
(2)往发送寄存器(0x5f, 0x60, 0x61, 0x62, 0x63, 0x64)里写入数据,如:
[H3C-probe]debug sysm memory write ffffffffb400005f 1 1 s 0
[H3C-probe]debug sysm memory write ffffffffb4000060 2 1 s 0
[H3C-probe]debug sysm memory write ffffffffb4000061 3 1 s 0
[H3C-probe]debug sysm memory write ffffffffb4000062 4 1 s 0
[H3C-probe]debug sysm memory write ffffffffb4000063 5 1 s 0
[H3C-probe]debug sysm memory write ffffffffb4000064 6 1 s 0
(3)在被测板对应rlos寄存器里读取测试结果。Rlos寄存器的选取方法是算出被槽位为第几块单板,如果是业务板,如08AF机箱的slot3对应的是lpu1,第二块业务板,则从下面数组中选取第二个{0x170, 0x171, 0x172, 0x173, 0x174, 0x175}。如果是网板,如08AF机箱slot10为mpu0第一个槽位网板,则用0+16选出{0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF}。
{
{0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F},
{0x170, 0x171, 0x172, 0x173, 0x174, 0x175},
{0x176, 0x177, 0x178, 0x179, 0x17A, 0x17B},
{0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181},
{0x182, 0x183, 0x184, 0x185, 0x186, 0x187},
{0x188, 0x189, 0x18A, 0x18B, 0x18C, 0x18D},
{0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193},
{0x194, 0x195, 0x196, 0x197, 0x198, 0x199},
{0x19A, 0x19B, 0x19C, 0x19D, 0x19E, 0x19F},
{0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5}, //9
{0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AB},
{0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1}, //11
{0x1B2, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7},
{0x1B8, 0x1B9, 0x1BA, 0x1BB, 0x1BC, 0x1BD},
{0x1BE, 0x1BF, 0x1C0, 0x1C1, 0x1C2, 0x1C3},
{0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9}, //15
{0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF}, /*np0*/
{0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5}, /*np1*/
{0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB}, /*np2*/
{0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1}, /*np3*/
{0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7}, /*np4*/
{0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED}, /*np5*/
}
[H3C-probe]debug sysm memory read ffffffffb4000170 6 1 s 0
ffffffffb4000170: 01 02 03 04 05 06 *................*
(4)如上面几步确认操作无误,查看接收寄存器如下,收到的数据与发送的数据不一致,首先确认逻辑是否有问题,如果确认逻辑没有问题则再确认硬件是否有问题。
[H3C-probe]debug sysm memory read ffffffffb40001e8 6 1 s 0
ffffffffb40001e0: 00 30 f0 ff ff ff * 0......*
硬件定位方法
检查低速信号连接器外观,测试链路阻抗
重新烧写逻辑验证
更换连接器验证