CentOS 系统安装网卡驱动:
之前给我自组的台式机U盘安装里CentOS 6.0系统,但是安装后,无法识别网卡,当时太菜折腾很久都没搞定,就一直扔在一边没管。今天突然兴趣高涨,又捣鼓了起来,这次居然被我给搞成功,颇为欣慰,特写此博客,算作总结,也助他人。并感谢我搜到的参考资料的作者们。
【环境描述】:
系统:CentOS 6.0
内核:2.6.32
网卡:Atheros ar8151 #说明:其实针对Atheros 某一芯片组是有统一的一个驱动族,比如:AR81Family
网络:内网,由路由拨号外网。
【操作步骤】
一、驱动模块
1.在可以上网的系统上下载AR81Family-linux-v1.0.1.14.tar.gz #说明:请在百度或谷歌自行搜索下载,可能有更高版本,笔者是使用很早之前下载的1.0.1.14,够用。
2.U盘拷贝到/usr/local/src目录下
3.cd /usr/local/src
4.mkdir drivers
5.解压:tar zxvf AR81Family-linux-v1.0.1.14_1.tar.gz -C drivers/ #说明:这里是将文件解压到 第4步新建的drivers目录。这里解压时会报错,下面会说明
6.cd /usr/local/src/drivers/src
7.make install #说明:开始编译模块,并安装到/lib/modules/
8.加载模块:modprobe atl1e.ko
9.一般载第7步后,模块的加载信息就已经被写入/lib/modules/
。但如果没有,就请做如下操作:【未验证】
a. vi /etc/modprobe.d/atl1e.conf #centos 6.0以前的版本请直接编辑 /etc/modprobe.conf
b. alias eth0 atl1e
参考链接:http://linuxjcq.blog.51cto.com/blog/3042600/703927 该博客里有部分错误,比如执行./configure等。请直接阅读源码包中的readme.该readme文件不知道为什么内容没更新,里面写的是arl1e模块,而实际编译出的是atl1e [源码的文件名及目标文件名都为atl1e],项目维护人员偷懒了?;-P
二、网卡配置
1.上述加载完atl1e.ko后,执行ifconfig就会发现eth0。此时手动生成ifcfg-eth0文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
NAME="system eth0"
BROADCAST=192.168.1.255 #说明:此处网络环境为内网,请根据实际需要
IPADDR=192.168.1.109
IPV6INIT=yes
IPV6_AUTOCONF=yes
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
HWADDR=[MAC ADDR] #说明:这里的值可有ifconfig eth0命令查到的MAC地址
BOOTPROTO=static
GATEWAY=192.168.1.1
USERCTL=no
2.重启网络配置:service network restart
但是总报错误:Bringing up interface eth0: Error: Connection activation failed: Device not managed by NetworkManager
而且ifconfig命令下的eth0信息仍然为初始无效值。
解决:这里需要重新启动一下NetworkManager
a.chkconfig NetworkManager off
b.chkconfig network on
c.service NetwrokManager stop
d.service network start
之后发现eth0正常启动,ifconfig命令下eth0信息正常。
3.访问外网
由于我是和朋友共用一个路由器,上述配置只能访问内网及192.168.0.1网段。
即执行ping 192.168.1.1 成功
但执行 ping www.baidu.com 失败。
原因:DNS没有设置
解决:a.查看路由器中主备DNS服务器 IP
b.编辑/etc/resolv.conf, 内容如下:
nameserver xxx.xxx.xxx.xxx #说明:首选DNS
nameserver xxx.xxx.xxx.xxx #说明:备选DNS
c.重启network: /etc/init.d/network restart
d.ping www.baidu.com 成功!
至此,网卡的安装及配置已经全部完成,终于可以上网了!实际上该博客就是笔者在搞定后的PC上撰写的!
之后,针对步骤一的第5步,在解压时总报错,起初我以为是下载的包不完整,导致的解压出错
gzip: stdin: decompression OK, trailing garbage ignored
tar: Child returned status 2
tar: Error exit delayed from previous errors
ProtossBird解释:报这样的错通常是因为tar.gz文件的尾部有一串0x00或者0xff,这是由于很多场合下压缩算法都会在压缩完成后补充一些字节以对齐数据块.gzip在正确解压完tar.gz的内容后开始解压这样的全零填充字节就会报这样的错.并不会影响使用.
用安静模式 (gzip -q) 可以消除这些警报
参考链接:http://bbs.csdn.net/topics/200003259