Linux下的无线网卡



TP-Link TL-WN510G是TP-Link出品的廉价802.11g PCMCIA无线网卡(我花¥130购得,应该还可以更便宜),Kubuntu是著名的Ubuntu项目的KDE版本。

在Linux下驱动无线网卡主要是使用ndiswrapper和iwconfig两个工具。其中ndiswrapper是用来使用Windows驱动的工具,iwconfig是Linux下的无线网管理工具。TL-WN510G是ndiswrapper wiki上被证实可用的一款无线网卡。

步骤:(参考1参考2)

  1. 下载ndiswrapper 1.5(or any newest version)的源码,因为Kubuntu自带的ndiswrapper是1.1,版本过低。
    1. 用下面的命令安装编译源码需要的相应包:
 sudo apt-get install debhelper build-essential fakeroot linux-headers-$(uname -r) 

    1. 解压缩下载下来的源码包,进入解压出来的目录
    1. 因为Ubuntu跟普通linux目录结构不太一样,用下面的命令替换一下:
sed -e "s/misc/kernel\/drivers\/net\/ndiswrapper/g" debian/rules > debian/temp
mv debian/temp debian/rules

    1. 运行下面的命令来安装:
make
sudo make install

  1. 准备好你的Windows驱动,就是安装光盘上那个Driver目录。注意要使用安装光盘上的那个版本。我用过tp-link主页上下载的新版本,结果是加载无线网卡的时候有80%的机会造成内核crash -_-
  1. 进入Driver目录,运行
 sudo ndiswrapper -i 11gAdapter.inf 

来安装驱动,然后Driver目录就可以不管了(删掉也可以,ndiswrapper自己复制了一份在/etc/ndiswrapper下),可以用
 ndiswrapper -l 

看到驱动挂载成功的信息
Installed ndis drivers:
11gadapter              driver present, hardware present

成功后用下面的命令建立wlan0这个别名:
 sudo ndiswrapper -m 

  1. 加载ndiswrapper模块,运行下面的命令:
sudo depmod -a
sudo modprobe ndiswrapper

运行完后可以用下面的命令看看系统日志:
 dmesg | grep ndiswrapper 

如果成功,应该可以看到下面的日志:
ndiswrapper version 1.5 loaded
ndiswrapper: driver ''11gAdapter'' added

  1. 然后就是用iwconfig对wlan0进行设置了,方便起见可以直接写在/etc/network/interface里面。比如我使用的是WEP open认证和dhcp,我在/etc/network/interface里面就是这样写的(其中power off那行是用来关闭power management的,这样就不会在没有连接一段时间后自动断开连接了):
mapping hotplug
	script grep
	map eth0
	map wlan0

iface wlan0 inet dhcp
wireless_keymode open
wireless_key s:<YourWEPKeyHere>
wireless_mode managed
wireless_essid <YourAPNameHere>
wireless_nick fishy
wireless_power off
auto wlan0


然后每次启动或者插入无线网卡就会自动连接了,搞定!

使用WPA认证


WPA认证比WEP认证更安全(但是会稍微慢一点),而且有些无线路由器使用WEP认证的时候只能用16进制字符串(比如我用的NetGear),这样别的设备输入密码会很麻烦。

要在Linux下使用WPA认证,需要安装wpasupplicant包。安装后修改/etc/network/interface文件:
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant.conf
auto wlan0


其中/etc/wpa_supplicant.conf为wpasupplicant的配置文件,具体内容如下:
ctrl_interface=/var/run/wpa_supplicant
network={
   ssid="<Your SSID here>"
   psk="<Your WPA password here>"
   key_mgmt=WPA-PSK
   proto=WPA
}


这样就可以用WPA认证的无线网了。wpasupplicant带来的另一个好处是断线后会自动重连。
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki