FC5下Attansic网卡驱动问题的解决
最近因为项目需要,配置一个linux下的集群系统。选择了FC5作为服务器的操作系统,本来以为很简单的安装FC5系统的工作,因为Attansic网卡的驱动问题折腾了很久,现在就把整个的过程记录下来,做个参考吧。
机器的配置:
CPU:赛扬D352,3.2GHz,(支持Intel EM64T技术)
硬盘:320G
网卡:Attansic千兆网卡
操作系统:Fedora Core 5 (kernel 2.6.15)
安装完FC5以后,发现无法识别网卡。于是从主板附送的光盘中找到了该网卡linux下的驱动程序,是源代码包。根据其中的说明make install了一下,结果报错:Linux kernel source not found。然后发现FC5下是没有安装源代码的。郁闷,只好去这里下面这里下载FC5的内核源码包:
http://download.fedora.redhat.com/pub/fedora/linux/core/5/source/SRPMS/kernel-2.6.15-1.2054_FC5. src.rpm
关于这个Attansic千兆网卡,有必要说明一下。这个是华硕主板集成的网卡。对于该网卡的驱动,在SourceForge里面还专门有一个项目,里面提供了该网卡官方的最新驱动程序的源码包以及相应的kernel-patch,网址如下:
http://atl1.sourceforge.net/
按照下面的步骤进行安装:
1、安装FC5内核源码
(然后进入到该rpm包所在的目录,将rpm包拷贝到/usr/src目录下)
# cp kernel-2.6.15-1.2054_FC5.src.rpm /usr/src
# cd /usr/src
# rpm -Uvh kernel-2.6.15-1.2054_FC5.src.rpm
# cd /usr/src/redhat/SPECS
# ls
Kernel-2.6.spec
# rpmbuild -bp --target i686 kernel-2.6.spec
# ls /usr/src/redhat/BUILD/kernel-2.6.15/
Config.mk linux-2.6.15.i686 vanilla xen xen-vanilla
# cd /usr/src
# mkdir kernels
# cd kernels/
#ln -s ../redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686/ 2.6.15-1.2054_FC5-i686
(上面这句命令要注意,在../redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686/和2.6.15-1.2054_FC5-i686之间是有一个空格的,不是连在一起的!!)
# ls
2.6.15-1.2054_FC5-i686
# cd 2.6.15-1.2054_FC5-i686/
# cp configs/kernel-2.6.15-i686.config .config
(上面这句命令要注意,在configs/kernel-2.6.15-i686.config和.config之间是有一个空格的!!)
cp:是否覆盖 “.config” ? y
# uname –r
2、编译内核源码
进入linux内核树
# cd /usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686
# make
然后就耐心等待编译吧:)
3、编译驱动程序
在那个SourceForge上提供了两个网卡驱动的版本:
一个是AtL1Linux_v0.1.40.6.tar.gz 这个是老版本的驱动
一个是AtL1Linux_v1.0.41.0.tar.gz 这个是Attansic公司For kernel 2.6.18的最新的驱动
我机子上用的是第二个最新的这个驱动,将这个驱动压缩包拷贝到本机上,进入驱动压缩包所在的目录
# tar xvfz AtL1Linux_v1.0.41.0.tar.gz
# cd AtL1Linux_v1.0.41.0
这个目录下应该有一个放源代码的文件夹,进入
# cd src
找到一个叫at_main.c的源文件,打开并修改其中的内容,用于解决驱动程序中TSO部分的问题。如果不修改这个问题,就会导致下载速率正常但是上传的速率很低。
# vi at_main.c
找到下面这一行,并注释掉
netdev->features |= NETIF_F_TSO;
# make install
耐心的等待编译吧,嘿嘿…
机器的配置:
CPU:赛扬D352,3.2GHz,(支持Intel EM64T技术)
硬盘:320G
网卡:Attansic千兆网卡
操作系统:Fedora Core 5 (kernel 2.6.15)
安装完FC5以后,发现无法识别网卡。于是从主板附送的光盘中找到了该网卡linux下的驱动程序,是源代码包。根据其中的说明make install了一下,结果报错:Linux kernel source not found。然后发现FC5下是没有安装源代码的。郁闷,只好去这里下面这里下载FC5的内核源码包:
http://download.fedora.redhat.com/pub/fedora/linux/core/5/source/SRPMS/kernel-2.6.15-1.2054_FC5. src.rpm
关于这个Attansic千兆网卡,有必要说明一下。这个是华硕主板集成的网卡。对于该网卡的驱动,在SourceForge里面还专门有一个项目,里面提供了该网卡官方的最新驱动程序的源码包以及相应的kernel-patch,网址如下:
http://atl1.sourceforge.net/
按照下面的步骤进行安装:
1、安装FC5内核源码
(然后进入到该rpm包所在的目录,将rpm包拷贝到/usr/src目录下)
# cp kernel-2.6.15-1.2054_FC5.src.rpm /usr/src
# cd /usr/src
# rpm -Uvh kernel-2.6.15-1.2054_FC5.src.rpm
# cd /usr/src/redhat/SPECS
# ls
Kernel-2.6.spec
# rpmbuild -bp --target i686 kernel-2.6.spec
# ls /usr/src/redhat/BUILD/kernel-2.6.15/
Config.mk linux-2.6.15.i686 vanilla xen xen-vanilla
# cd /usr/src
# mkdir kernels
# cd kernels/
#ln -s ../redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686/ 2.6.15-1.2054_FC5-i686
(上面这句命令要注意,在../redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686/和2.6.15-1.2054_FC5-i686之间是有一个空格的,不是连在一起的!!)
# ls
2.6.15-1.2054_FC5-i686
# cd 2.6.15-1.2054_FC5-i686/
# cp configs/kernel-2.6.15-i686.config .config
(上面这句命令要注意,在configs/kernel-2.6.15-i686.config和.config之间是有一个空格的!!)
cp:是否覆盖 “.config” ? y
# uname –r
2、编译内核源码
进入linux内核树
# cd /usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686
# make
然后就耐心等待编译吧:)
3、编译驱动程序
在那个SourceForge上提供了两个网卡驱动的版本:
一个是AtL1Linux_v0.1.40.6.tar.gz 这个是老版本的驱动
一个是AtL1Linux_v1.0.41.0.tar.gz 这个是Attansic公司For kernel 2.6.18的最新的驱动
我机子上用的是第二个最新的这个驱动,将这个驱动压缩包拷贝到本机上,进入驱动压缩包所在的目录
# tar xvfz AtL1Linux_v1.0.41.0.tar.gz
# cd AtL1Linux_v1.0.41.0
这个目录下应该有一个放源代码的文件夹,进入
# cd src
找到一个叫at_main.c的源文件,打开并修改其中的内容,用于解决驱动程序中TSO部分的问题。如果不修改这个问题,就会导致下载速率正常但是上传的速率很低。
# vi at_main.c
找到下面这一行,并注释掉
netdev->features |= NETIF_F_TSO;
# make install
耐心的等待编译吧,嘿嘿…