CentOS安装无线网卡-阿里云开发者社区

开发者社区> 开发与运维> 正文

CentOS安装无线网卡

简介:

笔记本上双系统,安装了CentOS操作系统,但是CentOS不带无线网卡,所以需要开启无线。

本人笔记本为ThinkPad T430i

1,查看一下有没有装过无线网卡驱动

执行命令:

iwconfig

如果出现以下信息,
[root@localhost network-scripts]# iwconfiglo        no wireless extensions.wlan0     802.11bgn  ESSID:”755″  Nickname:”rtl8192CE”                 //如果有这东西出现就说驱动装好了
Mode:Managed  Frequency=2.437 GHz  Access Point: 38:83:45:32:2C:6E

Bit Rate=150 Mb/s

Retry:on   RTS thr:off   Fragment thr:off

Encryption key:C9EA-80B7-1756-A1E9-0A03-BE18-02F3-C4A9   Security mode

//如果有wlan0这东西出现就说驱动装好了,否则需要装无线网卡驱动。

我笔记本上,出现的是:


eth0      no wireless extensions.lo        no wireless extensions.

(没有wlan0,所以需要安装无线驱动)

2,查看无线网卡型号

执行命令:


lspci  | grep  -i  network

查看到如下信息
00:19.0  Ethernet  controller:  Intel Corporation  82579LM  Gigabit  Network  Connection (rev 04)03:00.0  Network  controller:  Realtek  Semiconductor Co., Ltd.  RTL8188CE  802.11b/g/n  WiFi  Adapter (rev 01)//RTL8188CE无线网卡型号

(从这可以看出,本笔记本的无线网卡型号为Realtek 的RTL8188CE)

3,查看linux内核版本

执行命令:

uname  -r

可以看到内核信息:
2.6.32-431.el6.x86_64         //内核版本,2.6.32-358

(不知道为什么,后面内核信息变成了“2.6.32-431.17.1.el6.x86_64”,囧)

4,下载无线网卡驱动

从前几步,可以看出,笔记本用的网卡为Realtek 的RTL8188CE,Linux的内核为“2.6.32-431.el6.x86_64”。

所以,进入Realtek 官网:http://www.realtek.com/,查找RTL8188CE型号:

1

找到驱动:

2

下载自己的驱动:

3

(驱动备份在“My_Software\System_Tools\~驱动软件\Realtek RTL8188CE(Drivers & Utilities)-Linux ”中)

5,安装驱动

解压驱动:

tar  -zjvf   linux_mac80211_0012.0207.2013.tar.bz2

(因为是tar.bz2文件,所以用的解压参数是“-zjvf”)

进入驱动:

cd  linux_mac80211_0012.0207.2013

安装驱动:

make  &&  make  install

(找对应自己网卡型号和内核版本的驱动,不过也有例外,我的内核是2.6.32的,我安装的是“Linux driver for kernel 2.6.23 (and earlier)”,而不是“Linux driver for kernel 2.6.24 (and later)”,2.6.24这个版本报错,没装成功。)

(如果下错版本,装错了,先make clean后,在重新装。装好后,重启一下电脑。)

6,问题解决

使用“make  &&  make  install”命令时,报错:


[root@wx-think rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013]# make && make installmake -C /lib/modules/2.6.32-431.el6.x86_64/build M=/opt/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013 modulesmake: *** /lib/modules/2.6.32-431.el6.x86_64/build: 没有那个文件或目录。 停止。
make: *** [all] 错误 2

解决方案:参照“附件一”

7,配置

本人笔记本上没有这个需要,但还是摘录一下。

1.移除所有其它的BROADCOM 无线设备驱动。

除了我们已经编译好的驱动外,其它的Broadcom 802.11芯片驱动象b43, bcma和ssb,和我们新的驱动是冲突的。所以我们要先把它们移除。

查看驱动:

lsmod  |  grep  “b43\|ssb\|bcma\|wl”

如果以下任何一种驱动存在,移除它:

rmmod  b43rmmod  ssbrmmod  bcma
rmmod  wl

将这些配置加入黑名单,不让它们被使用:
echo  “blacklist ssb”  >>  /etc/modprobe.d/blacklist.confecho  “blacklist bcma”  >>  /etc/modprobe.d/blacklist.confecho  “blacklist b43″  >>  /etc/modprobe.d/blacklist.conf

2.根据你的系统执行

进入内核文件:


cd  /lib/modules/’uname -r’

(’uname -r’为执行命令后得到的参数)

 

然后加载响应模块:


modprobe  8192ce

(此处8192ce.ko,是在之前make命令最后生成的文件,它是一个关于8192ce这一型号的内核目标文件)

现在你的网络管理程序应该可以找到设备。你可以使用无线网络了。

注:我们的过程就是把编译出来的8192ce.ko 放入/lib/modules/2.6.32-431.17.1.el6.x86_64/kernel/net/wireless目录。然后执行配置。

8,无线上网

扫描区域内的无线网络:

iwlist  scanning

会列出所有无线网

 

或者,列出有关usb接口设备的选项:


lsusb

9,参考资料

(驱动下载和安装:http://www.centoscn.com/image-text/config/2013/1017/1881.html

(问题解决:http://blog.sina.com.cn/s/blog_6cb5a76f01010pdj.html 

http://www.360doc.com/content/14/0118/21/15519979_346271662.shtml 

 

 

附件一

错误信息

进入驱动文件后,使用“make  &&  make  install”命令时,报错:

[root@wx-think rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013]# make && make installmake -C /lib/modules/2.6.32-431.el6.x86_64/build M=/opt/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013 modulesmake: *** /lib/modules/2.6.32-431.el6.x86_64/build: 没有那个文件或目录。 停止。
make: *** [all] 错误 2

出现该问题,是因为内核文件出现了问题。

查看内核文件

“/lib/modules/2.6.32-431.el6.x86_64/build”是内核文件,进入该文件查看是否存在:

cd  /lib/modules/2.6.32-431.el6.x86_64

然后查看所有文件和属性:
ls  -l

可以看到build的链接出现了问题:
lrwxrwxrwx.  1 root root     44  3月  4 00:32 build -> ../../../usr/src/kernels/2.6.32-431.el6.x86_64

(这里说明build 是一个链接文件,并且指向的地址不存在。)

安装内核的源码包

然而,查看/usr/src/kernels/目录,发现下面是没有内容的。

对于CentOS来说,内核源码是放在 /usr/src/kernels 目录中;如果通过在线升级内核,也是放在这个目录中;如果您的系统中的 /usr/src/kernels/ 中没有内容,说明没有安装内核的源码包 kernel-devel 软件包。

可以通过在线安装的内核源码包,比如通过 apt+synaptic 或者yum 安装的,内核源码会被放到/usr/src/kernel 下的目录中,您要进入相对应的目录进行编译;

在这里我是通过yum安装的:

yum  -y  install  kernelyum  -y  install  kernel-devel

以及安装gcc:
yum  install  gcc

(如果没有安装gcc,后面再运行make命令,会报错提示“make[1]: gcc:命令未找到”)

改变内核的build链接

再次查看内核版本:

uname  -r

可以看到版本信息为:

2.6.32-431.17.1.el6.x86_64

而刚才“cd  /lib/modules/2.6.32-431.el6.x86_64”中build指向的是“../../../usr/src/kernels/2.6.32-431.el6.x86_64”,所以应该将链接地址改变:

进入:

cd  /lib/modules/2.6.32-431.el6.x86_64

改变软链接地址:
ln  -fs  ../../../usr/src/kernels/2.6.32-431.17.1.el6.x86_64/  build

重新编译

重新进入驱动文件:

cd  /opt/ rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013/

(这是驱动的解压目录)

编译和安装:

make  &&  make  install

重启电脑

重启电脑,后查看电脑网络信息:

iwconfig

就可以看到wlan0信息:
[root@wx-think 2.6.32-431.el6.x86_64]# iwconfiglo        no wireless extensions. 
eth0      no wireless extensions.

 

wlan0     802.11bg  ESSID:”IP-COM”  Nickname:”rtl8192CE”

Mode:Managed  Frequency=2.447 GHz  Access Point: 00:B0:0C:03:84:88

Bit Rate=54 Mb/s

Retry:on   RTS thr:off   Fragment thr:off

Encryption key:8E1D-649E-14A6-DD4C-F583-DF4A-542C-0CC8   Security mode:open

Power Management:off

Link Quality=91/100  Signal level=-56 dBm  Noise level=-115 dBm

Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

Tx excessive retries:0  Invalid misc:0   Missed beacon:0

至此问题解决。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章