笔记本上双系统,安装了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型号:
找到驱动:
下载自己的驱动:
(驱动备份在“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
至此问题解决。