先列出我使用的 Debian 版本:
Linux web 2.6.18-6-686 #1 SMP Sun Feb 10 22:11:31 UTC 2008 i686 GNU/Linux
上面主要跑 apache2, php5, mysql5, vsftpd
/etc/apt/sources.list:
deb http://ftp.tw.debian.org/debian/ etch main
deb-src http://ftp.tw.debian.org/debian/ etch main
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
這台機器上使用一個主機板內建網卡,型號如下:
Marvell88E8056R PCI-E Gigabit LAN controllers
Debian 是載入 sky2.ko 這個 module 去驅動,我查過 module 版本是 1.5:
web:~# ethtool -i eth1
driver: sky2
version: 1.5
firmware-version: N/A
bus-info: 0000:01:00.0
可是這台機器有一個問題,常常在網路流量大時,網卡就當掉,
console 不斷出現:
Sky2 eth1: transmit descriptor error (hardware problem)
Sky2 eth1: Link is down
查了很多國內外論壇,都說 sky2 這個 module 有問題,
建議換成原廠 Marvell 的 sk98lin,我到原廠網頁抓了 source:
http://www.marvell.com/drivers/driverDi ... 153&pId=38
sk98lin.ko 也 compile 出來了,可是不管我下:
modprobe -r sky2 或 rmmod sky2
一重開機,sky2 module 還是會 load 進來,
導致 sk98lin module 載入時,出現:
Apr 9 23:57:10 web kernel: sk98lin: no version for "struct_module" found: kernel tainted.
所以現在又換回 sky2 了,也不知道他啥時會當掉,
只能放個 monitor script,當掉就重起網卡,不曉得大家有沒有好的建議?