分类: BSD
2009-11-15 16:06:47
FreeBSD千兆网卡RTL8168/8111 PCI-E Gigabit Ethernet NIC 驱动安装
由于身兼数职,最近事情好多,一直没有顾得上换校园网网关服务器,(服务器买来已将近一学期了,还没有投入使用)之前使用的是一台老的IBM SRV(CPU: Intel(R) Pentium(R) III CPU family 1266MHz (1263.08-MHz 686-class CPU)),如果迅雷用户太多,在三个机房全开的情形下,服务器就很难处理完数据,导致整个网络感觉反应很慢,甚至SRV DOWN掉.
昨天下午开始着手安装网关服务器(系统:FreeBSD7.2)晒一下新服务器(FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs,real memory = 2147155968 (2047 MB))
刻录完FB7.2后,很快最简安装完成,但后来始终是千兆网卡(RTL8168/8111 PCI-E Gigabit Ethernet NIC)no active,网卡灯都不闪,起初以为是网线的缘由,换了另一只网线,还是老样子,后面的才知道是网络卡驱动的问题,晚上准备要继续做的,但朋友请去聚会了,由于酒量好,喝得太多,我倒下了,到现在还难受着不得了。睡到了11:14后,被一个朋友叫醒,又接着昨晚未完成的工作······
开始Google了一大堆料都没有好一点的解决方法,最后还是看了一下RTL 公司Readme,才可以完成,以下是全过程:
1到 去下载 for FreeBSD 的for的驱动()
2. 解压rtl_bsd_drv_v179.tgz文件后阅读Readme,上面提供了两种方式,我们只能使用第二种方式。
3.sysinstall-- Configure -> Distribution -> src -> sys(同步内核码)
# cd /usr/src/sys/pci
# cp if_rl.c if_rl.c.bakup
# cp if_rlreg.h if_rlreg.h.bakup
# cd /usr/src/sys/modules
# cp Makefile Makefile.bakup
# cd /usr/src/sys/modules/rl
# cp Makefile Makefile.bakup
# cd /usr/src/sys/i386/conf/
# cp GENERIC vangeldoro
4.重新编译核心
# vi /usr/src/sys/i386/conf/vangeldoro
找到rl、re(接口信息)并注解用“#”
# cd /usr/src/sys/i386/conf
# /usr/sbin/config vangeldoro
# make kernel KERNCONF=vangeldoro
# cd ../compile/vangeldoro
# make depend
# make
# make install
# sync
#reboot
5.安装RTL8168/8111 PCI-E Gigabit Ethernet NIC驱动
#cp if_rl.c /usr/ src/sys/pci
#cp if_rlreg.h /usr/ src/sys/pci /
#cd /home/rtl_bsd_drv_v179/
#cp Makefile /usr/src/sys/modules/rl
# cd /usr/src/sys/modules/rl
# make clean
# make
# cd /usr/src/sys/modules/rl
# kldload ./if_rl.ko (手动加载)
# /sbin/dhclient rl0 (DHCP获得地址)
ifconfig rl0 (查看接口信息)
rl0: flags=8843
ether 00:1d:92:bd:77:80
inet 10.9.9.9 netmask 0xffffff00 broadcast 10.9.9.255
media: Ethernet autoselect (100baseTX
status: active
呵呵,好啦!
如果要开机自动加载:
1.cp /usr/src/sys/modules/rl/if_rl.ko /boot/kernel/if_rl.ko
1. vi /boot/defaults/loader.conf
2. 加入:
3. “if_rl.ko_load="YES" # RealTek 8168/8111 PCI-E Gigabit Ethernet NIC”
4. 现在reboot
5. 感谢RTL的RTL 公司Readme。