百度空间 | 百度首页 
               
 
查看文章
 
LINUX下无线网卡驱动程式安装的一般步骤
2008-09-10 15:03

1 INUX下无线网卡驱动程式安装的一般步骤
1.1    下载驱动程式
一、首先弄清楚当前使用的是什么版本的Linux,如:Redhat9.0、


Freda core5等。Linux用的是什么版本的内核,能够用uname –a得


知内核版本号。
二、使用的是什么接口类型的无线网卡,常见的接口类型有PCI


(台式机)、Cardbus/PCMCIA(笔记本)、USB(台式机、笔


记本)等。
三、无线网卡使用的是哪一种类型的芯片,判断方法如下,到相


关网站下载和其相对应的驱动程式。常用的无线网卡驱动及其支


持的芯片类型和接口类型如下表1所示。


PCMCIA卡:将无线网卡插入笔记本电脑中,用命令lspci能够看


到芯片类型,如:

Realtek Semiconductor Co.. Ltd, RTL8180L802.11b MAC (rev 20)




其中RTL8180L即为网卡芯片类型,用参数v能够看到更周详的信

息。
  
USB卡:用命令lsusb能够看到芯片类型(fc5没有此命令)。通


过其他方法查找。
驱动程式
芯片类型
接口类型
官方网站下载页
Linux-wlan-ng
Prism2/2.5/3
Cardbus/PCI/USB
http://www.linux-wlan.com/download.shtml
Madwifi
Atheros系列
Cardbus/PCI
http://snapshots.madwifi.org/
islsm
ISL38XX
USB/PCI
http://jbnote.free.fr/prism54usb/index.html
表1:网卡驱动程式有关信息

请参考以下网址获取更多资料:

http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wireless.html
1.2    驱动程式的安装
每款驱动的安装方法各不相同,阅读INSTALL文档,获得驱动程


序的具体安装方法及系统内核需要。阅读驱动程式附带的


README文档,获得有关此驱动的周详信息,如驱动所支持的网


络模式、接口类型、所包含的模块的功能及无线网卡的配置等。


下面是安装网卡驱动程式的一般步骤:

编译网卡驱动程式

#make


安装驱动程式模块

#make install

加载模块


#modprobe 主模块名


安装好驱动后插入无线


网卡,命令iwconfig能够查看驱动是否加载成功,假如出现新的设


备名,则说明驱动已装上并且能够识别出无线网卡。

#iwconfig
1.3    无线网卡的配置
能够分别通过 ‘网络配置’界面和命令对无线网卡进行配置,

如IP地址、网络模式、ESSID和速率等。


可视化配置无线网卡,方法如下所示:


首先用编辑工具编辑文档/etc/modprobe.conf,添加下面行以实现

界面配置。


alias 设备名 驱动模块名 (加到/etc/modprobe.conf)


重起笔记本电脑后加载驱动模块,打开桌面﹥管理﹥网络,在


“网络配置”界面中,假如在设备栏里没有类型为


“Wireless” 的设备,新建一个。点击“新建”,创建一个设


备类型为‘无线连接’的设备,选择刚装好的无线网卡,最后对


该无线网卡进行初始化配置,其所对应的脚本文档为


/etc/sysconfig/network-script/ifcfg-设备名


也能够使用命令进行配置,命令有ifconfig、iwconfig、iwlist等,具


体用法参见第4节或使用命令man查看周详信息。
2       内核编译和安装
假如驱动程式需要的内核选项没有打开,则需要进行内核的配


置。使用命令进入内核源代码目录, 命令make mrproper确保源代


码目录下没有不正确的.o文档连同文档的互相依赖。

接下来的内核配置过程比较烦琐,但是配置的适当和否和日后Linux的运行直接相关,有必要了解一下一些主要的且经常用到的选项的配置。
配置内核能够根据需要和爱好使用下面命令中的一个:
#make config (基于文本的最为传统的配置界面)
#make menuconfig (基于文本选单的配置界面)
#make xconfig (基于图像窗口模式的配置界面)
#make oldconfig (假如只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)
进行配置时,大部分选项能够使用其缺省值,只有小部分需要根据驱动程式的需要进行选择。
选择相应的配置时,有三种选择,他们分别代表的含义如下:
“Y”- 将该功能编译进内核
“N”- 不将该功能编译进内核
“M”- 将该功能编译成能够在需要时动态插入到内核中的模块。
将和核心其他部分关系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存。
2.1    2.6系列内核源代码安装及编译步骤
   对于Fedora Core 系列来说,内核源码是放在 /usr/src/redhat/BUILD/ 目录中,假如系统中该目录没有内容,则说明没有安装内核的源码包,可从kernel.org下载对应的源码包。

   假如下载的是rpm包,可通过以下命令来安装:
   #rpm -i kernel-2.6.16-1.2096_FC5.src.rpm
   #cd /usr/src/redhat/SPECS
   #rpmbuild -bp --target i686 kernel-2.6.spec
   #cd   ../BUILD
   #cd kernel*/linux*
   现在就是内核的代码所在的目录(linux-2.6.16.i686)。

假如下的是.tar.bz2或.tar.gz,只要把下载下来的文档移到 /usr/src 目录中解压,然后进入解压的目录根据需要进行配置。

2.6系列内核编译安装十分简单,只需以下3个命令即可,并自动完成对启动引导装载器GRUB的配置,很方便。
# make                         编译内核
#make modules_install           安装模块
#make install                安装内核、修改GRUB配置文档
重启电脑后选Fedora Core (2.6.16-prep)以新编译的内核进入Linux操作系统。
2.2    2.4系列内核源代码安装及编译步骤
       假如驱动需要的内核版本较高,需要升级,可从kernel.Org上下载相应的内核版本进行编译安装。2.4 系列内核编译所使用的命令较多,最后还需要手动修改启动引导装载器GRUB的配置文档,添加新编译的内核映像文档作为新的启动选项。

将源代码包移动到 /usr/src中解压:
# tar vxfj linux-2.4.26.tar.bz2
# ln –s linux2.4.26 linux
# cd /usr/src/linux
配置和编译内核:
# cp /boot/config-2.4.20-8 .config
# make menuconfig
# make dep
# make clean
# make bzImage
安装模块:
# make modules
# make modules_install
启动新选项:
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.26
# cp .config /boot/config-2.4.26
# cp System.map /boot/System.map-2.4.26
# mkinitrd /boot/initrd-2.4.26.img 2.4.26
# cd /boot
# rm -f System.map vmlinuz
# ln -s System.map-2.4.26 System.map
# ln -s vmlinuz-2.4.26 vmlinuz
# cd grub
# vi grub.conf
# reboot

选择相对快速并且具备权威性的站点下载最新的内核源代码包,例如条件允许的话能够到下面的站点下载:
ftp://sunsite.unc.edu/pub/linux/kernel
国内Linux用户能够到下面的站点下载:
http://studio.openunix.org
http://www.clinuxworld.com
Linux系统的核心代码存放于目录/usr/src/linux,实际上,该目录是个链接,指向当前所用的核心版本的目录,例如假如当前使用的版本是x.y.z,则该核心的实际目录应该是:/usr/src/linux-x.y.z。而新下载的内核中的目录是linux,这样,直接在/usr/src下解包会导致原来的内核目录被覆盖。所以稳妥的做法是,首先删除链接linux,然后解包、更名、重新链接。
在解包前要确认在/usr/src目录下没有叫linux的目录,或不再想保留该目录。
3       三款无线网卡驱动的安装和配置过程
3.1    TL-WN510G无线网卡、SMC EZ Connect™ 802.11g Wireless Cardbus Adapter无线网卡
这两款无线网卡使用的芯片类型相同(AR5212),以TL-WN510G介绍Cardbus接口无线网卡驱动程式安装的步骤。
下载驱动程式
插上网卡后,通过下面的命令来查看无线的主芯片信息。
#lspci –v
运行此命令后,显示如下信息:
07:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 Multiprotocol MAC/baseband processor(rev 01)
Subsystem: Atheros Communications, Inc. Unknown device 1052
Flags: medium devsel, IRQ 11
Memory at 38000000 (32-bit, non-prefetchable)[disable][size=64K]
Capabilities: [44] Power Management version 2

能够看出,网卡的芯片类型为AR5212,是Atheros系列中的一款。从表1中得知驱动程式Madwifi支持该芯片类型的网卡。到http://snapshots.madwifi.org 下载最新的源代码, 一般名称为madwifi-ng-current.tar.gz。
   安装驱动程式
解压后阅读里面的READER和INSTALL文档来获取帮助信息。
从README文档中得知,该驱动程式支持PCI、miniPCI 、Cardbus的设备类型,驱动的主模块为ath_pci,各种型号所支持的协议连同无线网卡的周详配置。
从INSTALL文档中得知,该驱动的系统需要为要有内核源代码,内核配置选项CONFIG_SYSCTL、CONFIG_CRYPTO要打开(可通过查看文档/boot/config-2.6.15-1.2054_FC5来查找选项是否打开),要使用相同版本的编译器编译内核和驱动程式等。
在Feroda core下没有找到内核源码,到网上下载相应的内核源码。采用前面所述方法对内核源码进行配置,打开所需的选项,然后编译、安装内核模块。
配置好内核后,依据INSTALL里的流程安装驱动程式:

运行下面的命令来编译和安装驱动,选项KERNELPATH为内核源码的路径
#make KERNELPATH=/usr/src/*
#make install
编译成功后可运行下面的命令来加载网卡设备
#modprobe ath_pci
没有错误提示,表明已成功安装并加载上了驱动程式。
插入无线网卡后运行命令
#iwconfig
出现新的设备名ath0,即驱动识别出了网卡设备,驱动程式安装成功。
   配置无线网卡
1.命令行配置
使用下面的命令激活无线网卡和配置其IP地址
#ifconfig ath0 up
激活网卡后,可通过命令ifconfig配置网卡的IP地址
#ifconfig ath0 192.168.0.11 netmask 255.255.255.0
通过命令iwconfig配置无线网卡,其他参数用默认即可,或用man iwconfig查看周详配置信息。
#iwconfig ath0 essid mywlan
#iwconfig ath0 mode Master
#iwconfig ath0 rate 11M
其他的命令更有iwlist可查看无线网卡的状态信息(命令iwlist查看更多选项)。
#iwlist ath0 mode
#iwlist ath0 channel
2.可视化配置
用“网络配置”界面配置网卡,首先在 /etc/modprobe.conf文档中添加以下命令行,这样便可在系统启动时自动创建模式为station的设备ath0。
alias ath0 ath_pci
options ath_pci autocreate=sta
假如要以ap作为默认模式启动,把sta改为Master。
重起系统后在设备栏中新建设备名为ath0的设备并按照以上参数进行初始化配置,以后就能够在“网络配置”里激活网卡设备和编辑该无线网卡设备。

3.2 SMC EZ Connect™ 802.11g Wireless USB 2.0 Adapter
   下载驱动程式
从网卡背面铭牌上知道这款USB无线网卡的型号为:SMC2862W-G,通过上网查资料得知此网卡所对应的驱动程式为ISL38XX,到以下网址下载最新的源码包:
http://jbnote.free.fr/prism54usb/index.html
。此驱动包括两部分:code和firmware。其中code为驱动程式,firmware为传送到USB设备的处理有关802.11协议的固件。

编译内核,打开以下选项:CONFIG_I82365,CONFIG_NET_WIRELESS, CONFIG_FW_LOADER, CONFIG_CRC32 和CONFIG_CRC_CCITT
   安装驱动程式
解压下载下来的源码包
#tar –xzvf islsm-workbench-latest.tar.tar
运行以下命令编译安装驱动程式
#make driver
#make install
装好驱动后,把下载的firmware即下载下来的后缀名为.arm的文档移动到目录/lib/firmware中,并改名为isl3887usb_bare。使用以下命令把驱动模块装进内核中
#make load
卸载驱动模块命令为
#make unload
装载驱动后插入无线网卡,运行命令
#iwconfig
出现以下信息,其中设备名为eth0的网卡设备即是驱动识别出来的无线网卡,驱动程式安装成功。
       对网卡进行配置
1.命令行配置
使用下面的命令激活无线网卡和配置其IP地址
#ifconfig eth0 up
激活网卡后,可通过命令ifconfig配置网卡的IP地址
#ifconfig eth0 192.168.0.11 netmask 255.255.255.0
通过命令iwconfig配置无线网卡,其他参数用默认即可,或用man iwconfig查看周详配置信息。
#iwconfig eth0 essid mywlan
#iwconfig eth0 mode Ad-Hoc
#iwconfig eth0 rate 11M
其他的命令更有iwlist可查看无线网卡的状态信息(命令iwlist –h查看更多选项)。
#iwlist eth0 mode
#iwlist eth0 channel

2.可视化配置
首先编辑以下命令行在 /etc/modprobe.conf文档中
alias eth0 islusb
重起系统后在设备栏中新建设备名为eth0的设备并安装以上参数进行初始化配置,以后只要点击“编辑”就能够对该无线网卡设备进行修改。

在编译过程中碰到*/Islsm_usb.c 错误:初始值设定项里有未知的字段 ‘owner’
   解决办法是:修改该文档所使用的头文档linux/usb.h,在结构体usb_driver里添加字段owner,该文档放在内核源码下include/linux文档夹内。添加内容如下所示:struct module *owner

博客文章汇总:

如何科学饮水   供应WIFI(提供 wince linux下驱动)  

Express转串并口一体卡(真正的物理串并口)【特价优惠】(用于arm调试,单片机仿真,加密狗,工控机等等)

无线音箱(出售)  

LINUX下无线网卡驱动程式安装的一般步骤  

云时代来临之云计算的四个显著特点 云计算时代来临 云计算到底指什么 随着安全云计算的热潮 您准备好了吗  

云计算的基本原理和概念  

发现一个靠点击广告就能赚美元的网站

Writing Linux LCD drivers

WinCELCD驱动程序编写指南

关于MODULE_PARM()  

Linux环境下USB的原理、驱动和配置2

Linux环境下USB的原理、驱动和配置1

腾讯发布QQ for Linux 1.0 Preview  

搜索引擎正在逐步抹杀人类的记忆和思考

[转载] Linux内核2.4.x的网络接口源码的结构  

Zigbee入门开发  

中国会面临金融战争的灭顶之灾吗?    不断增长的外汇储备,是中国政府的心病  

两粒电子的爱情  

zigbee简介  

银监会令深上报断供真相MTK是什么?  

[出售]WIFI模块,WIFI方案VT6656+RFUSB接口,MINIPCI接口   

鸟巢山寨机,玩的就是心跳   

ARM Bootloader的共性  

Jennic-zigbee开发套件

供应jennic无线模块 > jn5139高功率模块

吴宇森首度回应质疑萌萌是可爱的错误   

《赤壁》中的精彩与搞笑  

日本第一钻石王老五”--青山光司 日本第一钻王老五”--青山光司  

谁来拯救中国3760亿美元财富  

什么是无线网卡?

电磁辐射会失忆

中国产山寨手机热销巴基斯坦 难定位恐怖分子  

Zigbee标准可能成为自动化的未来动力

无线网络知识收集 无线增益天线认识和选购  

功率放大器"增益放大器"的区别   

无线问题面面观

噪声与信噪比  

zigbee软件设计  

什么是ZigBee无线网络?  

PLC 电力载波通信  

Introduction to IT800D  

超外差和超再生模块有何区别?  

飞弹发射失败怎么办?用 Photoshop 补一枚上去!   

Linux Driver Model()  

Power   Management in the Linux Driver Model(2.6.14)()  

WDM(Windows Driver Model)学习()  

Google问:手机还能拿来做什么?   

USB Dongle VT6656   

IEEE1394  

接收灵敏度   

JN5139 Wireless   Microcontroller  

JN5139-xxx-M02 高功率模块   

ZigBee架构WG议长:ZigBee与蓝牙可以共存  

基于ZigBee的无线网络技术及其应用  

Zigbee可能成为自动化的未来动力  

zigbee简介  

JN51xx开发套件  

ZigBee网络层


类别:Wifi | 添加到搜藏 | 浏览() | 评论 (1)
 
最近读者:
 
网友评论:
1
2009-06-22 11:13 | 回复
女女女女女女女女女女女女女女女女女女
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu