H3C高端S10500装备说明及定位方法大全(1)
装备测试项介绍
PRBS测试
该测试项是测试业务板和网板、fpga和交换芯片间的serdes信号。配置芯片的serdes mac层寄存器启动prbs测试,rx/tx双向都会测到,根据命令行指定的时间测试,测试结束后读状态寄存器判断是否有错误;
测试到的相关器件:
网片mac层<--->serdes<--->网板连接器<--->业务板连接器》acke<--->serdes<--->Jericho mac层
【命令行】
test prbs src_slot/subslot {dest_slot/subslot | all |fpga} test_time
src_slot/subslot:源槽位
dest_slot/subslot:目的槽位
all:源槽位到所有对端槽位,如源槽位为业务板,目的槽位为全部网板
test_time:测试时间
fpga:测试业务板MAC芯片与FPGA之前通道PRBS
【示例】
[H3C-equipment]test prbs 0/0 4/0 1
【示例】
[H3C-equipment]test prbs 4/0 fpga 1
常见错误现象
sfi口不up
[H3C-equipment]test prbs 6/0 all 60
@
slot=6 unit=1 port=71 (sfi 7) is not up, destslot=14 destunit=0 destport=59 (sfi 59)
test error: Some SLOT link status error
test result:fail
$
信号质量问题
[H3C-equipment]test prbs 18/0 all 60
@
the slot 2 PRBS test result:
slot 2 unit 1 port 97 (sfi 33) to slot 18 unit 2 port 74 (sfi 74) test OK
slot 2 unit 1 port 98 (sfi 34) to slot 18 unit 0 port 73 (sfi 73) test FAILED error counter 2147483647
slot 2 unit 1 port 99 (sfi 35) to slot 18 unit 2 port 73 (sfi 73) test OK
提示设置寄存器失败
这有可能是sfi端口初始化就失败了,参考背板serdes问题定位方法
定位方法
环境不动手动执行命令看是否可以复现
交叉验证看问题出在那个单板上,既将测试失败的单板与测试成功的单板对调,来确认是被测板的问题还是环境板的问题。
硬件定位方法
收集dump信息、dsc、眼图等
【示例】
[H3C-probe]bcm s 12 c 0 phy/diag/sfi20/dsc
[H3C-probe]bcm s 12 c 0 phy/control/sfi20/dump
[H3C-probe]bcm s 2 c 1 phy/diag/sfi290/eyescan
[H3C-probe]bcm s 18 c 0 phy/diag/sfi73/feyescan/if=sys
[H3C-probe]bcm s 18 c 0 phy/diag/sfi73/feyescan/if=line
根据眼图初步确认故障位置。
测试相关链路阻抗及反向电压,进一步确认故障位置
补充一个一键收集信息的命令,放到装备工程里自动收集。
转发测试
转发测试是面板口通过线缆两两互连,通过设置 vlan使报文按照设定的次序转发,报文由cpu通过pcie发向芯片第一个端口,然后通过线缆进行转发,到达最后一个端口上送cpu,进行统计比较。测试是正向发送一次,反向发送一次,以使Tx/Rx 都能够覆盖。
测试到的相关器件:转发测试为正返向双向测试
CPU发包<--->PCIE<--->MAC芯片<--->面板口出》acke<--->通过线缆从对接端口进入<--->转发到下一端口<--->(重复上面三步)<--->芯片最后一个端口进入<--->PCIE<--->CPU
【命令行】
test forward slot/subslot forward packet-length packet-number packet-content [star_ port en_ port | start_port to end_port ]
slot/subslot:被测槽位号
packet-length:报文长度
packet-number:要发送的报文数量
packet-content:报文内容
star_ port:起始或源槽位
en_ port:结束或目的槽位
【示例】
[H3C-equipment]test ethernet 4/0 forward 100 10 55aa 1 to 48
【示例】两个端口对接转发
[H3C-equipment]test ethernet 4/0 forward 100 10 55aa 1 48
【示例】1分4转发
[H3C-equipment]test ethernet 4/0 forward 100 10 55aa
常见错误现象
有端口不up
[H3C-equipment]test ethernet 6/0 forward 1514 1000 55555555 1 to 2
@
Test mode is 40G mode.
Test error:port 1 link status down!
test result:fail
$
测试丢包
[H3C-equipment]test ethernet 5/0 forward 1514 1000 aaaaaaaa
@
Test mode is 10G mode.
forward unit(0) Port(21) error! returnvalue = 1073807361
test result:fail
$
forward unit(0) Port(21)注意这个并不是出问题的端口,这个只是报文发送的端口,unit是准确的。
定位方法
如果有端口没有up,要确认是否是线缆问题;
如果换线还是不up,请参考端口问题的定位方法;
确认端口是否有CRC,如果有,需要更换或交叉线缆确认;
换线还有crc,就可以确认是故障了,参考端口问题定位方法;
根据错误提示的芯片以及debug port mapping slot slot-id查出问题芯片的面板口进行两两确认;
用test eth x/0 forward 1514 100 aaaaaaaa x y来确认具体失败的端口。
确认端口后测试loop phy,loop mac来确认是phy的问题还是mac的问题,或者是连接器的问题。
硬件定位方法
收集dump信息dsc眼图等,方法参见1.1.3
根据眼图确实故障位置,方法参见1.1.3
测试相关链路阻抗及反向电压,对比测试正常端口或正常单板,进一步确认失效位置
更换疑似失效位置处器件验证
Mac/phy环回测试
这个测试项是测试面板口的环回,可以测试所有端口或者指定端口测试,设置端口为相应的mac/phy环回,配置特定mac上cpu,cpu通过pcie发送报文到芯片的测试端口,报文在端口环回,匹配mac上cpu,cpu进行统计比较,报文内容参加比较,按顺序一个口测试结束再测试下一个端口。
测试到的相关器件:
CPU发包<--->PCIE<--->面板口MAC/PHY环回》acke<--->PCIE<--->CPU
每一个端口做一次上面测试
【命令行】
test ethernet slot/subslot loopback { mac|phy} {port_number|all} packet-length packet-number packet-content
slot/subslot:被测槽位
port_number:测试单个端口
all:测试全部端口
packet-length:报文长度
packet-number:报文数目
packet-content:报文内容
【示例】
[H3C-equipment]test ethernet 4/0 loopback mac all 100 10 55aa
【示例】
[H3C-equipment]test ethernet 4/0 loopback mac 1 100 10 55aa
常见错误现象
有端口不up
[H3C-equipment]test ethernet 2/0 loopback mac all 1514 200 aaaaaaaa;
@;
unit(0) Port(5) link status is not OK!!! loop number=1
test result:fail;
有端口丢包
[H3C-equipment]test ethernet 2/0 loopback mac all 1514 200 aaaaaaaa;
@;
BCM88675_B0 Switch(0) test ok!(U9);
BCM88675_B0Unit(1)Port(13) loopback fail!Rxdata error!iLoopMode=1;
BCM88675_B0 Switch(1) test error!(U40);
BCM88675_B0Unit(2)Port(4) loopback fail!Rxdata error!iLoopMode=1;
BCM88675_B0Unit(2)Port(6) loopback fail!Rxdata error!iLoopMode=1;
BCM88675_B0 Switch(2) test error!(U63);
test result:fail;
Unit(1)Port(13) 。Unit port都是准确的
定位方法
对于端口不up,参考端口问题定位
对于丢包问题,如果是phy环回失败,需要测试loop mac,来确认是phy问题还是mac问题
如果是mac环回失败,基本可以确定是mac芯片问题
如果测试所有口都失败,可能是pcie问题,或者是外部存储器问题,或者是芯片问题。需参考相关问题定位方法。
硬件定位方法
收集dump信息dsc眼图等,方法参见1.1.3
根据眼图确实故障位置,方法参见1.1.3
测试相关链路阻抗及反向电压,对比测试正常端口或正常单板,进一步确认失效位置
更换疑似失效位置处器件验证
相关文章
- Java接口安全:SpringBoot防护XSS/SQL/重放攻击
- Springboot之登录模块探索(含Token,验证码,网络安全等知识)
- JAVA装饰器模式适用场景,优缺点是什么你知道吗这篇文章彻底讲透
- TestNG 中使用 Guice 来进行依赖注入
- 测试开发之自动化篇-Appium脚本开发
- 深入探索FastAPI单元测试:使用TestClient轻松测试你的API
- python单元测试框架之unittest和pytest的区别
- 要供暖了,壁挂炉怎么调?注意这四点,省气还少出问题
- 掌握Python中的单元测试:详尽指南与unittest
- 《shell》算术表达式-test测试语句-if流程语句