歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 關於CentOS系統自帶BCM 5709網卡驅動版本Bug問題

關於CentOS系統自帶BCM 5709網卡驅動版本Bug問題

日期:2017/2/28 16:00:25   编辑:Linux教程

問題背景:

最近十天來連續兩次遇到服務器網絡出現“抽風式”故障—公網網絡不定時突然自動down掉(如果要說有特別點最多就流量大點 但也並非常啊)無法連接,還好局域網網絡正常服務器系統本身服務也沒發現異常情況,也沒查看到特別異常的log記錄,都只能通過局域網服務連接執行service network restart重啟網絡服務才能恢復正常,覺得實在比較詭異。覺得懷疑會不會網卡有問題,後來同事提醒下進一步覺得應該是網卡驅動兼容性問題。

環境:OS:CentOS5.5 64Bit 網卡:Broadcom Corporation NetXtreme II BCM5709 系統自帶的默認驅動bnx2:2.0.2

網上Google了下據說是RH系列相關系統自帶的Broadcom NetXtreme II BCM 5709 驅動有BUG 涉及到關於ACPI電源管理的問題。這麼一來網上肯定自然也有相應的修復辦法(有人提問題最終肯定有答案,而且這有如電視劇裡演的有案件最終肯定有結果不然不可能演)。故在自己的地方簡單記錄再次警惕自己下…

解決措施:

方案一、系統啟動內核加載時停用ACPI電源管理系統 修改相應的Grub.conf引導程序配置文件:(此方案個人未曾嘗試過 因為畢竟是在線生產環境還是比較擔心不靠譜)

vim /boot/grub/grub.conf
title CentOS (2.6.18-194.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 acpi=off #內核引導行最後添加acpi=off關閉
initrd /initrd-2.6.18-194.el5.img
方案二、去除使用系統自帶的網卡驅動,手動安裝更新網卡驅動。(最後選擇此方案進行修復待後續觀察效果…)

1、先確認當前驅動版本:

modinfo bnx2 #或直接ethtool -i eth0 可以查看到固件版本
filename: /lib/modules/2.6.18-194.el5/kernel/drivers/net/bnx2.ko
version: 2.0.2
license: GPL
--------------------------------------------------------
ethtool -i eth0
driver: bnx2
version: 2.0.2
firmware-version: bc 4.6.4
bus-info: 0000:01:00.0

2、下載最新網卡驅動:http://www.broadcom.com/support/ethernet_nic/netxtremeii.php

3、安裝更新驅動:

unzip linux-6.0.53.zip #解壓驅動程序其中已包括源代碼及rpm包
cd Server/Linxu/Driver
rpm -ivh netxtreme2-6.0.53-1.src.rpm #解壓出包源碼
1:netxtreme2 ########################################### [100%]
cd /usr/src/RedHat/SPECS/
rpmbuild -bb netxtreme2.spec #重建生產對應系統的rpm包
cd ../RPMS/x86_64/
rpm -ivh netxtreme2-6.0.53-1.x86_64.rpm #安裝網卡驅動


4、網卡驅動切換:
vim change_driver.sh
rmmod bnx2
modprobe bnx2
chmod 755 change_driver.sh
./change_driver.sh & #後台執行腳本
注:正常情況網絡會出現中斷一會重新加載完成會自動恢復,如果出現異常未能自動恢復可能需要重啟服務器使系統完成重新加載新網卡驅動

5、核實更新後當前驅動版本:
modinfo bnx2 #或直接ethtool -i eth0 可以查看到固件版本
filename: /lib/modules/2.6.18-194.el5/updates/bnx2.ko
version: 2.0.18c
license: GPL
---------------------------------------------------------
ethtool -i eth0
driver: bnx2
version: 2.0.18c
firmware-version: bc 4.6.4
bus-info: 0000:01:00.0

至此,能做基本處理,對於自身環境後續就是還有待再繼續觀察驗證是否是此問題,不定時問題是否還依舊。就比如同事後來置疑到固件版本還是沒升級上來,還是4.6.4擔心還會有問題。但因為對此情況網上貌似有人測試過單單升級固件版本還是不見效果(來源見參考鏈接2),故還是先更新驅動看看,真還是依舊有問題的話再找其他招數。

Copyright © Linux教程網 All Rights Reserved