You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

186 lines
6.9 KiB

如需调试模块,请先备份参数。
1. 备份参数:
python3 ocsdiag.py -i 10.57.216.95 -e 4,6 -s all -c reg-save --sl_file ./main_data/bak_regs/95_bak.yaml
python3 ocsdiag.py -i 10.57.216.96 -e 4,6 -s all -c reg-save --sl_file ./main_data/bak_regs/96_bak.yaml
python3 ocsdiag.py -i 10.57.216.97 -e 4,6 -s all -c reg-save --sl_file ./main_data/bak_regs/97_bak.yaml
python3 ocsdiag.py -i 10.57.216.98 -e 4,6 -s all -c reg-save --sl_file ./main_data/bak_regs/98_bak.yaml
python3 ocsdiag.py -i 10.57.216.98 -e 2 -s all -c reg-save --sl_file ./main_data/bak_regs/98_bak.yaml
2. 恢复参数:
python3 ocsdiag.py -i 10.57.216.95 -e 2 -s all -c reg-load --sl_file ./main_data/bak_regs/95_bak.yaml
python3 ocsdiag.py -i 10.57.216.98 -e 4 -s all -c reg-load --sl_file ./main_data/bak_regs/98_bak.yaml
python3 ocsdiag.py -i 10.57.216.96 -e 4 -s all -c reg-load --sl_file ./main_data/bak_regs/96_bak.yaml
0. 根据需求对节点执行 power cycle
ipmitool power cycle
1. 设置topo
python3 ocsdiag.py -i 10.57.216.95,10.57.216.96,10.57.216.97,10.57.216.98 -e 2,4,6,8 -c topo-config -p 32
2. ocs link reset
ocs_link_reset -i 10.57.216.95,10.57.216.96,10.57.216.97,10.57.216.98 -e 2,4,6,8
3. 设置high freq(根据PCB走线)
python3 ocsdiag.py -i 10.57.216.96 -e 8 -c highfreq-tune
python3 ocsdiag.py -i 10.57.216.96,10.57.216.98 -e 4 -c highfreq-tune
4. 设置low freq
python3 ocsdiag.py -i 10.57.216.98 -e 8 -c rtmr-prbs
python3 ocsdiag.py -i 10.57.216.98 -e 8 -s all -c lowfreq-auto-tune
# python3 ocsdiag.py -i 10.57.216.98 -e 8 -s all -c reg-wt -p lowfreq_eq -v 128
python3 ocsdiag.py -i 10.57.216.96 -e 4 -c rtmr-prbs
python3 ocsdiag.py -i 10.57.216.96 -e 4 -s all -c lowfreq-auto-tune
python3 ocsdiag.py -i 10.57.216.98 -e 4 -s all -c lowfreq-auto-tune
python3 ocsdiag.py -i 10.57.216.98 -e 4 -c rtmr-prbs
python3 ocsdiag.py -i 10.57.216.98 -e 4 -s all -c lowfreq-auto-tune
4. 设置tia_peak(根据PCB走线)
python3 ocsdiag.py -i 10.57.216.98 -e 8 -s all -c tia-peak-tune
python3 ocsdiag.py -i 10.57.216.98,10.57.216.96 -e 4 -s all -c tia-peak-tune
5. 校准ibias (onoc)
python3 ocsdiag.py -i 10.57.216.98 -e 8 -s all -c ibias-auto-tune
6. 校准ibias (onet)
python3 ocsdiag.py -i 10.57.216.98 -e 4 -s all -c ibias-auto-tune -p 10.57.216.96
python3 ocsdiag.py -i 10.57.216.96 -e 4 -s all -c ibias-auto-tune -p 10.57.216.98
7. 校准mgc onoc
python3 ocsdiag.py -i 10.57.216.98 -e 8 -c rtmr-prbs
python3 ocsdiag.py -i 10.57.216.98 -e 8 -s all -c mgc-auto-tune
8.1 校准mgc onet
tx端: python3 ocsdiag.py -i 10.57.216.98,10.57.216.96 -e 4 -c rtmr-prbs
rx端: python3 ocsdiag.py -i 10.57.216.96 -e 4 -s all -c mgc-auto-tune
python3 ocsdiag.py -i 10.57.216.98 -e 4 -s all -c mgc-auto-tune
9. 查看retimer 误码情况
python3 ocsdiag.py -i 10.57.216.97 -e 8 -c vcmd -p "rtmr all"
10. 查看眼图情况
python3 ocsdiag.py -i 10.57.216.97 -e 8 -c vcmd -p "rtmr 1 eye 1 a"
python3 ocsdiag.py -i 10.57.216.97 -e 8 -c vcmd -p "rtmr 2 eye 1 a"
python3 ocsdiag.py -i 10.57.216.97 -e 8 -c vcmd -p "rtmr 3 eye 1 a"
python3 ocsdiag.py -i 10.57.216.97 -e 8 -c vcmd -p "rtmr 4 eye 1 a"
如果眼偏下,则op_current需要调小。
11. 保存配置
10.57.216.98/96: port 4
3. 设置high freq(根据PCB走线)
python3 ocsdiag.py -i 10.57.216.96,10.57.216.98 -e 4 -c highfreq-tune
4. 设置low freq
python3 ocsdiag.py -i 10.57.216.96,10.57.216.98 -e 4 -c rtmr-prbs
python3 ocsdiag.py -i 10.57.216.96 -e 4 -s all -c lowfreq-auto-tune
python3 ocsdiag.py -i 10.57.216.98 -e 4 -s all -c lowfreq-auto-tune
4. 设置tia_peak(根据PCB走线)
python3 ocsdiag.py -i 10.57.216.98,10.57.216.96 -e 4 -s all -c tia-peak-tune
6. 校准ibias (onet)
python3 ocsdiag.py -i 10.57.216.98 -e 4 -s all -c ibias-auto-tune -p 10.57.216.96
python3 ocsdiag.py -i 10.57.216.96 -e 4 -s all -c ibias-auto-tune -p 10.57.216.98
8.1 校准mgc onet
tx端: python3 ocsdiag.py -i 10.57.216.98,10.57.216.96 -e 4 -c rtmr-prbs
rx端: python3 ocsdiag.py -i 10.57.216.96 -e 4 -s all -c mgc-auto-tune
python3 ocsdiag.py -i 10.57.216.98 -e 4 -s all -c mgc-auto-tune
2. ocs link reset
ocs_link_reset -i 10.57.216.96,10.57.216.98 -e 4
先用vgc = 255,校准,然后手动改为200,发现recovery没增加了。
如何筛选模块:
1. 通过ibias筛选分光不均匀的。
写一个精修程序,针对有问题的lane,特定修。
针对几种眼型。
眼过小的: 先解决眼小的问题 先增加ibias (< 3200 , step 100, 如果整个眼都很小那就可以考虑直接设置2800如果还不行按step 100往上加)。方案2如果增加ibias到3200还不行那就增加op最高190step 10 #备选方案3 增加mgc( < 相对值+10)。
如果眼偏(垂直): 先调tia_peak。默认应该为中间值, 可以先设置200和0两个极端值,确认是否有改善,从而决定方向。如果发现降低有改善,但改善效果没达到,那就调highfreq,适当减小(默认是0,step 20, 不超过150)。
ibias 门限值:3200, rssi门限值:+0.5 (注意一个ibias对应两个rssi)
如果眼过小,且没超过ibias和rssi的门限值,那就先增加ibias(2000-2500: step 300, 2500-3200: step 150), 每次增加都要判断ibias和rssi是否超过门限值, 如果超出要恢复设置上一次的值。每次增加后要判断eye是否 不是过小了。
要把触发器和执行器解耦。
触发器:
眼小:
第一步: ibias调节(从小到大),如果没用,恢复默认值。可以直接设置一个较大的值,用来节省时间。
第二步: op调节(从小到大), 如果没用,恢复默认值。
第三步: 调节mgc(从小到大)。
如果还是没用,精修失败。
执行器:
ibias调节:
ibias range: [2000,3200], rssi range: [-2.0, +0.5] (注意一个ibias对应两个rssi) ,rssi是调节ibias的反馈值
从小到大:
ibias 上门限值:3200, rssi上门限值:+0.5
增加ibias(2000-2500: step 300, 2500-3200: step 150), 每次增加后都要判断rssi是否超过上门限值, 如果超出要恢复设置上一次的值。
从大到小:
ibias 门限下值: 2000, rssi门限下值: -2.0
减少ibias(2000-2500: step 300, 2500-3200: step 150),每次减少后都要判断rssi是否超过下门限值, 如果超出要恢复设置上一次的值。
应该恢复的值: 让rssi处于默认值的ibias值。
highfreq调节:
highfreq range:[0,100], step:20
从小到大:
op调节:
range: [0, 190], step: 10
从小到大:
从大到小:
mgc调节:
range: 相对值 ±10, step: 2
先减小( < 200, step 20)
眼偏上:
眼偏下:
眼偏上: 整体EQ过大。调eq,先调high freq,值调大(eq变小,不超过200,步进20); 再调tia_peak,值调大(eq变小,不超过200,步进20)。
眼偏下: 先调tia_peak。 op太大,需调小(最小100, step 10)
改了以后,可能需要ocs_link_reset。