首页 > 文章中心 > 网卡驱动程序

网卡驱动程序范文精选

网卡驱动程序范文第1篇

windows nt是一个功能全面的操作系统,具有完全集成式的连网能力,它的网络模型开始于mac子层,网络接口卡(network interface card以后简称网卡或nic)驱动程序驻留在其中。通过相关的网卡把windows nt与网络连接起来,但一直到80年代后期,许多传输协议的实现受限于mac层接口的独特实现,因为mac层定义了协议与网卡之间的转换机制。

1989年,microsoft和3com两公司提出了一个定义mac层与osi模型高层协议驱动程序之间的网络设备接口规范(network device interface specification : ndis),ndis给数据交换提出了一个灵活的环境,它规范了软件接口──称为ndis接口,传输协议可用它与网卡驱动程序进行通信。因此在windows nt环境下开发核心态网卡驱动程序应遵循ndis规范。

对于高速网络fddi(fiber distributed data interface)网卡驱动程序还需要smt(station management)站管理功能的实现,否则将不能作为一个fddi站连入环结构中,只能实现点到点间的数据通信。故有必要将smt软件移植到网卡驱动程序中,这将又导致对miniport nic驱动程序编程框架的破坏,于是有必要形成fddi网卡驱动程序(包含smt)与windows nt操作系统的良好接口──由逻辑网卡的注册和mac层驱动程序的初始化来完成。

所以,本课题旨在深入研究应用microsoft公司的ddk(device driver kit)将smt移植于windows nt的fddi网卡驱动程序过程中如何注册miniport nic驱动程序。即怎样正确注册逻辑网卡和mac驱动程序的初始化。着重讨论与初始化相关的上边缘函数的使用和调用关系以及初始化过程中遇到的各种问题的具体解决。

第一章windows nt环境下fddi网卡驱动程序

总体结构介绍

第一节windows nt网络结构

§1.1.1 windows nt网络体系结构

windows nt的网络体系结构是基于国际标准化(iso)制定的标准模型──开放式系统互连(open system interconnection:osi)参考模型分层建立的,这种方式有利于随时扩展其它功能和服务。

windows nt网络模型开始于mac子层,网卡驱动程序就驻留在其中。它通过相关的网卡把windows nt与网络连接起来,图中的多个网卡表明在一台运行windows nt的计算机上能使用多种网卡。

这一网络体系结构包括两个重要接口──ndis接口与传输驱动

程序接口(tdi)。这两个接口把两个层隔离开来,办法是相邻的部件只允许按单一的标准来写,不允许多重标准。例如一个网卡驱动程序(在ndis接口的下面)就不需要特地按每个传输协议来写它的代码块,恰恰相反,该驱动程序是写给ndis接口的,它通过符合ndis的相应传输协议来请求服务。这些接口包含在windows nt的网络体系结构中,以容纳可移植、可互换的模块。

在两个接口之间,是传输协议。它在网络中起着组织者的作用。一个传输协议规定了数据以何种方式呈递给下一个接收层,以及如何对数据相应地进行打包。它通过ndis把数据传给网卡驱动程序,并通过tdi把数据传给转发程序(redirector)

tdi之上是转发程序,它把本地的网络资源申请转送给网络。

为了能和其他厂商的网络互连,windows nt允许有多个转发程序。对于每一个转发程序windows nt计算机必须也有一个相应的供应者(provider)(由网络厂商提供)。多供应者路由选择程序决定适当的供应者,然后借助于供应者,对应用请求到相应的转发程序做出选择。

§1.1.2 windows nt网络驱动程序

windows nt支持两种类型的网络驱动程序

传输驱动程序

实现数据链路层中的逻辑链路控制子层协议和传输层协议。向 下与ndis接口,向上与tdi接口。

网卡驱动程序

实现对物理层的管理和数据链路层中介质访问控制子层协议,通过ndis向下管理物理网卡,向上与传输驱动程序通信。

§1.1.3 windows nt网卡驱动程序

windows nt环境下的网卡驱动程序也分为两种:

miniport网卡驱动程序:miniport驱动程序只须实现与网络硬件相关的操作(包括发送和接收)。而所有底层网卡驱动程序的通用操作(如同步),一般由ndis接口程序来实现。

full网卡驱动程序:full网卡驱动程序必须实现所有硬件相关和同步、排队等操作。例如full网卡驱动程序为了响应数据接收,需要保持本身的捆绑信息,而miniport就可以由ndis接口库来实现。

在windows nt的早期版本中,full网卡驱动程序要求开发者实现许多底层操作,来处理多处理器的核心问题以及处理器、线程的同步,这样不同的开发者在大量重复着许多相同的工作。

而miniport网卡驱动程序允许开发者仅仅写一些与网络硬件相关的代码即可,而那些通用的函数由ndis接口库来实现,这样开发出来的驱动程序减少了不必要的工作。

第二节miniport驱动程序的结构

ndis接口规范了网卡驱动程序的实现,同时也对tdi驱动程序的实现提出了一定的要求,在nt中,ndis约束下的网卡驱动程序、tdi驱动程序和系统的关系如下图所示:

图2.0 ndis约束下的网卡驱动程序、tdi驱动程序和系统的关系

miniport驱动程序包括驱动程序对象、驱动程序源代码和ndis接口库代码。windows nt ddk提供ndis.h作为miniport驱动程序的主要头文件,定义了miniport驱动程序的入口点、ndis接口库函数和通用数据结构。

上边缘函数的作用是网卡驱动与ndis接口库进行通信,而下边缘函数是tdi协议驱动程序与ndis通信的手段。

§1.2.1 miniport网卡对象

ndis用一个叫做逻辑网卡的软件对象来描述系统中的每块网卡,而逻辑网卡与windows nt设备对象的通信由i/o子系统来管理,描述网卡的设备对象包括相关的网络信息如名字、网络地址和网卡内存基地址等,它还包含与硬件相关的驱动程序状态数据(捆绑数目,捆绑句柄,包过滤数据库等)。ndis分配一个句柄到miniportinitialize这个上边缘函数的一个结构中,然后miniport网卡驱动程序将在以后提供这个句柄来给ndis调用,这个结构一直被ndis保持,并且对miniport驱动程序不透明。

当miniport网卡驱动程序初始化一块网卡时,它创立自己的内部数据结构来描述网卡,记录需要它管理的与设备相关的状态信息。当miniport网卡驱动程序调用ndismsetatttibutes或ndismsetattributesex两ndis库函数时,它传递一个句柄给这数据结构。这样,当调用miniport驱动程序入口点时,它就传递这个句柄来验证驱动程序所对应的网卡的正确性。这个数据结构为miniport网卡驱动程序所拥有并维护。

§1.2.2网络对象标识符

miniport nic驱动程序还需要维护一组对象,这些对象是系统定义的对象标识符(object idetifier:oid)来标识,以描述驱动程序的性能和当前状态信息。为查询这些信息,上层驱动程序调用ndisrequest向ndis接口库指示oid。oid表示了调用所需的信息类型,如miniport驱动程序所支持的lookahead缓冲区大小等。ndis接到上层驱动程序的查询请求,将oid传递给上边缘函数miniportqueryinformation实现对oid的查询,如果上层驱动程序请求改变状态信息则调用miniportsetinformation实现对oid的设置。

§1.2.3 miniport网卡驱动程序代码

典型的miniport nic驱动程序必须有一些函数来通过ndis接口实现上层驱动程序与硬件的通信。这些函数称为上边缘服务函数。

这些上边缘服务函数由驱动程序的开发者根据驱动程序面向的特定低层网络类型和硬件以及相应环境,可以有选择地实现,但必须保证驱动程序最基本的功能,这些基本功能包括初始化、发送、中断处理、重置、参数查询与设置和报文接收。

miniportinitialize:操作系统根据系统配置信息,检测出网卡已安装时,由ndis接口在初始化时调用,主要完成低层网络类型确定,对应于物理网卡的逻辑网卡初始化,中断信息注册,网卡与主机通讯方式的确认。i/o端口的申请与注册,内存映像,mib的初始化,物理网卡的验证与初始化等。

miniportreconfigure:支持网卡参数动态变化,和miniportinitilize一样由ndis接口以初始化级别调度执行(不能屏蔽中断,必须由驱动程序承认并清除在此期间产生的中断),支持即插即用和软配置的网卡在动态改变参数时,必须提供此函数。

miniportqueryinformation:查询网卡的状态以及网卡驱动程序的操作或统计参数,如是否支持组通讯、网卡的物理速率是否支持回环、是否支持直接拷贝等,这些参数以oid方式统一管理。

miniportsetinformation:ndis接口或协议驱动程序通过调用此接口改变驱动程序维护的oid库,一些操作参数的改变也将同时改变驱动程序状态,例如组地址的设置。

miniportreset:包括网卡硬件重置和驱动程序软件重置,软件重置包括驱动程序状态重置,以及一些相关的参数重置,还需考虑有些参数的恢复,重置时不必完成所有正在活跃的外部请求,但必须释放已占用的外部资源。

miniporthalt:挂起网卡并释放该网卡驱动程序占用的所有资源,在此期间不屏蔽中断。

miniportisr:高优先级的中断处理程序,进行的工作包括初始中断处理类型,决定是否进行中断转交,对卡上中断进行处理 等,该服务类型只在以下情况被调用:

ndis接口调用miniportinitialize和miniporthalt两函数时。

.中断处理类型设为每此中断处理过程都调用时。

为使系统能及时响应所有硬件中断,高优先级的硬件中断处理程序应尽可能的减少运行时间,防止长时间的屏蔽低优先级中断,避免造程中断丢失。

miniporthandleinterrupt:由中断延时处理程序在中断延时处理时进行调用。ndis排队所有的延时处理,该服务主要处理发送完成、报文接收、描述符用尽、溢出、网卡异常等中断。

miniportsend:ndis收到上层发送请求时经过若干协议处理再向下调用此服务过程,发送的packet已含有llc和mac头,该服务过程进行边界对齐、packet约束重整、描述符映射和报文发送、以及发送资源和packet缓冲队列管理。

miniporttransferdata:多个已和网卡捆绑的协议驱动程序在接收到报文到达指示后,向网卡驱动程序发出传送请求以拷贝各自所需的报文数据部分,网卡驱动程序根据各协议驱动程序对单个packet是否进行多次拷贝,以决定是否暂存只允许单次拷贝的packet等。

miniportcheckhandle:ndis每秒调用此服务函数一次,驱动程序发现网卡异常时报告给ndis由ndis调用miniportreset进行硬件重恢复。

miniportenableintrrupt:中断使能。

miniportdisableinterrupt:中断屏蔽。

另外,每个网卡驱动程序必须有一个初始化入口点,由driver entry函数实现,它和系统相关,由操作系统在装入驱动程序时调用,主要完成初始化ndis wrapper,再由wrapper初始生成驱动程序管理块并完成相应各种初始化工作,登录网卡驱动程序所有上边缘服务入口点,同时写入ndis版本信息。

§1.2.4 ndis接口库

ndis接口库包括在ndis.sys中,它是一个核态函数库,有一套抽象的函数,无论协议驱动程序还是nic驱动程序都连接到这个库中,以实现上下层之间的操作。

第二章fddi网卡驱动程序的加载和运行

第一节 网卡驱动程序的安装

windows nt网卡驱动程序安装的目的是实现网卡相应硬件信息和驱动程序在windows nt注册库中的注册,使windows nt能够正确识别网卡,了解所必需的软硬件信息并能在windows nt启动时加载相应驱动程序。

网卡驱动程序安装时,首先在主群组的控制面板中选择“网络”,然后添加网卡,指定相应信息文件──oemsetup.inf的路径,以完成以下两个必要的操作:

复制驱动程序到相应的系统目录(windows nt根目录\system32\drivers\)中;

在windows nt注册库中存入相应软硬件信息。

下面主要以fddi网卡为例介绍安装驱动程序所必需的工作:

§2.1.1网卡一般硬件参数

对于fddi网卡,必须在编写其oemsetup.inf文件时确定以下硬件参数:

总线类型:pci(5)……括号中的数字5表示pci总线在ndis中的总线类型代码;

厂商代号:0x5588……系统加载时确定网卡的标记,也是编程时确定pci槽号的标识;

cfid: 0x01;

介质类型:光纤(3) ……括号中的数字表示光纤在ndis中的介质类型代码;

是否支持全双工:支持。

对于其它的硬件信息在此inf配置信息文件中可有可无,如若配置,则可在驱动程序的编写时利用这些信息,方便编程,同时有利于其它应用对其参数的确定和使用。

§2.1.2 fddi网卡加载时需在注册库登录表里做的网络配置

网卡驱动程序的安装通常将创建登录表中的四个不同子键:

software registrion键,对应于驱动程序,存在于hkey_local_machine\software\company\ productname\version中。我们的fddi网卡驱动程序所对应的是hkey_local_machine\software\net612\yhfddi\yhfddi1.0;

网卡的软件登录键,存在于hkey_local_machine\software\microsoft\ windows nt\nt3.51\networkcards\yhfddi1;

驱动程序的服务登录键,存在于hkey_local_machine\system\currentcontrolset\services

网卡的服务登录键,存在于hkey_local_machine\system\currentcontrolset\services

对于每一个网络部件,一个名为netrules的特殊子键在邻近的驱动程序或网卡登录子键里创建,netrules标识网络部件为网络整体的一部分。

fddi网卡驱动程序对应的标准软件登录表项将出现在以下路径:

hkey_local_machine\software\net612\yhfddi\yhfddi1.0;

驱动程序对应的标准项的值为:

description =yhfddi/pci adapter controller

install date =……

……

refcount =0x01

servicename =yhfddi

softwaretype =driver

title =yhfddi/pci adapter controller

而且在yhfddi驱动程序相关的netrules子键下,这些值项为:

bindable =yhfddi driver yhfddi adapter non exclusiver

bindform =“yhfddisys”yes no container

class = reg_multi_sz “yhfddi driver basic”

infname =oemnad1.inf

type =yhfddisys ndisdriver yhfddidriver

use =driver

yhfddi网卡在如下路径的networkcards子键里介绍:

hkey_local_machine\software\microsoft\

windows nt\nt3.51\networkcards\yhfddi1;

网卡的标准项包括以下这些值:

description =yhfddi/pci adapter controller

install date =……

manufacturer =net612

productname =yhfddi

servicename =yhfddi01

title =[01]yhfddi/pci adapter controller

§2.1.3编写inf信息配置文件

gui inf描述语言被windows nt用以书写系统所有部件的配置文件,当然也可以用以书写网络系统各部件的配置文件,该配置文件描述了网络部件安装、配置、删除的执行过程。当网络部件进行初始安装或二次安装(通常通过ncpa进行)时,安装程序读取部件对应的配置文件,进行解释执行。gui inf描述语言由节、命令、逻辑操作、变量规范、流程控制以及一套调用dll或外部程序的机制组成,其中,节是配置文件的主体,节可分为install节(类似于函数),shell节(也类似于函数,但可调用insall和shell节),detect节(不包含命令),一个配置文件一般由若干不同类型的节组成。驱动程序的开发者根据需要可以在配置文件中编写相应代码,使得用户和系统之间能进行交互,并且由用户决定一些配置参数。

nt网卡配置文件有其一套规范,驱动程序开发者必须按规范编写配置文件,一般来说,一个配置文件至少应该提供下面三个节:

安装入口点:[identify]shell节。该节主要功能是给出安装部件的类型名,系统通过它识别该部件属于哪一大类(display,mouse,scsi,network等)中的哪一类(网络adapter,driver,transport,service,network和netprovidor),同时,还需要给出映像文件和配置文件所在的源介质及标识。

[returnoption]shell节。系统执行安装identify节后,执行该节。它主要功能是检查所需安装的部件是否支持的硬件平台和语言,并给出网卡名(有些配置文件支持多类网卡,此时必须让用户进行选择,并获得选择结果)。

[installoption]shell节。该节是配置文件得主体,也是上次安装完后再次进行配置、删除、更新的入口点。主要功能是拷贝映像文件和配置文件,生成配置的各种选项,创建该部件在注册库中对应的各种登录子树并更新重写。

第二节 驱动程序的加载过程

§2.2.1 windows nt的启动过程

网卡驱动程序范文第2篇

关键词: linux;WLAN;无线网卡;驱动程序

中图分类号:TN967 文献标识码:A 文章编号:1671-7597(2012)0910013-01

0 前言

无线局域网是当前应用范围较广的一种无线接入技术,其最大的优势在于运行速度快以及灵活程度高,对基于linux的无线局域网产品进行研发已经成为当前的一大热点课题。

1 WLAN无线网卡及linux网络设备

1.1 WLAN无线网卡

WLAN,即无线局域网,其重要组成部分之一就是无线网卡,也就是通信网络接口卡,无线局域网除无线网卡之外的另一重要组成部分是接入点/桥接器。借助无线网卡硬件及软件可以确保无线局域网物理层及MAC层的实现;不仅如此,无线网卡还为用户设备提供与接入点/桥接器进行连接的接口。当前应用无线网卡的主要方式是PCMCIA以及CF卡,Atmel芯片组是USB设备无线网卡的基础,除此之外的绝大部分无线网卡都是依托于Intersil Prism或Lucent Hermes芯片组的。无线网卡一大关键硬件就是以802.11标准为设计依据的MAC协议处理芯片,对其性能的要求主要体现为以下两方面:一方面,需要具备将所接收到的来自于射频模块的信号转换为主机所能接收的数据格式能力,另一方面,还需要能够对所接收到的来自于驱动程序的数据包进行转换,并以802.11标准数据包形式传输给射频前端。MAC层全部功能借助MAC协议处理芯片均可以得以实现,对于用户而言,在使用过程中只需要添加memory以及对应的物理层,便可以得到一个完整性的无线局域网连接。

1.2 linux网络设备

处于便于管理的考虑,linux全部硬件设备被划分为字符设备、块设备以及网络设备等三大类。

2 基于linux的无线网卡驱动程序结构及设计方案

无线网卡的种类繁多,网卡不同,相应的支持硬件也有所区别,这也就决定了编写驱动程序也不尽一致。简言之,USB接口的网卡不需要任何模块的支持,CF及PCMCIA接口的网卡驱动需要有Card Service(CS)模块支持,Orinoco接口的网卡除此之外还需要Hermes模块加以辅助。在参考程序的选择上,笔者在此以cisco 350系列pcmcia无线网卡驱动为主,且已将其成功安装在笔记本电脑中,同时其收发包数据格式已通过airopeek测试;以orinoco.c,mpi350.c及Tenda 7722u USB设备驱动程序为辅。和传统的以太网卡驱动程序设计相比较而言,无线网卡中诸如开关网卡、加载及卸载模块等并无明显区别,因此,笔者只选择驱动中诸如函数初始化、收发数据等具有无限特色的内容进行介绍,这些也是驱动程序的核心。

2.1 网卡初始化

网卡初始化就是对网卡存在进行检测,主要内容就是对设备结构进行初始化,并将其在系统中进行登记。通常情况下,在对某网卡设备进行登记时,核心会自动发出初始化请求。

初始化函数主要具有以下功能:

1)在初始化程序中,以硬件特征为主要依据,对硬件存在与否进行检测,并作出是否将该驱动程序予以启动的决定;

2)对request-irq及request-region进行调取,完成I/O基地址以及设备中断号的登记,同时对其进行检测;

3)填充硬件帧头,这也是驱动程序的一项重要工作内容。通常情况喜爱,硬件会将自身硬件帧头添加到待发送的上层数据前,例如以太网就拥有添加在上层ip或ipx数据包前的14字节的帧头。驱动程序提供hard-header方法,该程序会在协议层进行数据发送前被调取。应在dev->hard header len填入硬件帧头的长度信息,以便协议层预留出必要空间,此时hard-header程序只需要对skb-push进行调取同时准确填写硬件帧头即可;

4)负责对设备结构所接收到的大多数的域段进行填写。以太网接口很多设备结构网络接口信息的设置都是借助ether setup()函数得以实现的,该函数已被归入linux内核内部函数,无需特别指明。

2.2 数据包传输

分析OSI七层协议不难发现,在应用层具有数据传输需求的情况下,数据包传输方向是从上到下的,同时在各层都会添加对应的帧头,最终借助dev queue xmit()函数将数据包传输至网络接口。网络接口的作用就是向网卡传送数据包,以确保物理传输的顺利实现。根据设备结构可知,所有的网络接口都具有dev- > hard start xmit硬件传输函数指针,其主要作用是辅助linux进行数据传输。Cisco352驱动程序需要在hard start xmit函数中进行的工作主要有:

1)确定一个未经使用的FID,并将其添加到MAC芯片链表中。这部分是Cisco352驱动程序的特色之一。

2)对802.11控制域的结构体struct TXHDR-CTRL进行填充,从而为802.11帧头的构建奠定坚实基础。

网卡驱动程序范文第3篇

就象UNIX,Linux支持的网卡主要是以太网卡。如3COM、ACCTON、AT&T、IBM、CRYSTAL、D-LINK等众多品牌的以太网卡只要安装配置正确,都可以得到你所期望的效果。

一、Linux中网卡的工作原理

为了将这个问题说明的更清楚一些,不妨先简要地剖析一下Linux是如何让网卡工作的。一般来说,Linux核心已经实现了OSI参考模型的网络层及更上层部分。网络层的实现依赖于数据链路层的有效工作。网卡的驱动程序就是数据链路层与物理层的接口。通过调用驱动程序的发送例程向物理端口发送数据,调用驱动程序的接收例程从物理端口接收数据。

1.网卡驱动程序

简单地说,要将你手中的网卡利用起来,你唯一要做的是得到这块网卡的驱动程序。驱动程序提供了面向操作系统核心的接口和面向物理层的接口。

驱动程序的操作系统接口是一些用于发现网卡、检测网卡参数以及发送接收数据的例程。当驱动程序开始运作时,操作系统首先调用检测例程以发现系统中安装的网卡。如果该网卡支持即插即用,那么检测例程应该可以自动发现网卡的各种参数;否则你就要在驱动程序运作前,设置好网卡的参数供驱动程序使用。当核心要发送数据时,它调用驱动程序的发送例程。发送例程将数据写入正确的空间,然后激活物理发送过程。

驱动程序面向物理层的接口是中断处理例程。当网卡接收到数据、发送过程结束,或者发现错误时,网卡产生一个中断,然后核心调用该中断的处理例程。中断处理例程判断中断发生的原因,并进行响应的处理。比如当网卡接收到数据而发生中断时,中断处理例程调用接收例程进行接收。

2.驱动程序工作参数

驱动程序的工作参数因网卡性质的不同而不同,大致包括I/O端口号、中断号、DMA通道、共享存储区等。输入输出端口号又被称为输入输出基地址,当网卡工作于端口输入输出模式时被使用。端口输入输出模式需要CPU的全程干预,但所需硬件及存储空间要求较低。CPU通过端口号指定的空间与网卡交换数据。中断号是网卡的中断序号,只要不与其它设备冲突即可。当网卡使用DMA方式时,它要使用DMA通道批量传输数据而不需要CPU的干预。

对于一块具体的网卡,如果网卡支持完全自动检测,那么一个参数也不用指定,驱动程序的检测例程会自动设定所需参数。一般情况,你需要人工设定这些参数的一部分。如果你的网卡使用端口输入输出模式,你要设定端口号和中断号。如果你的网卡使用DMA模式,你要设定DMA通道和中断号。如果你的网卡使用共享存储区的模式,那你就得设定共享存储区的地址范围。

3.驱动程序的使用方式

有了网卡的驱动程序后,你可以选择是把驱动程序加入到Linux核心之中还是把驱动程序加工成独立模块。Linux系统一个引人入胜的长处就是可以定制系统的核心。把需要频繁调用的功能加入系统核心,可以大大提高系统的效率。在这种情况下系统启动时,系统核心自动加载网卡的驱动程序。驱动程序的参数可以通过LILO命令参数加以指

定。系统启动后驱动程序永久驻留核心,不能用常规的方法将其卸载。至于定制的系统核心,是通过重新编译得到的;如何编译核心将在后文叙及。

如果把驱动程序编译成可装载模块,就可以用系统提供的命令在系统启动后随时加载。随时加载的好处是减少内存开销,易于管理,但同时也牺牲了一点网络传输的效率。驱动程序的参数是在命令行中直接输入或通过配置文件指定。二、网卡安装前的准备在安装网卡前,务必检查是否具备下列条件:

1.硬件方面

以太网卡

网络连接线及连接头,如10base-T一般为8芯双绞线配RJ-45接口

2.软件方面

Linux操作系统

网卡驱动程序(目标码或源代码)

*网卡配置程序

*软件开发工具,如GNU工具包(包括编译器gcc、make等)

3.系统配置信息

可用的端口地址

可用的中断号

以上不带星号标记的是必要条件,带星号的是视情况不同而要求的条件。具体情况在下面进一步说明。

三、网卡的安装及配置

第一步:配置以太网卡的工作参数

配置网卡就是配置网卡的工作参数,如端口地址、中断号等。网卡的缺省参数一般存储于网卡内部的EEPROM,这是网卡出厂前设置好的。缺省参数在大多数情况下是可行的,但如果这些参数与你的系统有冲突并且网卡又不支持软件动态设置,那么你就要使用网卡的设置程序。并不是所有的网卡都要经过这一步,因为有些网卡支持通过驱动软件及其输入参数来确定网卡的工作参数。可以通过查阅网卡使用说明书来确定这一点。

网卡的设置程序与驱动程序不同,设置程序仅仅用来对网卡EEPROM中的设置进行修改。网卡程序本身可能运行在其它操作系统下,如WINDOWS95/98、OS/2、DOS等。如果是非Linux平台,那你就先在适合设置程序运行的系统中安装网卡,按设置程序说明设置网卡参数。然后再在Linux系统下安装该网卡。

第二步:安装Linux系统

假如你将要安装以太网卡的Linux系统本身还未安装,那么可以先试着在安装Linux的同时安装网卡。这一步成功的前提是你的Linux发行版本包含将要安装的网卡的驱动程序。

运行Linux的安装程序,按提示进行操作,别忘了安装核心的网络部分。当进行到LAN配置时,安装程序会列出它支持的所有网卡的类型。看看你的网卡是否榜上有名。随着Linux发行版本的不断升级,目前RedHat6.0已经覆盖了常用的网卡类型。如果很幸运地你的网卡恰好在其中,那么下文讨论的很多步骤都可以不必考虑了,安装程序会自动完成网卡的安装与驱动。但如果没找到适用于你的网卡类型,也不必担心,继续下一步。

第三步:手工安装网卡

安装网卡也就是安装网卡的驱动程序。网卡要工作必须要有驱动程序,并且驱动程序越成熟越好。驱动程序一般由网卡的生产或供应商提供。由于Linux是一个起步不久的新兴操作系统,网卡的生产商并不一定提供Linux环境下的驱动程序。这时候你就得从其它途径想办法了,比如到INTERNET上专门提供硬件驱动程序的网站查找一下,也可以在新闻组上贴个求助信息。总之,只有得到网卡的驱动程序后,方可进行下一步。

网卡的驱动程序有两种类型。一是可直接使用的二进制代码;另一种是驱动程序的源代码。二进制代码一般是预先编译好的可装载模块。源代码可以编译成可装载模块,也可以编译成系统核心的一部分。如何把源代码编译成可装载模块不在本文讨论之列,具体可以查阅驱动程序的说明书。

1.可装载模块的使用

系统提供了一组命令用于将驱动程序模块载入内存执行。这些命令包括modprobe、insmod、Ismod、rmmod。modprobe与insmod命令功能相似,但是方式各异。

modprobe命令使用配置文

件/erc/config.modules来加载可执行模块。要用modprobe命令加载以太网卡的驱动程序,可以在config.modules文件中加入:

aliaseth0drivermodule(drivermodule是驱动程序模块的名称)

这行配置信息把以太网卡的设备名与驱动程序模块联系起来。modprobe命令依据这条信息,自动加载存放于/lib/library/xxxx/net目录下名为drivermodule.o的模块。因此要使modprobe命令找到驱动程序模块,必须将该模块放在/lib/library/xxxx/net目录下。

那么驱动程序的参数如何指定呢?还是使用conf.modules文件。方法是在接着上述配置信息的后面加入下行信息:

optionsdrivermoduleparml=valuel,parm2=value2,……

这里parm1是驱动程序可以接受的参数名,valuel是该参数值;依次类推。

比如optionscs89x0io=0x200irq=0xAmedia=aui

insmod命令直接通过命令行参数将驱动程序模块载入内存,并可以在命令中指定驱动程序参数。例如:

insmoddrivermodule.oparml=valuel,parm2=value2,……

以上两个命令中可以使用驱动程序参数要依据具体的网卡及其驱动程序而定,要仔细阅读网卡及驱动程序的说明书。有的网卡驱动程序可以用这些参数覆盖网卡本身EEPROM中存储的参数。有的则必须使用EEPROM中的参数。有的因为驱动程序不自动检测网卡使用的参数,所以还得把网卡使用的EEPROM中的参数传给驱动程序。

卸载驱动程序模块使用rmmod命令:

rmmoddrivermodule.o

2.把驱动程序编译入系统核心

除了以可装载模块的形式使用驱动程序,还可以把驱动程序编译进Linux核心,以获取更高的效率。这种方式需要驱动程序的源代码、Linux核心源代码及其编译工具。Linux核心的编译过程包括配置核心、重建依赖关系、生成核心代码等步骤。配置核心的过程是用系统提供的配置工具(makeconfig或makemenuconfig)重新生成用来编译核心的众多make文件的过程。为了让核心的配置工具了解你的网卡驱动程序,你需要修改一些核心的配置文件。

(1)修改配置文件:主要修改核心源代码目录下的四个文件,即drivers/net/CONFIG文件、drivers/net/Config.in文件、drivers/net/Makefile文件和drivers/net/Space.c文件。CONFIG和Config.in文件用于控制核心配置工具(makeconfig或makemenuconfig)的运行,主要是加入关于是否包括该网卡的支持提示。Makefile和Space.c文件用于编译核心代码并说明面向核心的接口。详细语句参见下面例子。

(2)运行核心配置工具:在核心源代码目录下执行makeconfig或makemenuconfig命令。makeconfig是面向命令行的,通过逐句回答提问来配置核心。由于其在配置过程中不可改变或撤消以前的回答,故多有不便。makemenuconfig则是通过窗口菜单方式,使用起来很方便。就本文而言,你只要在上一步中正确修改了配置文件,那么在config中会出现是否需要该网卡支持的提问,你选择‘y’。或者在menuconfig中的network菜单中出现表示该网卡的菜单项,把它选上即可。

(3)重建依赖关系:很简单,执行makedep和makeclean命令。

(4)生成核心代码:执行makezImage命令。这个命令开始真正编译核心代码,并把核心代码存放为arch/i386/boot目录下的zImage。

(5)为了使用新的核心代码,你需要用新的核心代码替换原有的。原有的核心代码一般存放在/boot目录下,文件名称类似于vmlinuz-v.s.r-m(v.s.r-m)表示核心的版本号)。如vmlinuz-2.0.34-1。执行下列命令:

cparch/i386/boot/zImage/boot/vmlinuz-v.s.r-m

为了安全起见,可以先把原有的核心代码做个备份,以便发生错

误时恢复。

至此,你可以重新引导系统以使用新的带有正确网卡驱动支持的Linux核心。唯一剩下未解决的是驱动程序的参数问题。有些网卡驱动程序如果不输入参数,那它工作就会不正常,甚至根本不工作。由于现在网卡的驱动程序是系统启动时由核心载入运行的,系统启动之后用户就很难改变这些参数了,所以你必须在系统启动时告诉Linux核心网卡驱动程序使用的参数。具体方法有两种:

(1)在系统引导程序LILO中输入。

在LILO开始引导系统时,用ether子命令设定以太网卡驱动程序的参数。ether命令的使用方式为:

LILO:linuxether=IRO.BASE_ADDR,NAME

这里带下划线的是要输入的部分,IRQ表示中断号,BASE_ADDR表示端口号,NAME表示网卡的设备名。例如:linuxether=15,0x320,eth0

(2)在LILO配置文件中设定。

每次在系统启动时再输入驱动程序参数似乎有点过于麻烦。幸好系统提供了LILO的配置文件可以用来永久性的设置Linux系统启动时的子命令。方法是在/etc/lilo.conf文件中的适当位置加入以下一行:

append=“ether=IRQ,BASE_ADDR,NAME”

这里带下划线部分的意义同上。加入这一行后,还需要用/sbin/lilo命令把这个配置写入引导程序。

第四步:网络配置及测试

安装完网卡就可以配置网络通信了。配置网络简单地就是使用ifconfig命令,

例如:

ifconfigeth01.2.3.4netmask255.0.0.0up

最后ping一下网上其它机器的ip地址,检查网络是否连通。

五、一个以太网卡安装实例

下面以Cirrus公司生产的CrystalCS8920以太网卡为例,详细说明上述安装配置过程。本例中,有些命令参数,如核心源代码目录等,是以我使用的系统环境为出发点。具体应用中还要加以本地化。为了更接近实际,例子中也包括了对安装中碰到的问题的描述。

1.此网卡是IBMPC机的内置式网卡,机器只提供了Windows95/98环境下的驱动程序。由于RedHat5.0发行版本尚未提供对此网卡的直接支持,所以从Cirrus的站点上找到并下载了该网卡驱动程序的Linux版本,是一个名为Linux102_tar.gz的压缩文件。

2.文件Linux102_tar.gz解压后包括五个文件。包括源代码,仅适用于Linux2.0版本的目标模块以及readme文件。

3.查阅readme文件后,了解到这个驱动程序只能使用网卡EEPROM中设定的端口号(I/O基地址)、中断号。为了知道网卡EEPROM的设置,又从Cirrus站点下载了该网卡DOS版本的设置程序setup.exe

4.在DOS中运行setup.exe,发现网卡的起始端口号为0x360,中断号为10,与别的设备有冲突。选择setup.exe程序的相应菜单,把中断号改成5。另外,此驱动程序不支持plugandPlay,故也在setup.exe中将网卡的PnP功能屏蔽掉。

5.我所使用的RedHat5.0的Linux核心版本为2.0.34,所以不能用现成的驱动程序目标模块,需要自己动手编译。如上文所述,有两种方式使用此驱动程序。

6.如果要编译成独立模块,执行下列命令:

gcc-D_KERNEL_-I/usr/src/linux/include-I/usr/src/linux/net/inet-Wall-Wstrictprototypes-02-fomit-frame-pointer-DMODULE-DCONFIG_MODVERSIONS-ccs89x0.c

编译结果是名为cs89x0.o的驱动程序目标模块。要装载此驱动程序,输入下列命令:insmodcs89x0.oio=0x360irq=10

要卸载此驱动程序,用rmmod命令:

rmmodcs89x0.o

7.如果要将驱动程序编进系统核心,

修改/usr/src/linux/drivers/net/CONFIG,加入:

CS89x0_OPTS=

修改/usr/src/linux/drivers/net/Config.in,加入:

tristate‘CS8920Support’CONFIG_CS8920

以上两行是为了让makeconfig在配置过程中询问是否增加CS8920网卡的支持。修改/usr/src/linux/drivers/net/Makefile加入:

ifeq((CONFIG_CS8920),y)

L_OBJS+=cs89x0.o

endif

修改/usr/src/linux/drivers/net/Space.c,加入:

externintcs89x0_probe(structdevice*dev);

……

#ifdefCONFIG_CS8920

&&cs89x0_probe(dev);

#endif

以上两段是为了编译并输出网卡驱动程序及其例程。

把驱动程序源代码拷到/usr/src/linux/drivers/net目录下。

在/usr/src/linux目录下执行makeconfig或makemenuconfig,选择核心CS8920网卡支持。

执行makedep、makeclean命令。最后用makezImage编译Linux核心。

如何设置核心驱动程序参数,上节已有说明,不再赘述。

网卡驱动程序范文第4篇

就象UNIX,Linux支持的网卡主要是以太网卡。如3COM、ACCTON、AT&T、IBM、CRYSTAL、D-LINK等众多品牌的以太网卡只要安装配置正确,都可以得到你所期望的效果。

一、Linux中网卡的工作原理

为了将这个问题说明的更清楚一些,不妨先简要地剖析一下Linux是如何让网卡工作的。一般来说,Linux核心已经实现了OSI参考模型的网络层及更上层部分。网络层的实现依赖于数据链路层的有效工作。网卡的驱动程序就是数据链路层与物理层的接口。通过调用驱动程序的发送例程向物理端口发送数据,调用驱动程序的接收例程从物理端口接收数据。

1.网卡驱动程序

简单地说,要将你手中的网卡利用起来,你唯一要做的是得到这块网卡的驱动程序。驱动程序提供了面向操作系统核心的接口和面向物理层的接口。

驱动程序的操作系统接口是一些用于发现网卡、检测网卡参数以及发送接收数据的例程。当驱动程序开始运作时,操作系统首先调用检测例程以发现系统中安装的网卡。如果该网卡支持即插即用,那么检测例程应该可以自动发现网卡的各种参数;否则你就要在驱动程序运作前,设置好网卡的参数供驱动程序使用。当核心要发送数据时,它调用驱动程序的发送例程。发送例程将数据写入正确的空间,然后激活物理发送过程。

驱动程序面向物理层的接口是中断处理例程。当网卡接收到数据、发送过程结束,或者发现错误时,网卡产生一个中断,然后核心调用该中断的处理例程。中断处理例程判断中断发生的原因,并进行响应的处理。比如当网卡接收到数据而发生中断时,中断处理例程调用接收例程进行接收。

2.驱动程序工作参数

驱动程序的工作参数因网卡性质的不同而不同,大致包括I/O端口号、中断号、DMA通道、共享存储区等。输入输出端口号又被称为输入输出基地址,当网卡工作于端口输入输出模式时被使用。端口输入输出模式需要CPU的全程干预,但所需硬件及存储空间要求较低。CPU通过端口号指定的空间与网卡交换数据。中断号是网卡的中断序号,只要不与其它设备冲突即可。当网卡使用DMA方式时,它要使用DMA通道批量传输数据而不需要CPU的干预。

对于一块具体的网卡,如果网卡支持完全自动检测,那么一个参数也不用指定,驱动程序的检测例程会自动设定所需参数。一般情况,你需要人工设定这些参数的一部分。如果你的网卡使用端口输入输出模式,你要设定端口号和中断号。如果你的网卡使用DMA模式,你要设定DMA通道和中断号。如果你的网卡使用共享存储区的模式,那你就得设定共享存储区的地址范围。

3.驱动程序的使用方式

有了网卡的驱动程序后,你可以选择是把驱动程序加入到Linux核心之中还是把驱动程序加工成独立模块。Linux系统一个引人入胜的长处就是可以定制系统的核心。把需要频繁调用的功能加入系统核心,可以大大提高系统的效率。在这种情况下系统启动时,系统核心自动加载网卡的驱动程序。驱动程序的参数可以通过LILO命令参数加以指定。系统启动后驱动程序永久驻留核心,不能用常规的方法将其卸载。至于定制的系统核心,是通过重新编译得到的;如何编译核心将在后文叙及。

如果把驱动程序编译成可装载模块,就可以用系统提供的命令在系统启动后随时加载。随时加载的好处是减少内存开销,易于管理,但同时也牺牲了一点网络传输的效率。驱动程序的参数是在命令行中直接输入或通过配置文件指定。二、网卡安装前的准备在安装网卡前,务必检查是否具备下列条件:

1.硬件方面

以太网卡

网络连接线及连接头,如10base-T一般为8芯双绞线配RJ-45接口

2.软件方面

Linux操作系统

网卡驱动程序(目标码或源代码)

*网卡配置程序

*软件开发工具,如GNU工具包(包括编译器gcc、make等)

3.系统配置信息

可用的端口地址

可用的中断号

以上不带星号标记的是必要条件,带星号的是视情况不同而要求的条件。具体情况在下面进一步说明。

三、网卡的安装及配置

第一步:配置以太网卡的工作参数

配置网卡就是配置网卡的工作参数,如端口地址、中断号等。网卡的缺省参数一般存储于网卡内部的EEPROM,这是网卡出厂前设置好的。缺省参数在大多数情况下是可行的,但如果这些参数与你的系统有冲突并且网卡又不支持软件动态设置,那么你就要使用网卡的设置程序。并不是所有的网卡都要经过这一步,因为有些网卡支持通过驱动软件及其输入参数来确定网卡的工作参数。可以通过查阅网卡使用说明书来确定这一点。

网卡的设置程序与驱动程序不同,设置程序仅仅用来对网卡EEPROM中的设置进行修改。网卡程序本身可能运行在其它操作系统下,如WINDOWS95/98、OS/2、DOS等。如果是非Linux平台,那你就先在适合设置程序运行的系统中安装网卡,按设置程序说明设置网卡参数。然后再在Linux系统下安装该网卡。

第二步:安装Linux系统

假如你将要安装以太网卡的Linux系统本身还未安装,那么可以先试着在安装Linux的同时安装网卡。这一步成功的前提是你的Linux发行版本包含将要安装的网卡的驱动程序。

运行Linux的安装程序,按提示进行操作,别忘了安装核心的网络部分。当进行到LAN配置时,安装程序会列出它支持的所有网卡的类型。看看你的网卡是否榜上有名。随着Linux发行版本的不断升级,目前RedHat6.0已经覆盖了常用的网卡类型。如果很幸运地你的网卡恰好在其中,那么下文讨论的很多步骤都可以不必考虑了,安装程序会自动完成网卡的安装与驱动。但如果没找到适用于你的网卡类型,也不必担心,继续下一步。

第三步:手工安装网卡

安装网卡也就是安装网卡的驱动程序。网卡要工作必须要有驱动程序,并且驱动程序越成熟越好。驱动程序一般由网卡的生产或供应商提供。由于Linux是一个起步不久的新兴操作系统,网卡的生产商并不一定提供Linux环境下的驱动程序。这时候你就得从其它途径想办法了,比如到INTERNET上专门提供硬件驱动程序的网站查找一下,也可以在新闻组上贴个求助信息。总之,只有得到网卡的驱动程序后,方可进行下一步。

网卡的驱动程序有两种类型。一是可直接使用的二进制代码;另一种是驱动程序的源代码。二进制代码一般是预先编译好的可装载模块。源代码可以编译成可装载模块,也可以编译成系统核心的一部分。如何把源代码编译成可装载模块不在本文讨论之列,具体可以查阅驱动程序的说明书。

1.可装载模块的使用

系统提供了一组命令用于将驱动程序模块载入内存执行。这些命令包括modprobe、insmod、Ismod、rmmod。modprobe与insmod命令功能相似,但是方式各异。

modprobe命令使用配置文件/erc/config.modules来加载可执行模块。要用modprobe命令加载以太网卡的驱动程序,可以在config.modules文件中加入:

aliaseth0drivermodule(drivermodule是驱动程序模块的名称)

这行配置信息把以太网卡的设备名与驱动程序模块联系起来。modprobe命令依据这条信息,自动加载存放于/lib/library/xxxx/net目录下名为drivermodule.o的模块。因此要使modprobe命令找到驱动程序模块,必须将该模块放在/lib/library/xxxx/net目录下。

那么驱动程序的参数如何指定呢?还是使用conf.modules文件。方法是在接着上述配置信息的后面加入下行信息:

optionsdrivermoduleparml=valuel,parm2=value2,……

这里parm1是驱动程序可以接受的参数名,valuel是该参数值;依次类推。

比如optionscs89x0io=0x200irq=0xAmedia=aui

insmod命令直接通过命令行参数将驱动程序模块载入内存,并可以在命令中指定驱动程序参数。例如:

insmoddrivermodule.oparml=valuel,parm2=value2,……

以上两个命令中可以使用驱动程序参数要依据具体的网卡及其驱动程序而定,要仔细阅读网卡及驱动程序的说明书。有的网卡驱动程序可以用这些参数覆盖网卡本身EEPROM中存储的参数。有的则必须使用EEPROM中的参数。有的因为驱动程序不自动检测网卡使用的参数,所以还得把网卡使用的EEPROM中的参数传给驱动程序。

卸载驱动程序模块使用rmmod命令:

rmmoddrivermodule.o

2.把驱动程序编译入系统核心

除了以可装载模块的形式使用驱动程序,还可以把驱动程序编译进Linux核心,以获取更高的效率。这种方式需要驱动程序的源代码、Linux核心源代码及其编译工具。Linux核心的编译过程包括配置核心、重建依赖关系、生成核心代码等步骤。配置核心的过程是用系统提供的配置工具(makeconfig或makemenuconfig)重新生成用来编译核心的众多make文件的过程。为了让核心的配置工具了解你的网卡驱动程序,你需要修改一些核心的配置文件。

(1)修改配置文件:主要修改核心源代码目录下的四个文件,即drivers/net/CONFIG文件、drivers/net/Config.in文件、drivers/net/Makefile文件和drivers/net/Space.c文件。CONFIG和Config.in文件用于控制核心配置工具(makeconfig或makemenuconfig)的运行,主要是加入关于是否包括该网卡的支持提示。Makefile和Space.c文件用于编译核心代码并说明面向核心的接口。详细语句参见下面例子。

(2)运行核心配置工具:在核心源代码目录下执行makeconfig或makemenuconfig命令。makeconfig是面向命令行的,通过逐句回答提问来配置核心。由于其在配置过程中不可改变或撤消以前的回答,故多有不便。makemenuconfig则是通过窗口菜单方式,使用起来很方便。就本文而言,你只要在上一步中正确修改了配置文件,那么在config中会出现是否需要该网卡支持的提问,你选择‘y’。或者在menuconfig中的network菜单中出现表示该网卡的菜单项,把它选上即可。

(3)重建依赖关系:很简单,执行makedep和makeclean命令。

(4)生成核心代码:执行makezImage命令。这个命令开始真正编译核心代码,并把核心代码存放为arch/i386/boot目录下的zImage。

(5)为了使用新的核心代码,你需要用新的核心代码替换原有的。原有的核心代码一般存放在/boot目录下,文件名称类似于vmlinuz-v.s.r-m(v.s.r-m)表示核心的版本号)。如vmlinuz-2.0.34-1。执行下列命令:

cparch/i386/boot/zImage/boot/vmlinuz-v.s.r-m

为了安全起见,可以先把原有的核心代码做个备份,以便发生错误时恢复。

至此,你可以重新引导系统以使用新的带有正确网卡驱动支持的Linux核心。唯一剩下未解决的是驱动程序的参数问题。有些网卡驱动程序如果不输入参数,那它工作就会不正常,甚至根本不工作。由于现在网卡的驱动程序是系统启动时由核心载入运行的,系统启动之后用户就很难改变这些参数了,所以你必须在系统启动时告诉Linux核心网卡驱动程序使用的参数。具体方法有两种:

(1)在系统引导程序LILO中输入。

在LILO开始引导系统时,用ether子命令设定以太网卡驱动程序的参数。ether命令的使用方式为:

LILO:linuxether=IRO.BASE_ADDR,NAME

这里带下划线的是要输入的部分,IRQ表示中断号,BASE_ADDR表示端口号,NAME表示网卡的设备名。例如:linuxether=15,0x320,eth0

(2)在LILO配置文件中设定。

每次在系统启动时再输入驱动程序参数似乎有点过于麻烦。幸好系统提供了LILO的配置文件可以用来永久性的设置Linux系统启动时的子命令。方法是在/etc/lilo.conf文件中的适当位置加入以下一行:

append=“ether=IRQ,BASE_ADDR,NAME”

这里带下划线部分的意义同上。加入这一行后,还需要用/sbin/lilo命令把这个配置写入引导程序。

第四步:网络配置及测试

安装完网卡就可以配置网络通信了。配置网络简单地就是使用ifconfig命令,

例如:

ifconfigeth01.2.3.4netmask255.0.0.0up

最后ping一下网上其它机器的ip地址,检查网络是否连通。

五、一个以太网卡安装实例

下面以Cirrus公司生产的CrystalCS8920以太网卡为例,详细说明上述安装配置过程。本例中,有些命令参数,如核心源代码目录等,是以我使用的系统环境为出发点。具体应用中还要加以本地化。为了更接近实际,例子中也包括了对安装中碰到的问题的描述。

1.此网卡是IBMPC机的内置式网卡,机器只提供了Windows95/98环境下的驱动程序。由于RedHat5.0发行版本尚未提供对此网卡的直接支持,所以从Cirrus的站点上找到并下载了该网卡驱动程序的Linux版本,是一个名为Linux102_tar.gz的压缩文件。

2.文件Linux102_tar.gz解压后包括五个文件。包括源代码,仅适用于Linux2.0版本的目标模块以及readme文件。

3.查阅readme文件后,了解到这个驱动程序只能使用网卡EEPROM中设定的端口号(I/O基地址)、中断号。为了知道网卡EEPROM的设置,又从Cirrus站点下载了该网卡DOS版本的设置程序setup.exe

4.在DOS中运行setup.exe,发现网卡的起始端口号为0x360,中断号为10,与别的设备有冲突。选择setup.exe程序的相应菜单,把中断号改成5。另外,此驱动程序不支持plugandPlay,故也在setup.exe中将网卡的PnP功能屏蔽掉。

5.我所使用的RedHat5.0的Linux核心版本为2.0.34,所以不能用现成的驱动程序目标模块,需要自己动手编译。如上文所述,有两种方式使用此驱动程序。

6.如果要编译成独立模块,执行下列命令:

gcc-D_KERNEL_-I/usr/src/linux/include-I/usr/src/linux/net/inet-Wall-Wstrictprototypes-02-fomit-frame-pointer-DMODULE-DCONFIG_MODVERSIONS-ccs89x0.c

编译结果是名为cs89x0.o的驱动程序目标模块。要装载此驱动程序,输入下列命令:insmodcs89x0.oio=0x360irq=10

要卸载此驱动程序,用rmmod命令:

rmmodcs89x0.o

7.如果要将驱动程序编进系统核心,

修改/usr/src/linux/drivers/net/CONFIG,加入:

CS89x0_OPTS=

修改/usr/src/linux/drivers/net/Config.in,加入:

tristate‘CS8920Support’CONFIG_CS8920

以上两行是为了让makeconfig在配置过程中询问是否增加CS8920网卡的支持。修改/usr/src/linux/drivers/net/Makefile加入:

ifeq((CONFIG_CS8920),y)

L_OBJS+=cs89x0.o

endif

修改/usr/src/linux/drivers/net/Space.c,加入:

externintcs89x0_probe(structdevice*dev);

……

#ifdefCONFIG_CS8920

&&cs89x0_probe(dev);

#endif

以上两段是为了编译并输出网卡驱动程序及其例程。

把驱动程序源代码拷到/usr/src/linux/drivers/net目录下。

在/usr/src/linux目录下执行makeconfig或makemenuconfig,选择核心CS8920网卡支持。

执行makedep、makeclean命令。最后用makezImage编译Linux核心。

如何设置核心驱动程序参数,上节已有说明,不再赘述。

网卡驱动程序范文第5篇

系统默认安装

同Windows 7系统一样,Windows 8系统内部集成了许多网卡芯片的驱动,将无线网卡插到电脑上后,系统会发现硬件并自动安装驱动,稍等片刻后,右键点击桌面上的“计算机”并选择“管理”。 点击设备管理器,即可看到网卡已经被正常识别(如图1)。

在Windows 8 Metro界面下,我们可以直接用鼠标左键点击桌面右下角的无线网络连接图标,即可打开无线信号列表。选择对应自己无线路由器的无线信号并点击连接按钮,输入无线信号的密码后点击下一步,稍等片刻,就可以通过无线方式上网了(如图2)。

手动安装驱动

而当遇到Windows 8系统不能直接识别无线网卡的时候(如图3),的确有部分网卡并未直接推出Windows 8系统驱动,这就需要用户手动为USB网卡安装驱动了。

遇到这样的情况可尝试手动安装该网卡,对应Windows 7系统的驱动看是否可以正常使用。登录USB网卡官方网站,下载Windows 7系统的驱动程序,解压缩后放在桌面备用。接下来在设备管理器的黄色标识的设备上点击右键,选择“更新驱动程序软件”。选择“浏览计算机以查找驱动程序软件”,再点击“浏览”,找到驱动程序所在的文件夹后,点击“确定” (如图4)。

在安装过程中,如果出现“Windows安全”提示窗口,点击选择“始终安装此驱动程序软件”即可。大多数USB无线网卡是可以在Windows 8系统下使用Windows 7系统驱动的,当然,对于TL-WN821N、TL-WN822N一类实在无法实现顺利安装驱动的USB网卡,就需要用户更换或者等待官方推出相应驱动程序了。

网卡驱动程序范文第6篇

自家的娃自己疼,原厂的无线网卡驱动程序无论是在信号提升,还是在功能设置上,都有不错的表现。下面,我们就来看看厂商自带的驱动程序能够对自己旗下的产品带来怎样的优化(由于目前市面上的本本大多采用Intel无线网卡,因此本文将以Intel的产品为例进行介绍)。

信号检测,厂商程序更直观

首先看看WinXP默认的驱动程序对无线网络信号的检测信息,最直观的方法就是把鼠标指针移动到屏幕右下角的无线连接图标上。我们可以看到,无线网络信号的气泡提示信息中显示了速度、信号强度、状态等信息(图1)。

我们再来看看Intel原厂驱动程序的无线网络信号检测信息,是一个扇形的图标,在气泡提示中除了图1的那些信息之外(信号强度则换成了信号质量),还增加了IP地址等信息(图2),看起来更直观。

让我们双击无线连接图标,看看在WinXP默认驱动程序下的连接状态信息,这里的信号强度是用柱状图表示的,只是看不到具体的信息。

双击Intel原厂驱动程序的无线连接图标后,在出现的“英特尔PROSet/无线”窗口中单击“详细信息”按钮,在“连接详情”窗口可以看到的信息非常丰富,把鼠标指针移动到信号强度柱状图上,还会显示信号强度的具体数值(图3)。

功能阅兵,WinXP再败北

关心完信号强度和连接情况之后,我们再来看看WinXP自带的无线设置程序和Intel无线设置程序的功能孰强孰弱。

1.WinXP驱动程序的设置稍显复杂

单击“属性”按钮,在出现的“无线网络连接 属性”窗口“常规”标签页中,可以设置各种网络协议(包括用来设置IP地址的TCP/IP协议)、是否在任务栏显示无线网络连接图标等。

单击“配置”按钮,会切换到无线网卡驱动程序窗口的“高级”标签页,可以打开或者关闭无线网卡,并且设置无线网卡的各种属性。

切换到“无线网络连接 属性”窗口“无线网络配置”标签页,在这里我们可以查看无线网络,首选网络的属性等(图4)。而“高级”标签页中则是Windows防火墙等的设置。

呃,WinXP自带的无线网卡驱动程序功能还是挺多的,但是像这样在N多窗口之间不停地跳转和切换,难免会犯晕。那么Intel原厂驱动程序的无线设置又如何呢?

进入WinXP的无线网络设置还有一个方法,就是依次单击“开始”“设置”“网络连接”“无线连接”。

2.Intel原厂驱动程序设置简洁明了

简洁是Intel原厂驱动程序的设置界面给人的第一印象,所有的功能都可以在一个统一的窗口之中通过不同的菜单调用(图5),强大而有条不紊。

“工具”菜单中的“应用程序设置”(图6),可以对涉及无线网卡的应用程序进行各种设置。当然,在无线连接出现故障时,不要忘了“工具”中的无线故障诊断程序和手动诊断工具。

而“高级”菜单中的“适配器设置”也是调用无线网卡驱动程序窗口的“高级”标签页进行设置;在“高级统计数据”中可以看到无线网卡的各种统计数据;单击“使用Windows来管理Wi-Fi”则是将无线网卡的控制权重新交给Windows(图7)。

“配置式”(图8)也是非常有用的功能,当我们在家里或者办公室使用不同的无线网络时,就可以把两种配置是都保存下来,在不同的环境下使用不同的配置式。

专用和通用你选谁?

虽然这个标题是个疑问句,但是相信各位已经得出答案了吧?对于使用Intel无线网卡(特别是迅驰本本)的朋友,笔者强烈建议你们抛弃WinXP自带的无线驱动程序(配置程序),装上Intel专用的无线驱动程序即可(配置程序)。

网卡驱动程序范文第7篇

如果你的电脑中只有一块网卡,那么这样的字样就说明该网卡的驱动程序在你的电脑中至少被安装过2次。

为什么会出现这样的情况呢?这是由于你更改了网卡的扩展插槽造成的。出于有意或无意目的,你可能会在机箱中把网卡从一个插槽更换到另一个插槽,在更换时,即使你在更换插槽之前没有卸载该网卡的驱动程序,在更换后系统仍要求你重新安装该设备的驱动程序,对于即插即用的网卡,系统会自动安装该设备的驱动程序,这样,同一网卡的同一驱动程序就被重复安装了。

在更换插槽前被安装的网卡,更换插槽后其驱动程序仍然存在于系统中,但由于失去了网卡的支持,所有只能像“影子”一样隐藏在系统中,我们把这种网卡叫做“影子”网;更换后被再次安装了驱动程序的网卡,由于在系统中已经存它的“影子”,所以在命名上只能在“影子”网卡的名称后面再加上“#2”、“#3”这样的字样了。

“影子”网卡有时会给你的系统带来麻烦,比如,如果你为“影子”网卡分配了IP地址,当你更换插槽后再次为该网卡分配同一IP地址时,系统就会提示,你当前分配的IP地址已被系统中的另外一块网卡使用,要求你为该网卡重新分配IP地址。

提示:“影子”网卡在系统中实际上处于禁用状态,当你为网卡分配IP地址出现当前分配的IP地址和“影子”网卡的IP地址冲突的提示时,你可以不理睬该提示,强行将该IP地址分配给网卡。但是我还是建议你利用笔者在下面介绍的方法彻底删除“影子”网卡。

那么怎么才能删除影子网卡呢?有媒体介绍说,在“设备管理器”中选择“查看显示隐藏的设备”就能显示这些“影子”网卡,然后双击该网卡打开该网卡的“属性”对话框,在该对话框的“驱动程序”选项卡上单击“卸载”就能删除该“影子”网卡。

网卡驱动程序范文第8篇

>> 第三次亲密 接触下载就用SD卡! 卢卡申科第三次当选白俄罗斯总统 与怒江的三次亲密接触 第一次亲密接触 SD卡紧急启动恢复 第三次单身浪潮 宜昌第三次机遇 苏州第三次转型 第三次机会 第三次表白 华为第三次革命 东湖“第三次崛起” 神舟第三次启程 中联:第三次搏击 第三次华丽转身 霍金第三次来京 第三次相逢 第三次流浪 第三次创业浪潮 第三次起航 她第三次自杀 常见问题解答 当前所在位置:I”下载一款制作好的Windows PE镜像。之后在windows XP中运行Ghost32 exe程序,依次选择“local”“disk”“fromimage”,在打开的弹出窗口中,选择之前下载到的windows PE GHO镜像文件。确定后在选择要恢复的分区时,选择将其恢复到SD卡上(如图10)。

步骤2 由于这个Windows PE专做下载之用,因此还要为它安装上本本的网卡驱动。对此可运行“智能光盘驱动2008”,单击“驱动备份”,按提示选择上网卡驱动,点击“下一步”将网卡驱动提取到“D:\本机驱动程序备份\WinXp”文件夹中(如图11)。完成后使用winRAR打开提取出的网卡驱动,将其中的NET目录解压到D盘下备用。

步骤3 现在运行“xcab.exe”系统封包程序,在打开窗口中,定位到“待压缩”栏,并输入要添加的网卡驱动所在文件夹,这里为“d:\net”。在“保存为”输入栏内,键入SD卡上Windows PE系统“外置程序”目录的位置,这里为“e:\外置程序\PE_OUTERPART\DRlVERS_NET01.CAB”(如图12)。完成后点击“压缩”按钮,即可将当前网卡驱动重新压缩为CAB文件,并放置在Windows PE的“外置程序”目录下。这样当进入Windows PE系统后。便可自动安装好本本的网卡驱动。

步骤4 现在重启Windows XP系统,进入本本BIOS设置窗口,将SD卡设置为第一启动设备。保存退出后,本本即可由SD卡启动到Windows PE系统,双击桌面上的“启动网络支持”图标。Windows PE便会自动加载网络服务和本本的网卡驱动。当成功加载后,可看到网络配置窗口(如图13)。

小提示

如果Windows PE提示无法安装网卡时,可手动为其安装网卡驱动。方法是右击点击“我的电脑’选择“管理”命令,在打开窗口中切换到“设备管理器”标签,单击菜单栏上的“查看””显示隐藏设备”,之后转到右侧窗格中,依次展开“others device”“以太网控制器”,在其上右击选择“更新驱动程序”,在弹出窗口中选择“在这些位置搜索最佳的驱动程序”,然后勾选上“在搜索时包含这个位置”,并在输入栏内键入“c:\windows\lnf”路径,这样即可自动搜索硬盘上Windows XP的网卡驱动,接着按提示指定驱动文件位置“c:\Wlndowsksystem32\drivers”,就可成功安装网卡。注意在安装完成后,系统提示是否需要重启时,一定要选择“否”。

步骤5 一切就绪,只要双击桌面上的“宽带连接”图标,按提示输入ADSL帐号密码就可以联机上网了。现在再来试试是否能够进行下载操作,点击“开始”“程序”“聊天下载工具”“迅雷5.0”(如图14),之后在网上找到要下载的电影和软件。点击下载链接后便可使用迅雷开始下载了。注意在选择下载文件保存路径时,要将其保存到SD卡上,这样才不会对硬盘进行读写操作。

步骤6 考虑到要整夜下载软件,所以尽管此时本本上的硬盘已不在有读写操作,但为更好保护本本硬盘,达到节能、降温、减噪的效果,此时不妨将硬盘关闭。对此,如果是采用SATA接口硬盘的本本,可在Windows PE系统托盘中,点击“安全删除硬件”图标,在弹出的提示条中选择硬盘即可将其关闭。

网卡驱动程序范文第9篇

随着计算机应用的不断人性化,我们的许多工作便利了,这其中驱动程序功不可没,但作为幕后英雄,却甚少为人关注。在此,主持人和嘉宾将分两期来探讨驱动程序所带给我们的精彩。

我们在安装完操作系统后,第一件事情就是给硬件安装驱动程序。没有安装驱动程序的电脑没办法工作,或者没办法发挥出它的性能来。这是一类特殊的程序,我们在日常使用电脑时并不会直接使用它,但它却在系统中起着不可或缺的作用。它就是我们生活中的幕后英雄,默默奉献着自己的光和热。

驱动程序及其工作原理

驱动程序的英文名称为“Device Driver”,全称为“设备驱动程序”。是一种可以使计算机和设备通信的特殊程序,相当于硬件的接口。操作系统只有通过这个接口,才能控制硬件设备的工作。假如某设备的驱动程序未能正确安装,便不能正常工作。因此,驱动程序被誉为“硬件的灵魂”、“硬件和系统之间的桥梁”等。

设备驱动程序用来将硬件本身的功能告诉操作系统,完成硬件设备电子信号与操作系统及软件的高级编程语言之间的互相通讯。当操作系统需要使用某个硬件时,如让声卡播放音乐,它会先发送相应指令到声卡驱动程序,声卡驱动程序接收到后,马上将其翻译成声卡才能听懂的电子信号命令,从而让声卡播放音乐。简单地说,驱动程序提供了硬件到操作系统的一个接口以及协调二者之间的关系,图1显示了驱动程序工作的原理。

理论上任何硬件要在系统中使用都必须安装驱动程序,但在实际的使用过程中,类似键盘、鼠标、显示器、CPU之类的设备,我们并没有给它们安装驱动程序,为什么它们能直接使用呢?原来为了简化硬件厂商开发设备驱动的工作量和方便用户的使用,微软为常见类型的设备提供一系列的总线驱动程序和类型驱动程序。总线驱动内置在Windows中,包括PCI、AGP、并口、串口、IEEE 1394接口等。类型驱动具有为许多标准类型设备所需的基本功能,如PC必备的键盘、鼠标、显示器设备。

电脑在启动到操作系统之前,其实一些设备已经可以使用,如显示器可以显示图像、键盘可以操作使用等。那这些设备难道能没有驱动就可以直接使用吗?其实电脑在启动时,最早启动的是主板的BIOS。BIOS里除了基本输入输出系统外,也有最基本的硬件驱动程序,所以启动操作系统之前,有些硬件也是可以使用的。从这个角度来看,我们也可以把BIOS看成是集成简单的驱动程序的一个微型操作系统。

所以,硬件不是不需要驱动,而是有些驱动系统已经预置了。

驱动程序的分类

1.简版驱动程序

操作系统自带的驱动程序通常称为简版驱动程序,也叫兼容驱动程序。简版的驱动程序最大的优点就是方便,当系统安装好后,大部分硬件就可以直接使用了。当然它的缺点也非常明显,就是不能充分发挥出硬件的性能,通常版本比较低。

2.正式版(公版)驱动程序

官方正式版驱动是指按照芯片厂商的设计研发出来的,经过反复测试、修正,最终通过官方渠道出来的正式版驱动程序,又名公版驱动。稳定性、兼容性好是官方正式版驱动最大的亮点,同时也是区别于发烧友修改版与测试版的显著特征。

3.微软认证版驱动程序

WHQL是Windows Hardware Quality Labs的缩写,中文解释为:Windows硬件质量实验室(认证)。这是微软对各硬件厂商驱动的一个认证,是为了测试驱动程序与操作系统的相容性及稳定性而制定的。微软规定凡是通过WHQL认证的产品都被授予“Designed for Windows”标志,其相关信息都会出现在微软官方网站和操作系统的硬件兼容列表(HCL)中,以方便查询。WHQL认证过程十分严格,因此一款通过了WHQL认证的驱动程序可以说在Windows系统中基本不存在兼容性问题。此类别驱动最大的特点是稳定性高,和微软操作系统的兼容性好,对于普通用户来说,首选驱动最好是通过微软WHQL认证的版本。

4.第三方驱动程序

第三方驱动一般是指硬件产品OEM厂商的、基于官方驱动优化而成的驱动程序。第三方驱动拥有稳定性、兼容性好的优点,并且比官方正式版拥有更加完善的功能和更加强劲的整体性能。因此,对于性能和功能要求比较高的用户,首选推荐使用厂商的第三方驱动。

5.修改版(改版)驱动程序、Beta版驱动程序

为了满足游戏爱好者更多的功能性要求,经发烧友修改后的显卡驱动也就应运而生了。这是最早出现的修改版驱动程序。当然后来除了显卡,其他硬件也出现了各种修改版。这种驱动一般是在原版基础上由发烧友进行修改,存在一定的不稳定性,适合对硬件非常了解的人使用。

Beta版驱动程序是正式版或第三方驱动正式推出之前的测试版。它往往是为了提高硬件的性能或解决以前版本存在的BUG而,在稳定性和兼容性方面可能会存在一些问题,和修改版一样也是发烧友的“专利”。

6.一站式驱动服务

对不太了解计算机硬件的人来说,安装驱动程序是一件比较头痛的事。当然,只要有需要,就会有市场;有市场,就会有人进入。现在,自动进行硬件识别及自动下载、安装驱动的软件也应运而生,一站式解决问题的方式,大大地方便了“菜鸟”装机一族。其中最著名的有驱动精灵(如图2)和驱动人生两个软件。

安装启动驱动精灵以后,在主界面点击“立即检测”,就会列出电脑中没有安装驱动或可以升级驱动的硬件。只要点击“立即解决”,驱动精灵就会自动去服务器下载、安装相应的驱动程序。

除此以外,驱动精灵还可以对驱动程序进行备份。在重装系统以后,我们可以直接通过驱动精灵恢复驱动程序,不用再上网下载。如果我们对驱动程序有一定的了解,不想在重装系统以后安装驱动精灵,那我们也可以在备份时选择“备份驱动到文件夹”,到时通过设备管理器来更新驱动程序就可以了。

如果电脑在安装系统以后,网卡也没有驱动,这时驱动精灵是不能工作的。我们可以在驱动精灵网站下载扩展版(集成万能网卡驱动)。当驱动精灵在没有检测到网络连接时,就会自动检测网卡类型,同时安装好网卡驱动程序,接下来就可以让驱动精灵去发挥它的作用了。

当然,驱动精灵这类软件并不一定能完全正确地识别你的硬件。有时识别正确,但下载的驱动程序不能安装或安装时出现错误的情况也不少见。在这种情况下,我们就需要自己想办法去识别硬件、获取驱动、安装驱动。

硬件识别方法

为了安装某个硬件的驱动程序,我们首先需要正确识别相应的硬件。

1.看说明书

这个方法虽然简单甚至有些可笑,但确实有很多人忘记了这个原始的方法。很多硬件的说明书都会介绍硬件的具体型号以及驱动程序的安装方法。也许我们要解决的问题其实只是举手之劳。在兴师动众之前,不妨先把说明书拿出来看一看上面是否留有蛛丝马迹。

2.自检界面查看硬件信息

电脑在启动时会进行自检,检测结果会显示在屏幕上。我们可以通过阅读这些信息来了解一些硬件的芯片和型号。例如,在图3中可以看出其古老的显卡型号为GeForce4 MX 440。

在图4中,显示了电脑中的PCI设备列表。其中的Vendor ID(厂商ID)和Device ID(设备ID)是PCI-SIG组织统一编制命名的。我们把其中对安装驱动有用的设备,如Network Controller(网卡)、Multimedia Device(声卡)等设备对应的Vendor ID和Device ID记下来,登录网站(http:///)便可查询这些硬件设备的型号。

如下表所示,从“Device Class”(设备类别)我们可以判断对应的硬件是什么设备。

在电脑启动时,我们往往来不及看清这些信息就启动到了下一屏。我们可以在显示信息时按下键盘上的“Pause Break”键,电脑会暂停启动。我们在看清相关信息以后,按任一键就继续启动。

我们也可以在设备管理器中打开相应硬件的属性,然后在详细信息中找到硬件ID(如下页图5)。有些笔记本不同批次的硬件配置会有些区别,如无线网卡、摄像头等,官方网站会提供多个驱动以供不同硬件使用。这时我们就可以根据硬件ID来下载正确的驱动程序。

3.软件检测

如果说明书太简单,或者说明书根本找不到了,自检界面也看不到硬件类型,那最直观方便地获取硬件信息的方法,就是使用硬件检测软件。例如,Everest这款著名的硬件检测软件,可以比较准确地检测出硬件的型号,甚至还提供驱动程序的下载网址(虽然大多不能成功下载)。如果要找到一块集成主板,我们要先查找显卡的型号,在左边选择“主板─芯片组”,然后在右上“设备描述”下选择“北桥”,就可以看到这块主板的显卡型号,下页图6中显示的电脑用的是“ATI Radeon HD 3200”显卡。如果是集成声卡,在“南桥”中可以找到声卡的型号。

4.观察硬件

如果利用以上方法我们都没能正确识别硬件,那就要使用“拆机大法”了。即打开机箱,直接观察硬件。通常硬件会有相关的标识。例如,我们要知道主板的型号,可以看下PCB板上有没有标识。有些硬件如显卡、声卡等,在芯片上会有具体标识。就像下页图7的主板集成声卡,可以在芯片上看到“ALC650”字样,这就是其声卡的芯片型号。根据这个型号我们就可以到网上找相应的公版驱动程序。

驱动程序的获取

在知道了硬件的型号以后,接下来我们就要去获取相应的驱动程序了。驱动程序从哪里来?

1.Windows自带简版驱动

Windows系统在安装完以后,会给绝大多数硬件自动安装简版的驱动程序。如果Windows没有某些硬件的驱动程序并且已经联上网,那么可以通过自动搜索微软的官方网站来获取驱动。但因为微软网站只有一些主流硬件的驱动,所以在大多时候会失败。Windows自带驱动只能保证电脑的基本工作,所以我们要在可能的情况下安装其他驱动程序。

2.厂商自带驱动程序

在购买硬件时,一般厂商都会附赠带有驱动程序和某些工具的光盘。这些驱动程序基本上是第三方驱动,是比较能发挥硬件性能的,如果没有特别需要,建议安装这些驱动程序。当然,如果第三方驱动版本太低,可以考虑升级。

3.官方网站获取驱动

各大硬件厂商都会将硬件的相应驱动程序放在官网供购买者下载。例如,联想的笔记本,可以在官网通过主机编号或机型查询驱动,也可以下载驱动安装工具一键下载、安装驱动,或者通过手动选择产品类型来完成驱动的查找和下载(如图8)。一般官方网站为了提高硬件性能、解决以前存在的BUG,会对主流硬件的驱动进行一定的升级。建议追求性能或要解决BUG的去看看官方网站的驱动有没有提供新版的驱动。

4.专业驱动程序下载网站下载

为了解决硬件驱动的问题,有些人从中看到了商机。驱动之家()是最早从事专业的驱动程序收集、下载的网站,现在已经有了非常齐全的硬件驱动程序库。我们根据硬件型号可以找到其相关的驱动程序。专业驱动程序下载网站的优势在于更新非常及时,版本非常丰富,我们可以根据自己的需要来下载相应的版本,特别适合对硬件有比较深入了解的用户。

除此以外,各大下载网站也开辟了驱动专区。如果我们找不到某个驱动程序,也可以尝试去太平洋、中关村等驱动下载专区去搜索一番。

驱动程序的安装

当我们获得了硬件相应的驱动后,就面临如何安装的问题了。

与普通的程序安装方法一样,一般的驱动程序都会提供一个安装程序,双击这个可执行文件就可以按提示一步步完成安装。如果有多个文件,一般可通过双击setup.exe或install.exe来进行安装。

还有一种情况,有时我们下载的驱动程序并没有提供安装程序,甚至连一个可执行文件都没有。我们观察下载到的文件,其中必然有个inf文件。以.inf为扩展名的文件是从Windows 95时开始引入的一种描述设备安装信息的文件,它用特定语法的文字来说明要安装的设备类型、生产厂商、型号、要拷贝的文件、拷贝到的目标路径,以及要添加到注册表中的信息。通过读取和解释这些文字,Windows便知道应该如何安装驱动程序。只要右击这个文件,就会在快捷菜单中出现“安装”的选项,点击就可以安装相应的驱动程序了。

新加入的硬件,系统一般会自动识别,然后出现驱动程序安装向导。如果系统自带有这个硬件的驱动程序,可以选择“自动搜索更新的驱动程序软件”;否则,我们可以选择“浏览计算机以查找驱动程序软件”,来手工指定驱动程序的位置(如图9)。

如果以前就停用了某个硬件或安装时出现了错误,那我们也可以从设备管理器重新安装驱动。如图10所示,在“其它设备”里多个设备前面出现了“问号+感叹号”,说明驱动程序有问题,右击相应的硬件,选“更新驱动程序”,就会出现驱动程序安装向导。如果我们用驱动精灵在备份驱动程序时是以文件夹形式备份的,那也只能用这种方法来恢复。

驱动程序的安装有没有什么讲究呢?

首先是驱动程序安装的先后顺序问题。在大多数情况下,不管你按什么顺序安装,是不会有多大问题的,但也不排除意外的出现。经过大家的总结,驱动程序的安装,按从核心到的顺序比较安全,一般遵循以下顺序:主板芯片组(Chipset)显卡(VGA)声卡(Audio)网卡(LAN)无线网卡(Wireless LAN)红外线(IR)触控板(Touchpad)PCMCIA控制器(PCMCIA)读卡器(Flash Media Reader)调制解调器(Modem)其他(如电视卡、CDMA上网适配器等)外设(如打印机、扫描仪等)。

网卡驱动程序范文第10篇

Q昨天使用驱动精灵对显卡进行驱动更新,之后便出现无法全屏应用程序的现象,例如播放器、游戏,只要切换到全屏模式后就会立即自动退出全屏。请问这是什么原因?

A这应该是更新驱动后出现的问题,首先尝试“回滚”驱动程序:在控制面板中打开设备管理器,找到显卡项,右击并选择“属性”,在“驱动程序”选项卡中单击“回滚驱动程序”按钮。这样就可以将驱动程序返回至更新前的版本。如果仍不能解决问题,可以直接将显卡卸载并重新安装一次驱动程序,之后重新启动系统应该能解决问题。

傻博士有话说

很多朋友在使用电脑的过程中,不管是应用程序、操作系统还是驱动程序,都喜欢“追新”,总认为新版本就是最好的,而事实情况并非绝对如此。例如,现在Windows 8系统刚推出,很多软件与其不兼容,包括应用程序和硬件驱动程序,如果工作上的软件与其不兼容,就会影响工作,升级后反而会有负面影响。另一方面,新软件往往会出现一些未预测到的BUG,这样,也会让那些尝鲜的“小白”蒙受损失。在驱动程序方面,如果出现因更新而导致的问题,可以通过“回滚”功能来解决。

供电不足无法外接移动硬盘

Q我用的是普耐尔小鸟11平板电脑,使用otg外接移动硬盘时,总因供电不足而无法成功挂载硬盘。请问这种情况下如何解决外接硬盘的问题?

A你可以购置一根可接电源的otg线(例如到淘宝网以“otg 电源”为关键字搜索带电源接口的otg连接线),然后接上外置电源即可解决这类供电不足而导致无法外接设备的情况了。

VGA接口显示抖动

Q电脑是品牌机DELL U2312,使用VGA连接至显示器,画面抖动得厉害,而改用DVI接口便正常显示。请问这是什么原因?

A对于大屏幕显示器来说,DVI接口本身就占有很大的优势,而VGA接口本身就有一定的缺陷。如果在双显示器模式下,你可以考虑使用“HDMI转DVI接口”来实现转换。除此之外,如果显卡驱动程序有问题,也会导致画面抖动,可尝试更换驱动程序。

硬盘停用时会发出“嘟”的声音

Q以前将日立硬盘放到硬盘盒使用,开关都没有声音,最近接了一块希捷的2TB硬盘,在关闭硬盘盒上的电源时会听到“嘟”的声音。请问这现象正常么?

A这是硬盘停止工作时磁头归位时产生的声响,是正常的。有些硬盘没有,只是声音比较小点,磁头归位以及硬盘停转都会产生一些声音。

本本硬盘温度居高不下

Q我使用的是一台老笔记本电脑(IBM T60p),最近经常自动关机,检测后发现CPU、显卡温度过高,送到维修部修理后,显卡温度恢复正常,但CPU的温度仍很高(80~90度),风扇运行正常。请问,这是不是主板老化了?

ACPU温度高与主板老化无任何关系,这种情况,请先检查风扇出风口处是否有灰尘堵塞:小心将风扇整个卸下,将风扇出风口处的灰尘用刷子进行清理,保证出风口畅通。其次,将CPU与风扇散热片之间均匀涂抹散热硅脂。只要风扇运行正常,灰尘清理干净,CPU的温度应该会降至平常水平。必要时,还可以为笔记本添加散热底座。

本本内置网卡不工作