为什么要使用无线网络呢?
因为无线网络使用比较方便,使用无线网络我们不必使用那些乱糟糟的网线就能实现上网,现在无线网络比较普及,尤其在那些不方便布线的地方(山区、河流、机场、横跨马路、机场、工厂车间等)更是盛行。
我呢,最近为了玩linux将我的电脑装成了linux操作系统,由于先前没有做好功课,装上系统后,我要哭了,发现我的电脑没有办法使用我们宿舍的无线上网,在网上找了好久发现我的电脑集成的无线网卡并没有支持linux的驱动程序。可是我又不想换回原来的系统啊,于是我就,买了个usb无线网卡(附带有linux驱动我才买的哦)。然后我就迫不及待的去尝试着去安装驱动喽,试了好几次终于成功了,这里就给大家分享一下下哦。
我的无线网卡的型号是:Realtek 8176
支持linux的驱动程序包是:RTL8192xC_USB_linux_v3.4.4_4749.20121105
当然,如果你的usb无线网卡你不知道是什么型号的话,你可以插入你的linux主机,待系统识别后通过lsusb查看你的无线网卡型号,可以根据型号去网上找相应的驱动,这个命令是不是很有用处哦!
下面就是详细的安装过程,大家伙可要看仔细哦!
要想安装驱动,你得把驱动程序包弄到电脑里吧,不用说大家伙也知道不是:
接着,使用unzip将驱动包解压到当前目录,解压完成后进入解压的目录:
那我们首先安装驱动动程序,进入driver目录:
我们发现这些都是源代码,我们需将它拆解到/usr/local/src目录:
tar -zxvf rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105.tar.gz-C /usr/local/src/
然后进入解压后的目录:
进行make和make install来生成linux模块(注意在linux下所有的驱动都是以模块的形式存在的)
一般linux内核会自动加载新安装的模块,此处发现并没有加载,那是什么原因呢?原因是这样的,当系统重新安装了驱动模块后,系统一般会在重新启动后加载,如果不能加载,我们可以使用指令:insmod +具体路径和模块或者直接使用modprobe不需指明路径。
下面我们重启后,看看系统能否自动加载模块:
但是为了完成网卡和模块的对应关系,我们必须修改/etc/modprobe.conf文件,否则网卡无法获取到ip地址哦:
一旦模块加载完成,网卡就被驱动起来了,我们可以使用ifconfig查看是否显示出来wlan0:
而使用ifconfig –a 查看呢:
这是为什么呢?原来是ifconfig查看的是已激活的网卡,ifconfig –a 查看的所有的,此时我们只需要将wlan 0激活即可:
但是,此时wlan 0仍然不能获取到ip地址,因为它还需要扫描无线网络和连接无线网络的工具,我们进入RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105目录下的wireless_tools目录:
我们再次将包拆解到/usr/local/src目录下
tar -zxvf wireless_tools.30.rtl.tar.gz -C /usr/local/src/进入到拆解的目录:
然后执行make和make install:
我们进入/usr/local/sbin目录下:
接着我们使用iwlist列出周围的无线网络:
当然光搜素到无线网络是没有用处的,因为这些无线网络都是加密的,我们必须要验证工具来进行密钥验证,下面我们进入到RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105的wpa_supplicant_hostapd的目录:
我们使用unzip将wpa_supplicant-0.6.9_wps_patch_20100201_1.zip解压到当前目录:
我们进入到wpa_supplicant-0.6.9/wpa_supplicant目录下:
执行make 和make install
我们进入/usr/local/sbin目录:
此时,我们可以去连接我们的无线网络了:
为了安全起见,我们需要将明文密码删除
现在,我们的驱动模块和密钥文件都形成了,现在进行无线网络的连接:
wpa_supplicant -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -D wext –B
各参数的含义:-i 指明连接的网卡
-c 指明密钥文件的存放位置
-D 指明驱动类型为通用型
-B 放到后台运行
我们使用iwconfig查看无线网卡的连接转状态:
为了使wlan0能够动态获得ip我们需进到/etc/sysconfig/network-scripts/网卡文件存放的位置,产生wlan0网卡的文件(ifcfg-wlan0):
接着重新启动网络服务
下面看看我们的wlan0能否成功获取Ip地址吧:
但是,只做到这一步还不行,因为只要我们的机器重新启动,我们就不得不重新执行
wpa_supplicant -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -D wext –B
和service network restart这两条指令了,很是麻烦啊!但是有什么办法呢?上次我在系统内核故障排除时也告诉大家了系统的引导过程了,系统启动时,要进行系统的初始化操作,执行初始化脚本,初始化脚本就是/etc/rc.d/rc.local。为了满足我们的要求,我们可以在系统初始化的时候就执行上面的两条指令:
接着我们看看我们的环境变量是否加入/usr/local/sbin这个目录,否则系统不能够识别我们的wpa_supplicant这个指令。echo "$PATH":
好了到此我们就可以很方便的使用无线上网了!