一台R4950 G6搭配NIC-ETH360T-3S-4P网卡,发生多次异常宕机,系统版本Ubuntu 24.04,每次重启均伴随如下OCP网卡报错:
Bus Uncorrectable Error---slot 16---PCIe Name:NIC-ETH360T-3S-4P
硬件链路涉及网卡、主板、网卡线缆、CPU,均更换仍无效
1、升级BIOS到6.30.37P01或更新版本,并在BIOS下设置APBDIS=1,预防可能出现的CPU PIE问题:
Advanced--AMD CBS--NBlO Common Options--SMU Common Options--BIOS参数APBDIS为1:进入Mission Mode
详细参考知了:https://zhiliao.h3c.com/theme/details/230976
2、通过RW对PClE cfg space的寄存器将CTO值调大,操作步骤如下(需root权限,重启OS后会失效,建议写成开机自启脚本,参考步骤3):
(1) 确认所有网卡bus号:lspci | grep -i eth
[root@localhost ~]# lspci | grep -i eth
41:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
41:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
41:00.2 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
41:00.3 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
(2)查看当前寄存器值。以第一个网口为例:setpci -s 41:00.0 a0+28.w
[root@localhost ~]# setpci -s 41:00.0 a0+28.w
0400
注:a0+28.w为网卡固定参数,无需修改,每个网口均需查看。
(3)将最后一位修改为a,写回寄存器,每个bus号都需要执行。以第一个网口为例:setpci -s 41:00.0 a0+28.w=040a
[root@localhost ~]# setpci -s 41:00.0 a0+28.w=040a
注:(2)的输出不唯一,可能存在0000,0100等,均仅需将最后一位改为a,如000a,010a等,每个网口均需修改。
(4)确认是否修改成功。以第一个网口为例:lspci -vvvs 41:00.0 | grep "DevCtl2"
[root@localhost ~]# lspci -vvvs 41:00.0 | grep "DevCtl2"
DevCtl2: Completion Timeout: 1s to 3.5s, TimeoutDis- LTR+ OBFF Disabled
可以看到Completion Timeout值调整到1-3.5秒。
3、开机自启脚本方案:
(1)创建需要执行的脚本,创建完成之后赋予执行权限:
(2)使用 crontab设置开机自启动:
使用crontab命令创建任务:sudo crontab -e
//进入编辑,输入:@reboot /home/test/cto.sh,其中/home/test/cto.sh为脚本路径
升级BIOS到6.30.37P01或更新版本,在BIOS下设置APBDIS=1,将网卡将CTO值调大,具体方法参考上述方案,修改观察。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作