前一阵子我刚刚写了一篇INTEL 2011无线网卡的安装和设置,现在我又拿到了一个新的无线网卡USR 2410,同样也发一下,因为LINUX对无线网卡的支持实在是不怎么样,希望能够帮助有同样烦恼的朋友们。
当我拿到此网卡的时候,首先是直奔USR的网站找LINUX的驱动程序,因为自带光盘只有WINDOWS的。在它的网站上,只有linux-wlan- ng-0.1.8-pre13,还注明了BETA!不管那么多了,拉下来试试再说!按照README在我的LINUX 9上装,不行!差一点把本本都弄得死翘翘了!基本是这个驱动是要重新编译内核的,而且他所支持的内核也比较老,最主要的是本人对内核的东西一点都不了解,有点怕怕!
没有办法,上了www.linux-wlan.com去拉了最新的版本linux-wlan-ng-0.2.1-pre9,按原路再来一次,还是不行;再拉pcmcia-cs-3.2.5,装!不行!和linux-wlan-ng-0.2.1一起编译,仍然没有结果!这一通折腾!好了,只要就此打住了,本本也弄得乱七八糟,不怕,有GHOST呢!
才折腾了一天,我可是不到黄河心不死的,要知道那张INTEL 2011我可是搞了2个月才瞎猫碰死耗子给装上的,真不给面子!上google,这一通搜索!好了,先搞清楚他用的是Prism2的芯片,是肯定支持 LINUX的,可以到http://www.goonda.org/wireless/去看一下,再找Prism2的驱动!好了,终于找到了!http: //prism2.unixguru.raleigh.nc.us/ 这个网站里有我要的所用东西!
安装准备:
1. 先搞清楚自己用的是什么版本,我的是RedHat 9;
2. 用的是什么类型的无线网卡,我的是pcmcia的;
3. 用的是什么kernel,可以用uname –a得知版本号,看一下cat /boot/kernel.h得到kernel的类型;
4. 到http://prism2.unixguru.raleigh.nc.us/里相应的下载页面里拉三个包。
安装:
安装就相当的简单了,我的是:
rpm –Uvh kernel-wlan-ng-0.2.0-7.i686.rpm
rpm –Uvh kernel-wlan-pcmcia-0.2.0-7.i686.rpm
rpm –Uvh kernel-wlan-ng-modules-rh9.20-0.2.0-7.i686.rpm
设置:
也不难,装好3个包之后,到/etc/wlan/里编辑wlan.conf,主要是加入SSID,我的如下:,
WLAN_DEVICES="wlan0"
ChannelList="01:02:03:04:05:06:07:08:09:0a:0b:00:00:00"
ChannelMinTime=200
ChannelMaxTime=250
WLAN_SCAN=n
SSID_wlan0="CTME"
ENABLE_wlan0=y
在同一个目录下有一个wlancfg-DEFAULT文件,你需要把它复制到另外一个文件,文件名必须是wlancfg-XXX,XXX就是你的 SSID!如果没有此文件,系统就会用那个wlancfg-DEFAULT文件的!我的就应该是wlancfg-CTME,如下:
#=======WEP===========================================
# [Dis/En]able WEP. Settings only matter if PrivacyInvoked is true
lnxreq_hostWEPEncrypt=false # true|false
lnxreq_hostWEPDecrypt=false # true|false
dot11PrivacyInvoked=false # true|false
dot11WEPDefaultKeyID=0 # 0|1|2|3
dot11ExcludeUnencrypted=true # true|false, in AP this means WEP is required.
# If PRIV_GENSTR is not empty, use PRIV_GENTSTR to generate
# keys (just a convenience)
PRIV_GENERATOR=/sbin/nwepgen # nwepgen, Neesus compatible
PRIV_KEY128=false # keylength to generate
PRIV_GENSTR=""
# or set them explicitly. Set genstr or keys, not both.
dot11WEPDefaultKey0= # format: xx:xx:xx:xx:xx or
dot11WEPDefaultKey1= # xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
dot11WEPDefaultKey2= # e.g. 01:20:03:40:05 or
dot11WEPDefaultKey3= # 01:02:03:04:05:06:07:08:09:0a:0b:0c:0d
#=======SELECT STATION MODE===================
IS_ADHOC=n # y|n, y - adhoc, n - infrastructure
#======= INFRASTRUCTURE STATION ===================
# What kind of authentication?
AuthType="opensystem" # opensystem | sharedkey (requires WEP)
#======= ADHOC STATION ============================
BCNINT=100 # Beacon interval (in Kus)
CHANNEL=6 # DS channel for BSS (1-14, depends
# on regulatory domain)
BASICRATES="2 4" # Rates for mgmt&ctl frames (in 500Kb/s)
OPRATES="2 4 11 22" # Supported rates in BSS (in 500Kb/s)
最重要的是那句IS_ADHOC=n,就是说你是不是用点对点的无线连接,y就是用点对点,n就是用Access Point啦!我们公司用的是MAC地址的USER CONTROL,所以就没有WEP的东西。
好了,到这里,你就可以办那张要命的无线网卡插入pcmcia了!你应该会听到“哔、哔”的两声,就说明卡被认出来了,可以用cardctl ident来看一下是什么卡,我的就是:
Socket 0:
product info: "U.S. Robotics", "IEEE 802.11b PC-CARD", "Version 01.02", ""
manfid: 0x0156, 0x0002
function: 6 (network)
Socket 1:
product info: "Realtek", "Rtl8139"
manfid: 0x0000, 0x024c
function: 6 (network)
接下来就可以编辑/etc/sysconfig/network-scripts/ifcfg-wlan0文件了,就像其他ifcfg-eth0等文件一样,设置你的网络。我的就像这样:
DEVICE=wlan0
onBOOT=no
BOOTPROTO=none
IPADDR=192.168.0.68
GATEWAY=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAYDEV=wlan0
TYPE=Ethernet
USERCTL=yes
PEERDNS=no
或者你懒一点,用redhat-config-network来做,也一样!
最后:
如果有什么问题的话,你应该看一下/var/log/message里的信息,出错信息都会在里面的。你也可以借鉴一下http: //www.siliconvalleyccie.com/linux-hn/wmp11-linux.htm的HOWTO,不过是英文的。只能够“借鉴 “,应为里面有点东西不是太正确。倒是用PCI或者USB的朋友可以看一下的。用debian的朋友可以到http: //download.unesp.br/linux/debian/pool/main/l/linux-wlan-ng/里看一看,又专门对 debian的文件。
我用这个方法把这张卡在IBM-600X,DELL-C810,IBM-T40,SONY-R505和SONY-Z1VA上都是过了,没有任何问题。只可惜了T40和Z1VA上CENTRINO自带得无线网卡了。用CENTRINO的同事们现在只能够用WINDOWS了。我还有INTEL 2011B的卡,估计是找不到驱动了,更不用提CENTRINO了。等吧!另外,这个方法不只是针对USR 2410卡的,对所有Prism2芯片的卡都应该适用。
插曲:
到现在,这张USR 2410卡还不能够很正常的在我的WINDOWS 2000里工作,时不时的就罢工!还把T40给弄得死了好几次机!在LINUX下就很正常!哈哈