Tuesday, May 15, 2007

debian etch 下 Marvell 88E8050 网卡驱动问题

手上有台双网卡服务器,一张是 Intel 的,另外一张是 Marvell 88E8050,原先只是用了 eth0 的 Intel 网卡,后来增加了网通的线路,于是启用了 eth1 的 88E8050,加上路由策略。运行后不久,问题出现,刚开始表现为网通线路不正常,再后来完全无法访问,最终导致内核崩溃。有 log 为证:
#less /var/log/messages
May 13 23:19:34 localhost kernel: NETDEV WATCHDOG: eth1: transmit timed out
May 13 23:19:34 localhost kernel: sky2 status report lost?
May 13 23:19:39 localhost kernel: NETDEV WATCHDOG: eth1: transmit timed out
May 13 23:19:39 localhost kernel: sky2 status report lost?
May 14 10:32:37 localhost syslogd 1.4.1#18: restart.
May 14 10:32:37 localhost kernel: klogd 1.4.1#18, log source = /proc/kmsg started.
google 了一下,gentoo 的论坛有用户指出kernel 驱动有问题,gentoo 的两位工程师已经提交了 patch 并进入了 2.6.21,从论坛上用户使用 2.6.21 的使用反馈来看并不相同,有些用户问题依旧存在,etch 的内核是 2.6.18,anyway,编译 2.6.21 内核先。
#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.1.tar.bz2
#wget -c ftp://ftp.linuxforum.net/ftp.kernel.org/linux/kernel/v2.6/linux-2.6.21.1.tar.bz2
#tar jxvf linux-2.6.21.1.tar.bz2
#ln -s linux-2.6.21.1 linux
#cd linux
#make menuconfig
#make-kpkg clean
#fakeroot make-kpkg --revision=Custom.1.0 kernel_image
#fakeroot make-kpkg --revision=Custom.1.0 kernel_headers
#dpkg -i linux-image-2.6.21.1_Custom.1.0_i386.deb
#dpkg -i linux-headers-2.6.21.1_Custom.1.0_i386.deb
#cd /boot
#mkinitrd -o /boot/initrd.img-2.6.21.1 2.6.21.1
#vim grub/menu.lst
// 加入
initrd          /boot/initrd.img-2.6.21.1
#reboot
重启过后使用一段时间发现还是有异常日志,不过新驱动好像在异常发生后,会重启 eth1 sky 网卡。继续使用小段时间有用户报告网通线路无法访问,我尝试着手工重启了一把,结果导致整个网通线路不同,登录上去后使用网通线路 ping 网通 DNS 又居然是通的,从其它机器 traceroute 的时候无法连到网通网卡,奇怪!再次重启,问题解决,目前正常运行一天,未出现异常情况,good,继续观察。 UPDATE: 2007-06-02,问题依然存在,2.6.21 不会导致内核崩溃, 但在 88E8050 网卡经常停止工作。

No comments:

Post a Comment