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

来源:互联网 发布:淘宝客小程序 编辑:程序博客网 时间:2024/06/05 17:04
  • 1 INUX下无线网卡驱动程式安装的一般步骤
    1.1 下载驱动程式
    一、首先弄清楚当前使用的是什么版本的Linux,如:Redhat9.0、


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


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


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


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


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


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


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


    到芯片类型,如:

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




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

    息。

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


    过其他方法查找。
    驱动程式
    芯片类型
    接口类型
    官方网站下载页
    Linux-wlan-ng
    Pri**2/2.5/3
    Cardbus/PCI/UNB
    http://www.linux-wlan.com/download.shtml
    Madwifi
    Atheros系列
    Cardbus/PCI
    http://snapshots.madwifi.org/
    isl**
    ISL38XX
    UNB/PCI
    http://jbnote.free.fr/pri**54unb/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-脚本/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 Communicati**, Inc. AR5212 Multiprotocol MAC/baseband processor(rev 01)
    Subsystem: Atheros Communicati**, 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
    opti** ath_pci autocreate=sta
    假如要以ap作为默认模式启动,把sta改为Master。
    重起系统后在设备栏中新建设备名为ath0的设备并按照以上参数进行初始化配置,以后就能够在“网络配置”里激活网卡设备和编辑该无线网卡设备。

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

    编译内核,打开以下选项:CONFIG_I82365,CONFIG_NET_WIRELESS, CONFIG_FW_LOADER, CONFIG_CRC32 和CONFIG_CRC_CCITT
    安装驱动程式
    解压下载下来的源码包
    #tar –xzvf isl**-workbench-latest.tar.tar
    运行以下命令编译安装驱动程式
    #make driver
    #make install
    装好驱动后,把下载的firmware即下载下来的后缀名为.arm的文档移动到目录/lib/firmware中,并改名为isl3887unb_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 islunb
    重起系统后在设备栏中新建设备名为eth0的设备并安装以上参数进行初始化配置,以后只要点击“编辑”就能够对该无线网卡设备进行修改。

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

原创粉丝点击