6.9 KiB
如需调试模块,请先备份参数。
-
备份参数: 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
-
恢复参数: 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
-
根据需求对节点执行 power cycle ipmitool power cycle
-
设置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
-
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
-
设置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
-
设置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
-
设置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
-
校准ibias (onoc) python3 ocsdiag.py -i 10.57.216.98 -e 8 -s all -c ibias-auto-tune
-
校准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
-
校准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
-
查看retimer 误码情况 python3 ocsdiag.py -i 10.57.216.97 -e 8 -c vcmd -p "rtmr all"
-
查看眼图情况 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需要调小。
-
保存配置
10.57.216.98/96: port 4
-
设置high freq(根据PCB走线) python3 ocsdiag.py -i 10.57.216.96,10.57.216.98 -e 4 -c highfreq-tune
-
设置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
-
设置tia_peak(根据PCB走线) python3 ocsdiag.py -i 10.57.216.98,10.57.216.96 -e 4 -s all -c tia-peak-tune
-
校准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
- ocs link reset ocs_link_reset -i 10.57.216.96,10.57.216.98 -e 4
先用vgc = 255,校准,然后手动改为200,发现recovery没增加了。
如何筛选模块:
- 通过ibias筛选分光不均匀的。
写一个精修程序,针对有问题的lane,特定修。
针对几种眼型。 眼过小的: 先解决眼小的问题 先增加ibias (< 3200 , step 100, 如果整个眼都很小,那就可以考虑直接设置2800,如果还不行,按step 100往上加)。方案2,如果增加ibias到3200还不行,那就增加op,最高190,step 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。