最近拿来一台PC,12年的时候安装的CentOS6.2(x64),那个时候使用的是外置网卡,最小化安装系统时,主板自带网卡没有显示出来也就没注意,但是最近需要用到双网卡,就郁闷了。于是发生了下面一系列问题。
1、lspci命令没有
遇到问题:
在最小化安装的centos6.X系统中,使用lspci命令查看硬件信息,提示找不到命令:command not found。
[[email protected] netperf-2.6.0]# lspci
-bash: lspci: command not found
解决办法安装:pciutils
# yum install pciutils
2、查看系统有哪些网卡
[[email protected] netperf-2.6.0]# lspci | grep Ethernet
02:00.0 Ethernet controller: Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet (rev c0)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)
其实我这个系统还有一个无线网卡,USB的
3、查看网卡驱动
这里使用ifconfig -a只能看到eth0和lo0,且eth0的驱动信息如下,说明AR8151驱动没有安装
[[email protected] netperf-2.6.0]# ethtool -i eth0
driver: r8169
version: 2.3LK-NAPI
firmware-version:
bus-info: 0000:04:00.0
4、CentOS下安装AR8151网卡驱动
遇到问题:
在网上搜索一下,说要下载驱动包,然后make等。
下载AR81Family-Linux-v1.0.1.9.tar.gz(由于此方法其实没有卵用,所以就不提供下载地址了)
但是并不能像网上有的说的那样使在src中make、make install(查看解决文件中readme),结果报“Makefile:61: *** Linux kernel source not found. stop”这样的错误;网上搜了以后开始是以为有些kernel包没有安装,安装kernel、kernel-devel、kernel-devel、kernel-headers的rpm包后还是报同样的错误。
解决办法:
发现网卡不兼容最后终于在网上找到了解决的方法:
(1)打开/sys/bus/pci/drivers路径,开始这里是没有一个叫做atl1c的目录的(如果有也没关系)。
(2)modprobe atl1c然后再看/sys/bus/pci/drivers下,是否出现了atl1c目录?
(3)echo "1969 1083" > /sys/bus/pci/drivers/atl1c/new_id(显示权限不够)
备注:如果你是root用户,就不会出现提示权限不够的问题了,同时也就不需要进行4、5、6步骤了。
(4)chmod 777 /sys/bus/pci/drivers/atl1c/new_id
(5)echo "1969 1083" > /sys/bus/pci/drivers/atl1c/new_id
(6)chmod 400 /sys/bus/pci/drivers/atl1c/new_id
执行上面步骤后,需要重启网络
#service network restart
但问题又来了,我不可能每次都开机后执行上面的步骤啊,太麻烦了,而且如果是别人操作,如果不知道这个情况就更惨了。
那就写个开机脚本吧,很简单,没啥复杂。
[[email protected] ~]# cd /etc/init.d/ //进入到开机启动脚本目录中
[[email protected] init.d]# vi atl.sh
#!/bin/sh
# this script start AR8151 --by [email protected]
#
# chkconfig: - 90 25
modprobe atl1c
echo "1969 1083" > /sys/bus/pci/drivers/atl1c/new_id
service network restart
~
"atl.sh" [New] 11L, 183C written
[[email protected] init.d]# chmod +x atl.sh //给予执行的权限
[[email protected] init.d]# ./atl.sh
正在关闭接口 eth0: 设备状态:3 (断开连接)
[确定]
关闭环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth0: 活跃连接状态:激活的
活跃连接路径:/org/freedesktop/NetworkManager/ActiveConnection/1
[确定]
[[email protected] init.d]# chkconfig atl.sh on //加入开机启动项
PS:本来是想在/etc/rc.local中添加命令来实现,不过发现重启系统后,并没有将网卡驱动加上,所以还是写了个简单的脚本。
参考文档:http://www.idcnote.com/article.asp?id=85