linux网卡驱动_new

合集下载

Linux操作系统怎么安装无线网卡驱动

Linux操作系统怎么安装无线网卡驱动

Linux操作系统怎么安装无线网卡驱动Linux操作系统怎么安装无线网卡驱动现在很多人都喜欢用无线上网,无线上网就需要无线网卡,而无线网卡就需要安装无线网卡驱动。

那么Linux操作系统怎么安装无线网卡驱动呢?下面跟着店铺一起去了解下吧。

Linux操作系统怎么安装无线网卡驱动安装方法及步骤:一、准备工作1、安装kernel的源码,在Redhat下是kernel-source.rpm包。

//我使用是FC8的内核,未再进行升级。

2、到/projects/ndiswrapper下载最新的ndiswrapper包,我的版本是ndiswrapper-1.52.tar.gz3、准备好网卡在Winxp下的驱动程序。

驱动程序最好是最新的,指定给XP用的。

我用到的是D-Link的一款PCI无线网卡(dwl-g520),其驱动程序是ar5211.sys、ar52119x.sys和net5211.inf。

二、安装及配置1、安装(1)解压:tar -zxvf ndiswrapper-1.52.tar.gz(2)进入ndiswrapper-1.52:cd ndiswrapper-1.52(3)编译:make//在此操作之前必需先把编译环境搭建好,即:安装好开发环境。

(4)安装:make install //如果不采取默认的安装路径,则可以用.configure --prefix="/etc/local"来指定安装目录。

//此目录是自建。

(5)查看安装后的版本ndiswrapper -v | grep //此处似乎不对。

如安装成功则显示version: 1.51(6)获取该无线网卡的WindowsXP驱动,我取了ar5211.sys、ar52119x.sys和net5211.inf。

(7)进入该驱动所在目录:cd /home/tsm/dwl_g520(8)安装无线网卡驱动:ndiswrapper -i net5211.inf(9)查看驱动是否安装:ndiswrapper -l//如:显示net5211(驱动名称) : driver installed(10)写入配置文件:ndiswrapper -mndiswrapper -mandiswrapper -mi(11)启动后模块自动加载:modprobe ndiswrapper2、配置(1)然后配置wpa_supplicant.conf文件:vi /etc/wpa_supplicant/wpa_supplicant.confctrl_interface=/var/run/wpa_supplicantctrl_interface_group=wheelnetwork={ssid="any"key_mgmt=NONE}(2)配置wpa_supplicant文件:vi /etc/sysconfig/wpa_supplicant将该文件内容设置为:# wlan0 and wifi0# INTERFACES="-iwlan0 -iwifi0"INTERFACES="-iwlan0"# ndiswrapper and prism# DRIVERS="-Dndiswrapper -Dprism"DRIVERS="-Dndiswrapper"(3)iwlist scanning 扫描一下你的AP //此处未成功,未知原因待查。

Linux系统下无线网卡驱动的安装

Linux系统下无线网卡驱动的安装
1 Microsoft SQL Server作业
作业是一系列由 SQL Server 代理按顺序执行的指定操作。作业 可以执行一系列活动,包括运行 Transact-SQL 脚本、命令行应用程 序 、 Microsoft ActiveX 脚 本 、 Integration Services 包 、 Analysis Services命令和查询或复制任务。作业可以运行重复任务或那些可计 划的任务,它们可以通过生成警报来自动通知用户作业状态,从而极 大地简化了 SQL Server管理。
143
2010年第10期
信息纵横
浅谈Linux系统下无线网卡驱动的安装
许康
(西南科技大学计算机学院)
摘 要 Linux操作系统以其高效、稳定、免费、开源等一系列特点,吸引着越来越多的计算机用户安装并使用。然而,Linux系 统下各类硬件设备的驱动安装却一直比较繁琐,这是影响计算机用户使用Linux系统的一大原因。随着Linux系统的日渐发展,在 Linux上安装各类硬件驱动已经变得越来越简易化、智能化。但即使是最新版本的Linux系统,其对各类无线网卡的驱动级支持仍不够 完善。本文以Ubuntu Linux10.04系统为例,归纳总结了各类常见的无线网卡在Linux系统上的安装过程。
Linux系统与Windows系统在使用上最显著的区别就是程序的安 装上,Linux系统里有一个安装源的概念,系统装好后第一件要做的 事就应该是配置系统的安装源。以Ubuntu Linux为例,需要在终端里 使用以下命令sudo gedit /etc/apt/sources.list打开并编辑安装源列表文件 sources.list,依据机器当前的网络接入情况选择速度较快的安装源域 名地址。配置好安装源文件以后,无论是Linux系统的升级还是各类 应用软件的安装都只需打开终端,输入相应的安装命令即可实现。

在linux系统下如何安装网卡驱动

在linux系统下如何安装网卡驱动

2011年研发二部工作周报月报作者:***时间:2012-6-13目录一、整理漏扫系统的结构 (1)1、整理NetScan目录中的程序。

(1)2、整理proftpd目录中内容(插件的检测信息)。

(4)3、整理proxyd目录中的安管(安管平台)。

(8)二、熟悉Nessus的工作原理 (8)1、Nessus扫描引擎的工作原理.... 错误!未定义书签。

三、整理运行的整个流程............... 错误!未定义书签。

1、通过客户端下发策略,上传到服务器上。

错误!未定义书签。

2、服务端:接收客户端下发的策略。

错误!未定义书签。

3、服务端进行身份的认证........ 错误!未定义书签。

一、整理漏扫系统的结构网卡是Linux服务器中最重要网络设备。

据统计,Linux网络故障有35%在物理层、25%在数据链路层、10%在网络层、10%在传输层、10%在对话、7%在表示层、3%在应用层。

由此可以看出,网络故障通常发生在网络七层模型的下三层,即物理层、链路层和网络层。

对应于实际网络也就是使用的网络线缆、网卡、交换机、路由器等设备故障。

Linux的网络实现是模仿FreeBSD的,它支持FreeBSD 的带有扩展的Sockets(套接字)和TCP/IP协议。

它支持两个主机间的网络连接和Sockets通讯模型,实现了两种类型的Sockets:BSD Sockets和INET Sockets。

它为不同的通信模型和服务质量提供了两种传输协议,即不可靠的、基于消息的UDP传输协议和可靠的、基于流的传输协议TCP,并且都是在IP网络协议上实现的。

INET sockets 是在以上两个协议及IP协议之上实现的。

由于交换机、路由器通常独立于Linux或者其他操作系统。

网卡设置故障是造成Linux 服务器故障最主要原因。

可能因为硬件的质量或性能、磨损老化、人为误操作、不正确的网络设置、管理问题、Linux软件的BUG、系统受到黑客攻击和Linux病毒等原因造成。

Linux下查看网卡驱动和版本信息

Linux下查看网卡驱动和版本信息

Linux下查看网卡驱动和版本信息查看网卡生产厂商和信号查看基本信息:lspci查看详细信息:lspci -vvv # 3个小写的v查看网卡信息:lspci | grep Ethernet查看网卡驱动查看网卡驱动信息:lspci -vvv # 找到网卡设备的详细信息,包括网卡驱动# lsmod 列出加载的所有驱动,包括网卡驱动查看网卡驱动版本查看模块信息:modifo<module name> # 其中包含version信息或# ethtool-i <device name>RHEL 6.3中的网卡驱动版本:# modinfo igbfilename: /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/igb/igb.ko version: 3.2.10-klicense: GPLdescription: Intel(R) Gigabit Ethernet Network Driver# modinfo e1000efilename: /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/e1000e/e1000e.ko version: 1.9.5-klicense: GPLdescription: Intel(R) PRO/1000 Network Driverauthor: Intel Corporation,<linux.nics@># modinfo e1000filename: /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/e1000/e1000.ko version: 8.0.35-NAPIlicense: GPLdescription: Intel(R) PRO/1000 Network Driver# modinfo ixgbefilename: /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/ixgbe/ixgbe.ko version: 3.6.7-klicense: GPLdescription: Intel(R) 10 Gigabit PCI Express NetworkDriver# modinfo r8169filename: /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/r8169.ko version: 2.3LK-NAPIlicense: GPLdescription: RealTek RTL-8169 Gigabit Ethernet driver查看网络接口队列数查看网卡接口的中断信息:#cat /proc/interrupts | grep eth0或# ethtool-S eth0查看网卡驱动源码的版本号解压Intel网卡驱动源码,打开解压缩目录下的*.spec文件查看驱动的版本。

linux安装网卡驱动教程

linux安装网卡驱动教程

linux安装网卡驱动教程在Linux系统中,网卡驱动是一个必需的组件,它允许计算机与网络相连,进行数据的传输和通信。

虽然大多数Linux发行版会自动安装一些常用的网卡驱动,但某些特殊型号的网卡可能需要手动安装对应的驱动程序。

下面是一个详细的Linux安装网卡驱动的教程,帮助你完成这个过程。

1. 首先,你需要确定你的网卡型号和型号。

可以通过以下命令获取:```lspci | grep Ethernet```这将列出系统中所有的以太网适配器,包括网卡的型号和型号。

2. 一旦你确定了网卡的型号和型号,你可以在厂商的官方网站或者第三方驱动程序网站上查找和下载对应的驱动程序。

确保选择与你的Linux发行版和内核版本兼容的驱动程序。

3. 下载驱动程序后,将其保存在你的计算机上的一个可访问的位置,比如家目录。

4. 打开终端,在命令行中输入以下命令以进入驱动程序所在目录:```cd ~/下载```这里假设你将驱动程序保存在`~/下载`目录下。

如果你将其保存在其他目录,请将命令中的路径替换为实际位置。

5. 解压驱动程序文件。

这可以通过以下命令完成:```tar zxvf 驱动程序文件名.tar.gz```这里的`驱动程序文件名`应该是你下载的驱动程序文件的实际名称。

6. 进入驱动程序文件夹。

这可以通过以下命令完成:```cd 驱动程序文件夹名```这里的`驱动程序文件夹名`是解压后的驱动程序文件夹的实际名称。

7. 阅读驱动程序的安装说明文档。

通常情况下,驱动程序的文件夹中都会包含一个README文件或者INSTALL文件,其中提供了安装驱动程序所需的具体步骤和说明。

8. 一般来说,安装驱动程序的第一步是编译驱动程序的源代码。

在终端中输入以下命令以编译驱动程序:```make```这将根据驱动程序的源代码编译出可执行的二进制文件。

9. 安装编译好的驱动程序。

在终端中输入以下命令以安装驱动程序:```sudo make install```这需要管理员权限,所以你可能需要输入管理员密码。

linux下安装无线网卡驱动

linux下安装无线网卡驱动

换了linux系统后发现无线不能使用,很是苦恼,于是在网上找到各位大神的做法,终于成功安装。

下面给大家介绍一下。

本例以安装Fedora 14无线网卡驱动为例。

参考文章/Linux/2011-05/35366.htm。

首先在/support/802.11/linux_sta.php 上下载32位的驱动,下载完成之后进入到下载的文件夹下#cd ~/Downloads按照readme的做法,新建一个文件夹,并且将该压缩文件移动到新建的文件夹当中#mkdri hybrid_wl#mv hybrid-portsrc-x86_32-v5.60.48.36.tar.gz hybrid_wl/进入文件夹,进行解压,#cd hybrid_wl/#tar -zxvf hybrid-portsrc-x86_32-v5.60.48.36.tar.gz由于自述文件当中的做法是指定解压目录,因此为了保险,再把这个压缩文件移动到上一级目录#mv hybrid-portsrc-x86_32-v5.60.48.36.tar.gz ../根据自述文件的说法(The cards with the following PCI Device IDs are supported with this driver.),查看支持的版本# lspci -n | grep 14e40c:00.0 0280: 14e4:4315 (rev 01)BRCM PCI PCI DellProduct Name Vendor ID Device ID Product ID------------- ---------- --------- -----------4311 2.4 Ghz 0x14e4 0x4311 Dell 13904311 Dualband 0x14e4 0x4312 Dell 14904311 5 Ghz 0x14e4 0x43134312 2.4 Ghz 0x14e4 0x4315 Dell 13954313 2.4 Ghz 0x14e4 0x4727 Dell 15014321 Dualband 0x14e4 0x4328 Dell 15054321 Dualband 0x14e4 0x4328 Dell 15004321 2.4 Ghz 0x14e4 0x43294321 5 Ghz 0x14e4 0x432a4322 Dualband 0x14e4 0x432b Dell 15104322 2.4 Ghz 0x14e4 0x432c4322 5 Ghz 0x14e4 0x432d43224 Dualband 0x14e4 0x4353 Dell 152043225 2.4 Ghz 0x14e4 0x4357发现确实是支持Dell这款无线网卡的4312 2.4 Ghz 0x14e4 0x4315 Dell 1395接下来就是对驱动进行编译了,在hybrid_wl目录下执行以下命令#make clean#make**注意,如果出现以下这样的error,则是因为内核源码的问题,1:查看自己是否安装了kernel-devel-2.6……包,如果没有装包先把包装上试试2:装完这个包还不行的话就需要你自己更新一下内核源码,编译更新的内核[root@ChinaUnix hybrid-wl]# make cleanKBUILD_NOPEDANTIC=1 make -C/lib/modules/`uname -r`/build M=`pwd` cleanmake: *** /lib/modules/2.6.35.6-45.fc14.i686/build: No such file or driectory. Stop.make: *** [clean] Error2[root@ChinaUnix hybrid-wl]# makeKBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`make: *** /lib/modules/2.6.35.6-45.fc14.i686/build: No suchfile or driectory. Stop.make: *** [all] Error 2完成之后,可以在目录下看到wl.ko 文件,如果以前安装过驱动的话,那么还需要对安装过的驱动进行清理。

LINUX下安装无线网卡驱动程序

LINUX下安装无线网卡驱动程序

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 /download.shtml Madwifi Atheros系列Cardbus/PCI /islsm ISL38XX USB/PCI http://jbnote.free.fr/prism54usb/index.html表1:网卡驱动程序有关信息1.2驱动程序的安装每款驱动的安装方法各不相同,阅读INSTALL文档,获得驱动程序的具体安装方法及系统内核要求。

阅读驱动程序附带的README文档,获得有关此驱动的详细信息,如驱动所支持的网络模式、接口类型、所包含的模块的功能及无线网卡的配置等。

下面是安装网卡驱动程序的一般步骤:编译网卡驱动程序#make安装驱动程序模块#make install加载模块#modprobe 主模块名安装好驱动后插入无线网卡,命令iwconfig可以查看驱动是否加载成功,如果出现新的设备名,则说明驱动已经装上并且能够识别出无线网卡。

linux查看网卡驱动信息

linux查看网卡驱动信息

linux查看⽹卡驱动信息⽅法⼀:1:ethtool -i ethx如:linux:/mnt # ethtool -i eth1driver: e1000eversion: 1.0.2-k2firmware-version: 1.9-0bus-info: 0000:0b:00.0linux:/mnt # ethtool -i eth16driver: igbversion: 2.1.0-k2firmware-version: 1.4-1bus-info: 0000:0a:00.0linux:/mnt #2:使⽤ modinfo igb 查看驱动信息linux:~ # modinfo igbfilename: /lib/modules/2.6.32.12-0.7-default/kernel/drivers/net/igb/igb.koversion: 5.2.5license: GPLdescription: Intel(R) Gigabit Ethernet Network Driverauthor: Intel Corporation, <e1000-devel@>srcversion: 0E80ABCD0117D822FE8B271alias: pci:v00008086d000010D6sv*sd*bc*sc*i*alias: pci:v00008086d000010A9sv*sd*bc*sc*i*alias: pci:v00008086d000010A7sv*sd*bc*sc*i*alias: pci:v00008086d000010E8sv*sd*bc*sc*i*alias: pci:v00008086d00001526sv*sd*bc*sc*i*alias: pci:v00008086d0000150Dsv*sd*bc*sc*i*alias: pci:v00008086d000010E7sv*sd*bc*sc*i*alias: pci:v00008086d000010E6sv*sd*bc*sc*i*alias: pci:v00008086d00001518sv*sd*bc*sc*i*alias: pci:v00008086d0000150Asv*sd*bc*sc*i*alias: pci:v00008086d000010C9sv*sd*bc*sc*i*alias: pci:v00008086d00000440sv*sd*bc*sc*i*alias: pci:v00008086d0000043Csv*sd*bc*sc*i*alias: pci:v00008086d0000043Asv*sd*bc*sc*i*alias: pci:v00008086d00000438sv*sd*bc*sc*i*alias: pci:v00008086d00001516sv*sd*bc*sc*i*alias: pci:v00008086d00001511sv*sd*bc*sc*i*alias: pci:v00008086d00001510sv*sd*bc*sc*i*alias: pci:v00008086d00001527sv*sd*bc*sc*i*alias: pci:v00008086d0000150Fsv*sd*bc*sc*i*alias: pci:v00008086d0000150Esv*sd*bc*sc*i*alias: pci:v00008086d00001524sv*sd*bc*sc*i*alias: pci:v00008086d00001523sv*sd*bc*sc*i*alias: pci:v00008086d00001522sv*sd*bc*sc*i*alias: pci:v00008086d00001521sv*sd*bc*sc*i*alias: pci:v00008086d00001539sv*sd*bc*sc*i*alias: pci:v00008086d0000157Csv*sd*bc*sc*i*alias: pci:v00008086d0000157Bsv*sd*bc*sc*i*alias: pci:v00008086d00001538sv*sd*bc*sc*i*alias: pci:v00008086d00001537sv*sd*bc*sc*i*alias: pci:v00008086d00001536sv*sd*bc*sc*i*alias: pci:v00008086d00001533sv*sd*bc*sc*i*alias: pci:v00008086d00001F45sv*sd*bc*sc*i*alias: pci:v00008086d00001F41sv*sd*bc*sc*i*alias: pci:v00008086d00001F40sv*sd*bc*sc*i*depends: hwmon,dcasupported: externalvermagic: 2.6.32.12-0.7-default SMP mod_unload modversionsparm: InterruptThrottleRate:Maximum interrupts per second, per vector, (max 100000), default 3=adaptive (array of int) parm: IntMode:Change Interrupt Mode (0=Legacy, 1=MSI, 2=MSI-X), default 2 (array of int)parm: Node:set the starting node to allocate memory on, default -1 (array of int)parm: LLIPort:Low Latency Interrupt TCP Port (0-65535), default 0=off (array of int)parm: LLIPush:Low Latency Interrupt on TCP Push flag (0,1), default 0=off (array of int)parm: LLISize:Low Latency Interrupt on Packet Size (0-1500), default 0=off (array of int)parm: RSS:Number of Receive-Side Scaling Descriptor Queues (0-8), default 1, 0=number of cpus (array of int)parm: VMDQ:Number of Virtual Machine Device Queues: 0-1 = disable, 2-8 enable, default 0 (array of int)parm: max_vfs:Number of Virtual Functions: 0 = disable, 1-7 enable, default 0 (array of int)parm: MDD:Malicious Driver Detection (0/1), default 1 = enabled. Only available when max_vfs is greater than 0 (array of int) parm: QueuePairs:Enable Tx/Rx queue pairs for interrupt handling (0,1), default 1=on (array of int)parm: EEE:Enable/disable on parts that support the feature (array of int)parm: DMAC:Disable or set latency for DMA Coalescing ((0=off, 1000-10000(msec), 250, 500 (usec)) (array of int)parm: LRO:Large Receive Offload (0,1), default 0=off (array of int)parm: enable_debug:Set to 1 to enable debug tracing into the syslog (uint)parm: debug:Debug level (0=none, ..., 16=all) (int)linux:~ #⽅法⼆:1:dmesg | grep ethx如:linux:~ # dmesg | grep eth17[ 30.351872] igb 0000:0a:00.1: eth17: (PCIe:2.5Gb/s:Width x4) 00:0b:ab:52:fb:b3[ 30.351952] igb 0000:0a:00.1: eth17: PBA No: ffffff-0ff[429171.548763] device eth17 entered promiscuous mode[429173.116530] igb: eth17 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [429173.118867] ADDRCONF(NETDEV_UP): eth17: link is not ready[429173.121176] ADDRCONF(NETDEV_CHANGE): eth17: link becomes ready [429183.236266] eth17: no IPv6 routers present[1641503.272376] igb 0000:0a:00.1: eth17: (PCIe:2.5Gb/s:Width x4) 00:0b:ab:52:fb:b3 [1641503.272460] igb 0000:0a:00.1: eth17: PBA No: ffffff-0ff[1641598.356110] device eth17 entered promiscuous mode[1641598.369229] igb: eth17 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [1641598.372636] ADDRCONF(NETDEV_UP): eth17: link is not ready [1641598.374978] ADDRCONF(NETDEV_CHANGE): eth17: link becomes ready [1641608.564181] eth17: no IPv6 routers present[1701779.787471] igb 0000:0a:00.1: eth17: (PCIe:2.5GT/s:Width x4)[1701779.787473] igb 0000:0a:00.1: eth17: MAC: 00:0b:ab:52:fb:b3[1701779.787555] igb 0000:0a:00.1: eth17: PBA No: FFFFFF-0FF[1702124.805650] device eth17 entered promiscuous mode[1702141.839131] ADDRCONF(NETDEV_UP): eth17: link is not ready [1702144.057474] igb: eth17 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None [1702144.059425] ADDRCONF(NETDEV_CHANGE): eth17: link becomes ready [1702154.705520] eth17: no IPv6 routers present[1712008.630151] igb 0000:0a:00.1: eth17: (PCIe:2.5GT/s:Width x4)[1712008.630153] igb 0000:0a:00.1: eth17: MAC: 00:0b:ab:52:fb:b3[1712008.630235] igb 0000:0a:00.1: eth17: PBA No: FFFFFF-0FF[1712100.136186] device eth17 entered promiscuous mode[1712101.873823] ADDRCONF(NETDEV_UP): eth17: link is not ready [1712104.159209] igb: eth17 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None [1712104.161548] ADDRCONF(NETDEV_CHANGE): eth17: link becomes ready [1712114.854722] eth17: no IPv6 routers presentlinux:~ #2:使⽤ modinfo igb 查看驱动信息(结果同⽅法⼀中的)。

linux下安装编译网卡驱动的方法

linux下安装编译网卡驱动的方法

linux下安装编译网卡驱动的方法你还在为不知道linux下安装编译网卡驱动的方法而不知所措么?下面来是小编为大家收集的linux下安装编译网卡驱动的方法,欢迎大家阅读:linux下安装编译网卡驱动的方法安装linux操作系统后发现没有网卡驱动,表现为system &rarr; Administration &rarr; Network下Hardware列表为空。

以下为安装编译网卡驱动的过程,本人是菜鸟,以下是我从网上找的资料进行整理,并实际操作的过程,仅供借鉴。

一.检测linux系统内核版本和网卡类型,相关命令如下:uname -r 查看linux内核版本(uname -a 可显示所有信息)lsmod 设备加载情况ls /usr/share/hwdata 查看硬件设备lspci 查看pci网卡设备ethernet controller 厂商和型号,modprobe **** ****为网卡型号,例如modprobe RTL8101E ,如果出错,说明模块不存在,该型号不识别我在这一步时查找不到网卡型号,无奈只能由同时采购的其他相同型号预装win7的电脑下查看网卡型号,是个笨办法,嘿嘿&hellip;&hellip;找到网卡型号后就到驱动之家下载了相应网卡的linux驱动,这些需要根据自己的实际情况下载,不多说了,重点是后面。

二.下载网卡驱动Intel_e1000e-1.9.5.zip 为我下载的所需的网卡驱动,这个在linux下需自己编译.三.安装网卡驱动1.检测编译需要用到内核的源代码包和编译程序gcc。

所以如果没有的话,要先装。

[root@localhost ~]# rpm -qa|grep kernelkernel-xen-2.6.18-8.el5kernel-xen-devel-2.6.18-8.el5kernel-headers-2.6.18-8.el5[root@localhost ~]# rpm -qa|grep gccgcc-c++-4.1.1-52.el5libgcc-4.1.1-52.el5gcc-4.1.1-52.el5gcc-gfortran-4.1.1-52.el5如果缺少kernel-xen-devel-2.6.18-8.el5,可以去安装光盘的/Server/目录下,找到kernel-xen-devel-2.6.18-8.el5.i686.rpm 文件安装。

linux网卡驱动安装方法

linux网卡驱动安装方法

linux网卡驱动安装方法1、查找网卡芯片,确立网卡型号,并确立linux内核版本,到对应的网卡官网下载驱动。

2、安装步骤(这里以RTL8110为例)1)cd到网卡驱动所在文件夹,解压:# tar vjxf r8168-8.aaa.bb.tar.bz2//关于解压命令查看《Linux下软件包的解压方式大全》2)进入文件夹:# cd r8168-8.aaa.bb3)安装(需安装kernel-source,否则会失败):# make clean modules (as root or with sudo)# make install# depmod -a# insmod ./src/r8168.ko (or r8168.o in linux kernel 2.4.x)4)通过以下指令查看驱动是否已经启动.# lsmod | grep r8168# ifconfig -a如果能看到类似“ethX”的结果输出, 说明已成功驱动网卡.5)配置并激活ethX.# ifconfig ethX up,where X=0,1,2,...3、附realtek RTL8168B驱动readme文档:<Linux device driver for Realtek Ethernet controllers>This is the Linux device driver released for RealTek RTL8168B/8111Band RTL8168C/8111C, Gigabit Ethernet controllers with PCI-Expressinterface.<Requirements>- Kernel source tree (supported Linux kernel 2.6.x and 2.4.x)- For linux kernel 2.4.x, this driver supports 2.4.20 and latter.- Compiler/binutils for kernel compilation<Quick install with proper kernel settings>Unpack the tarball :# tar vjxf r8168-8.aaa.bb.tar.bz2Change to the directory:# cd r8168-8.aaa.bbIf you are running the target kernel, then you should be able to do :# make clean modules (as root or with sudo)# make install# depmod -a# insmod ./src/r8168.ko (or r8168.o in linux kernel 2.4.x)You can check whether the driver is loaded by using following commands.# lsmod | grep r8168# ifconfig -aIf there is a device name, ethX, shown on the monitor, the linuxdriver is loaded. Then, you can use the following command to activate the ethX.# ifconfig ethX up,where X=0,1,2,...<Set the network related information>1. Set manuallya. Set the IP address of your machine.# ifconfig ethX "the IP address of your machine"b. Set the IP address of DNS.Insert the following configuration in /etc/resolv.conf.nameserver "the IP address of DNS"c. Set the IP address of gateway.# route add default gw "the IP address of gateway"2. Set by doing configurations in /etc/sysconfig/network-scripts/ifcfg-ethX for Redhat and Fedora, or /etc/sysconfig/network/ifcfg-ethX for SuSE. There are two examples to set network configurations.a. Fix IP address:DEVICE=eth0BOOTPROTO=staticONBOOT=yesTYPE=ethernetNETMASK=255.255.255.0IPADDR=192.168.1.1GA TEWAY=192.168.1.254BROADCAST=192.168.1.255b. DHCP:DEVICE=eth0BOOTPROTO=dhcpONBOOT=yes<Modify the MAC address>There are two ways to modify the MAC address of the NIC.1. Use ifconfig:# ifconfig ethX hw ether YY:YY:YY:YY:YY:YY,where X is the device number assigned by Linux kernel, andYY:YY:YY:YY:YY:YY is the MAC address assigned by the user.2. Use ip:# ip link set ethX address YY:YY:YY:YY:YY:YY,where X is the device number assigned by Linux kernel, andYY:YY:YY:YY:YY:YY is the MAC address assigned by the user.<Force Link Status>1. Force the link status when insert the driver.If the user is in the path ~/r8168, the link status can be forcedto one of the 5 modes as following command.# insmod ./src/r8168.ko speed=SPEED_MODE duplex=DUPLEX_MODE autoneg=NWAY_OPTION,whereSPEED_MODE = 1000 for 1000Mbps= 100 for 100Mbps= 10 for 10MbpsDUPLEX_MODE = 0 for half-duplex= 1 for full-duplexNW AY_OPTION = 0 for auto-negotiation off (true force)= 1 for auto-negotiation on (nway force)For example:# insmod ./src/r8168.ko speed=100 duplex=0 autoneg=1will force PHY to operate in 100Mpbs Half-duplex(nway force).2. Force the link status by using ethtool.a. Insert the driver first.b. Make sure that ethtool exists in /sbin.c. Force the link status as the following command.# ethtool -s ethX speed SPEED_MODE duplex DUPLEX_MODE autoneg NWAY_OPTION,whereSPEED_MODE = 1000 for 1000Mbps= 100 for 100Mbps= 10 for 10MbpsDUPLEX_MODE = half for half-duplex= full for full-duplexNW AY_OPTION = off for auto-negotiation off (true force)= on for auto-negotiation on (nway force)For example:# ethtool -s eth0 speed 100 duplex full autoneg on本文出自:中国E动网[]中国领先互联网接入服务提供商!11年品质保障!-- 中国E动网[]。

Linux下无线网卡驱动的安装

Linux下无线网卡驱动的安装

计算机系列教学文档------Linux下无线网卡驱动的安装Linux下无线网卡驱动的安装本来是我的本本比较旧,为了做一些网络实验,需要安装linux 操作系统,但系统安装完成后,无线网卡的驱动一直有问题,所以在网络上查找到这篇文章,希望对大家有用。

在ubuntu、BT5等linux 操作系统上通用。

The Ipw2200 is the Linux driver for the Intel PRO/Wireless 2200BG Mini-PCI Adapter and Intel PRO/Wireless 2915ABG Mini-PCI Adapter found in Centrino laptops. This driver only works on 2.6.x kernels (2.6.4 or newer).Starting with kernels 2.6.14 the driver is included in kernel.NOTE!Make sure you have installed the firmware! The ipw2200 documentation will tell you where to find these firmware files and where to install those.Included in mainline Linux kernels, tracking the SourceForge version with about 6 months delay.PackagesFedora Packages(1): Fedora Core includes the ipw2200-drivers in FC3 (with updates) and FC4. You still need to grab the firmware from /Fedora Packages(2): /name/ipw2200/Mandriva: The ipw2200 driver modules are included in the stock kernel package; the firmware is included in the commercial distribution or available from /.Gentoo: The driver is in the portage tree: emerge net-wireless/ipw2200 and net-wireless/ipw2200-firmwareDebian Sarge includes the source code for the modules in package ipw2200-source (/ipw2200-source). You additionally need to download firmware manually.Debian Etch includes a version of the modules in its kernel or for a later version install package ipw2200-modules-2.6-486 or ipw2200-modules-2.6-686 or ipw2200-modules-2.6-686-bigmem or ipw2200-modules-2.6-k7 or ipw2200-modules-2.6-amd64; or the source code for them in ipw2200-source (/ipw2200-source) to compile one yourself. You additionally need to download firmware manually.StatusIn development, usable, WEP 128bit encryption works, WPA and WPA2 work with drivers >= 1.0.2 using wpa_supplicant, monitor/rfmon is supported as with version >= 1.0.6. Generally works well, but some users experience problems (especially with firmware restarts and with WPA functionality using wpa_supplicant). Passing the hwcrypto=0 module parameter improves reliability for many users.The ipw2200 driver up to version 1.0.6 (in combination with some newer kernels) had a problem getting DHCP leases (it turned out to be a bug in the broadcasting code). Version 1.0.7 seems to have fixed this.Older ipw2200 driver versions shipped by many distributions have been reported to freeze a T43 after several minutes of intensive communication. Installing version 1.1.2 of the driver solved the problem.Latest stable versions:ipw2200 driver: 1.2.0firmware: 3.0ieee80211 stack: 1.2.15Latest development versions:ipw2200 driver: 1.2.2firmware: 3.1ieee80211 stack: 1.2.18Mainline kernels contain older (but mostly functional) versions of ipw2200 and ieee80211, and still require the addition of the firmware files. To get the latest versions you need to separately install the ipw2200 module and ieee80211 stack.InstallationSource CodeDownload the latest ieee80211 stack and install it:# tar xzvf ieee80211-1.2.15.tgz# cd ieee80211-1.2.15# make# make installDownload the latest ipw2200 module and install it:# tar xzvf ipw2200-1.2.0.tgz# cd ipw2200-1.2.0# make# make installDownload the matching firmware and install it:# tar xzvf ipw2200-fw-3.1.tgz -C /lib/firmwareDebian Sarge# apt-get install ipw2200-source# module-assistant -t build ipw2200-source[is this how module-assistant works in Sarge?]Debian EtchThe kernel includes a version but if you want a more recent version install the module ipw2200-modules-2.6-486 or ipw2200-modules-2.6-686 or ipw2200-modules-2.6-686-bigmem or ipw2200-modules-2.6-k7 or ipw2200-modules-2.6-amd64 depending on your architecture.The firmware is not distributed with Debian due to licensing reasons, download the matching version 3.0 firmware and install it:# tar -xvf ipw2200-fw-3.1.tgz -C /lib/firmware# mv /lib/firmware/ipw2200-fw-3.1/* /lib/firmwareDebian UnstableInstall ieee80211-source:# apt-get install ieee80211-source# module-assistant -t build ieee80211-sourceThe kernel includes a version but if you want a more recent version install the module ipw2200-modules-2.6-486 or ipw2200-modules-2.6-686 or ipw2200-modules-2.6-686-bigmem or ipw2200-modules-2.6-k7 or ipw2200-modules-2.6-amd64 depending on your architecture.There is a bug in the Debian package (last checked: Dec 30th 2005) that prevents from linking to ieee80211 modules using module-assistant. In case it is not fixed in your version, fall back to the regular source installation procedure described above.The firmware is not distributed with Debian due to licensing reasons, download the matching firmware and install it:# tar xzvf ipw2200-fw-2.4.tgz -C /usr/lib/hotplug/firmwaresee /etc/hotplug/firmware.agent for details on configured firmware locationsMake sure that your firmware files are not in a subdirectory (dmesg will give you warnings after any modprobe when firmware can’t be loaded)Fedora CoreInstallation on Fedora Core 5 works out of the box provided you install the ipw2200-firmware package. However, certain parts of the install process may not set up the wireless networking in a friendly manner using GNOME system tray icons and other tools. Bill Moss has written some excellent HowTo articles, including using VPNC to connect to a remote Cisco IPSec network.Fedora Core 5 and the IPW2200 Wireless DriverFedora Core 5 NetworkManager, NetworkManager-vpnc and Wireless Driver IPW2200Testing the driver# modprobe ipw2200# iwconfig# dmesg output might look similar to this:ieee80211: 802.11 data/management/control stack, 1.1.6ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@>ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.8ipw2200: Copyright(c) 2003-2005 Intel Corporationipw2200: Detected Intel PRO/Wireless 2915ABG Network ConnectionNB: To make the wifi LED work on the thinkpad, pass the option led=1 to the kernel while loading the module. eg. # modprobe ipw2200 led=1. This can also be accomplished by adding that option to the file where your distribution looks for modprobe options so that it becomes automatic.In debian this can be done by putting a file named after the module in /etc/modutils with the options in ithere we might run a cmd like this# echo options ipw2200 led=1 > /etc/modutils/ipw2200then we must run update-modules to remake /etc/module.conf# update-modulesWPA supportUse wpa_supplicant with the -Dwext argument (not -Dipw), and pass the hwcrypto=0 argument to the ipw2200 module.There are some very detailed instructions with working sample configurations on the following link:ipw2200 WPA instructionPower ManagementThe ipw2200 driver has power management capabilities, which comes in handy while operating on battery.To enable reduced power consumption mode, issue:# iwpriv wlan0 set_power 7where wlan0 is the name of your interface. This will reduce idle power consumption by 1-2 Watts compared to no power management. To return to the “normal” operation mode, you can issue:# iwpriv wlan0 set_power 6.In order to check current settings, you can issue:# iwpriv wlan0 get_power.More information on these option is available in the README.ipw3945 file in the ipw3945 package (README.ipw2200 seems to be rather sketchy about the details of power management). You may want to turn power management on/off on demand in an ACPI script that catches battery/AC events, so that this happens automatically.Note that there have been reports that some versions of ipw2200 react with a firmware error to power management commands. This patch could alleviate the problem.To disable the radio (and further reduce power consumption) when the card is not in use, issue:# echo 1 > /sys/bus/pci/drivers/ipw2200/*/rf_killTo enable the radio, issue:# echo 0 > /sys/bus/pci/drivers/ipw2200/*/rf_killTo make the radio off by default after boot, addoptions ipw2200 disable=1to your /etc/modprobe.conf or equivalent (on kubuntu 6.10 /etc/modprobe.d/options).See README.ipw2200 in the ipw2200 package for details and other options.wpa_supplicant assigns a random SSID wasting powerMany wpa_supplicant versions implement disconnection by configuring a random SSID. ipw2200 reacts in a very unfortunate way to this, intensively scanning for this random SSID and wasting power. This waste can be seen in powertop.Here are a number of ways to solve this problem:Run iwconfig eth1 essid off after every wpa_supplicant disconnection.Upgrade to wpa_supplicant version 0.7.1 or higher. Starting from git commit 3145e615 wpa_supplicant does not configure ipw2200 with a random SSID any more.Backporting commit 3145e615 to wpa_supplicant version 0.6.8 also fixes the problem.Changing the enabled channelsPermitted WiFi channels vary with geography due to regulation. The EEPROM in this chip contains a country code (programmed by the hardware manufacturer), and the driver converts this to a channel list and enforces it.If you carry your laptop to a different regulatory region, you may need to change the list of permitted channels according to local regulations. There are two ways to accomplish this: Patching the ipw2200 driverYou can alter the ipw2200 driver sourcecode to hard-code the country code instead of reading it from EEPROM. For example, this will allow all 14 channels (perfect for those special occasions in international water):—ipw2200.c.orig+++ ipw2200.c@@ -11344,7 +11344,7 @@ static int ipw_up(struct ipw_priv *priv) memcpy(priv->net_dev->dev_addr, priv->mac_addr, ETH_ALEN); for (j = 0; j < ARRAY_SIZE(ipw_geos); j++) {- if (!memcmp(&priv->eeprom[EEPROM_COUNTRY_CODE],+ if (!memcmp(“ZZR”, ipw_geos[j].name, 3)) break; }For the list of codes and their meaning, see the “ipw_geos” table in the ipw2200.c sourcecode.Patching the EEPROMAlternatively, you can change the country code in the EEPROM once and for all, and then use the standard ipw2200 driver.See this guide:Patching the EEPROM.Instead of the hd program mentioned there, you can use the more common od program:echo -n ZZD | od -t x10000000 5a 5a 440000003ATTENTION!If this procedure goes wrong, you may ruin your wireless card.Additional CommentsYour kernel may include an old version of the ipw2200 driver. It is recommended to use the latest version.Make sure you also install the firmware version needed by the driver version you use. You can find the firmware here. To install it, decompress the .tgz file into /usr/lib/hotplug/firmware or /lib/firmware depending on your disto.The driver doesn’t appea r to support the MII interface, so any tools like automatic network configuration managers (i.e. whereami) that rely on mii-tool do not work.。

linux网卡驱动安装

linux网卡驱动安装

LINUX 网卡驱动安装一、U盘/光盘文件挂载,将驱动拷贝到linux系统中1、mkdir /mnt/USB 创建/USB文件夹2、cat /proc/partitions (U盘插入前后各输入一次,查看多出来的盘符,通常是sda1)3、fdisk -l /dev/sda (查看输出结果)看了输出知道U盘所在的设备,在/dev/sdb1,接着便是挂载了4、mount /dev/sda1 /mnt/usb (U盘挂载到/usb目录)5、cd /mnt/usb (打开/usb,查看挂载成功)6、cp -r /mnt/usb/aa /usb (复制U盘中的文件至linux系统)7、cd umount /mnt/usb (卸载U盘)光盘挂载mount -o loop /root/Red\Hat\Linux1.iso /mnt/cdrom以挂载红帽的第一块.iso安装镜像文件cd /mnt/cdrom 进入挂载点二、驱动安装1、在进入操作后打开光驱或软驱,驱动程序的文件有.rpm 和.tar 两种类型,后缀为.rpm 的文件可以直接双击运行加载驱动,而.tar 后缀的文件需要手动加载。

2、手动加载.tar 文件步骤如下:(1)cp AR....tar.gz /root 将驱动盘中后缀为.tar 的文件拷贝到计算机中(2)按“ctrl+alt+f2”进入终端模式,随后根据系统提示输入正确的用户名及口令(3)键入“cd x”命令,x 为刚才拷贝后缀为.tar 文件的路径(4)键入“dir”或“ls”命令后确保能在屏幕上看到后缀为.tar的文件(5)“mkdir /arl1e“创建文件,”tar zxvf AR..tar.gz -C arl1e “(解压到arl1e)(6)待解压缩成功完成后,在原来的目录中会出现刚刚解压完后的ARXX-[version]文件夹,“cd /arl1e/src“(用“cd”命令进入该文件夹中的src 子文件夹)(7)随后键入“make”或“make install”命令,系统将自动运行,成功运行后会生成“arl1e.o”和“arl1e.ko”的文件(查看redme文件,找生成目录)cd /LIB/modules/2.6..../kernel/drivers/net/atl1e (进入目录on 2.6.x kernels)(8)成功生成上述文件后,键入命令“insmod arl1e.o”或“insmod arl1e.ko (on 2.6.x kernels)”验证光驱,接着键入“make install”命令,如果键入命令后系统无任何提示则代表整个驱动程序安装成功(9)“ifconfig ethx x.x.x.x”为网口配置地址,其中第一个“x”为系统网口的编号(通常以0开始),后面的“x.x.x.x”代表32位地址(例如:192.168.1.11)(10)vi /etc/sysconfig/network-script/ifcfg-eth0 (配置IP)IPADDR=NETMASK=GATEWAY=ONBOOT=answer(激活设备)BOOTPROTO=no/static/dhcp(11)Vi /etc/resolv.conf (配置DNS)mkdir arl1e (创建文件夹)cd arl1e (进入文件目录)。

26.Linux-网卡驱动介绍以及制作虚拟网卡驱动(详解)

26.Linux-网卡驱动介绍以及制作虚拟网卡驱动(详解)

26.Linux-⽹卡驱动介绍以及制作虚拟⽹卡驱动(详解)1.描述⽹卡的驱动其实很简单,它还是与硬件相关,主要是负责收发⽹络的数据包,它将上层协议传递下来的数据包以特定的媒介访问控制⽅式进⾏发送,并将接收到的数据包传递给上层协议。

⽹卡设备与字符设备和块设备不同,⽹络设备并不对应于/dev⽬录下的⽂件,不过会存放在/sys/class/net⽬录下如下图所⽰,我们通过ls /sys/class/net/命令,可以看到有两个⽹卡:2.Linux系统对⽹络设备驱动定义了4个层次,这4个层次有到下分为:1)⽹络协议接⼝层:实现统⼀的数据包收发的协议,该层主要负责调⽤dev_queue_xmit()函数发送数据, netif_rx()函数接收数据2)⽹络设备接⼝层:通过net_device结构体来描述⼀个具体的⽹络设备的信息,实现不同的硬件的统⼀3)设备驱动功能层:⽤来负责驱动⽹络设备硬件来完成各个功能, 它通过hard_start_xmit() 函数启动发送操作,并通过⽹络设备上的中断触发接收操作,4)⽹络设备与媒介层:⽤来负责完成数据包发送和接收的物理实体, 设备驱动功能层的函数都在这物理上驱动的层次结构如下图所⽰:3.⽹卡驱动初始化⽽我们的⽹卡驱动程序,只需要编写⽹络设备接⼝层,填充net_device数据结构的内容并将net_device注册⼊内核,设置硬件相关操作,使能中断处理等3.1其中net_device结构体的重要成员,整理后如下所⽰:struct net_device{char name[IFNAMSIZ]; //⽹卡设备名称unsigned long mem_end; //该设备的内存结束地址unsigned long mem_start; //该设备的内存起始地址unsigned long base_addr; //该设备的内存I/O基地址unsigned int irq; //该设备的中断号unsigned char if_port; //多端⼝设备使⽤的端⼝类型 unsigned char dma; //该设备的DMA通道unsigned long state; //⽹络设备和⽹络适配器的状态信息struct net_device_stats* (*get_stats)(struct net_device *dev); //获取流量的统计信息 //运⾏ifconfig便会调⽤该成员函数,并返回⼀个net_device_stats结构体获取信息struct net_device_stats stats; //⽤来保存统计信息的net_device_stats结构体unsigned long features; //接⼝特征,unsigned int flags; //flags指⽹络接⼝标志,以IFF_(Interface Flags)开头//当flags =IFF_UP(当设备被激活并可以开始发送数据包时,内核设置该标志)、 IFF_AUTOMEDIA(设置设备可在多种媒介间切换)、IFF_BROADCAST(允许⼴播)、IFF_DEBUG(调试模式,可⽤于控制printk调⽤的详细程度)、 IFF_LOOPBACK(回环)、IFF_MULTICAST(允许组播)、 IFF_NOARP(接⼝不能执⾏ARP,点对点接⼝就不需要运⾏ ARP)和IFF_POINTOPOINT(接⼝连接到点到点链路)等。

linux服务器安装网卡驱动一般步骤(总结)

linux服务器安装网卡驱动一般步骤(总结)

1.linux服务器安装网卡驱动一般步骤(总结)现在很多服务器安装linux可能会出现网卡,硬盘raid驱动无法等现象,现在将一般安装驱动方法介绍如下:一般服务器自带的光盘里面,有一张是专门的驱动盘。

1、将盘放入光驱2、挂载mount /dev/cdrom /mnt/cdrom 当挂载U盘时,可以到vi /etc/fstab 查看U盘的挂载属性目录3、找到驱动目录,猜测是如下目录cd /mnt/cdrom/driver/net/linux/redhat4.24、里面会有tgz后缀的文件,拷贝到rootcp 名.tgz /root5、解压编辑安装tar xvfz 名.tgzcd 名makemake install6、扫描硬件service kudzu start7、会跳出兰框,按任意键,选择configure,设置IP地址。

OK案例1:IBM X 3650 安装网卡驱动Red Hat Enterprise Linux4.2以后版本可以自动识别IBM X 3650网卡驱动,但是以前版本却不行,下面介绍低版本安装网卡驱动方法:1 Red Hat Enterprise Linux 3版本U6以上可以识别阵列卡,但是无法加载网卡驱动;如果不是U6的版本,需要手动输入linux dd加载阵列卡驱动来继续安装操作系统。

2 安装前题:在开发工具和系统内核全安装安装GCC、kernel-devel、rpmbuild 3个相关包。

说明:rpmbuild ---SRPM是RPM包source 的发布形式, 可分为包含原始代码的(src.rpm)包和不包含原始代码的(nosrc.rpm)包两种.其中,src.rpm包含原始代码也就是src.rpm类似的包都要用rpmbuild命令安装。

rpm -ivh rpm-build-4.2-1.i386.rpmrpm -ivh kernel-devel-2.6.9-5.EL.i686.rpm3、下载网卡驱动bnx2-1.4.36c-1.src.rpm,下载页面:/support/397307-AA1/more_info_local_24340.html4 安装网卡驱动rpm –ivh bnx2-1.4.36c-1.src.rpmcd /usr/src/redhatrpmbuild –bb SPECS/bnx2.specrpm -ivh RPMS/i386/bnx2-1.4.36c-1.i386.rpm --forcerpm -ivh RPMS/i386/bnx2-debuginfo-1.4.36c-1.i386.rpm --force5 reboot后机器启动到扫描新硬件时弹出配置向导,可以配置IP或者跳过此步骤进系统再用系统工具-网络设备控制来配。

LINUX网卡驱动重新安装

LINUX网卡驱动重新安装

LINUX网卡驱动重新安装查看网卡版本:ethtool-i eth0 查看网卡是否被识别:lspci |grep Ethernet 定位网卡:ethtool -p eth0一、插入UP二、创建目录UP和jinmkdir /UPmkdir /jin三、挂载UP和镜像文件mount /dev/sdx1 /UP 注:/dev/sdx1为UP设备,可以通过fdisk来判断mount -o loop /UP/Red Hat Linux 6.2 企业版 64bit /jin注:如果是使用系统光盘,那么mount -o loop /UP/Red Hat Linux 6.2 企业版 64bit /jin 改为 mount /dev/cdrom /jin四、安装kernel-headers-2.6.32-220.el6.x86_64,kernel-devel-2.6.32-220.el6.x86_64cd /UPrpm -ivh kernel-headers-2.6.32-220.el6.x86_64rpm -ivh kernel-devel-2.6.32-220.el6.x86_64五、拷贝本地yum源配置文件cp /UP/rhel-media.repo /etc/yum.repos.d六、清除yum缓存yum clean all七、卸载原有驱动rmmod e1000e八、安装gccyum install gcc九、安装新的驱动1、将UP中e1000e-2.3.2.tar拷贝到/下cp /UP/e1000e-2.3.2.tar /2、在/下解压e1000e-2.3.2.tarcd /tar -zxvf e1000e-2.3.2.tar3、源代码所在目录cd /e1000e-2.3.2/src4、安装make install十、重启机器init 6。

linux网卡驱动的配置

linux网卡驱动的配置

linux⽹卡驱动的配置RedHat5.1下安装Realtek8168⽹卡驱动1.先识别机器上的⽹卡型号:[root@localhost kernel]#kudzu --probe --class=network2、使⽤命令查看kernel包是否都装全了,具体如下:[root@localhost kernel]# rpm -qa | grep kernel如果装全了,会显⽰如下⼏个包:kernel-xen-devel-2.6.18-8.el5kernel-devel-2.6.18-8.el5kernel-2.6.18-8.el5kernel-xen-2.6.18-8.el5kernel-headers-2.6.18-8.el5如果没有装全,就在redhat enterprise Linux 5.0第⼀个ISO的Server⽂件⽬录下可以找到对应的包,拷贝到某⼀具体⽬录下,进⼊⽬录后,⽤如下命令就可以进⾏安装:[root@localhost kernel]# rpm -ivhkernel-devel-2.6.18-8.el5.x86_64.rpm注意:如果不装全这些包,在⽹卡编译时就会报错说找不到src⽬录⽂件。

⽤如下命令查看GCC是否安装,通常都装上的,还是检查⼀下⽐较好。

[*****************.18-8.el5]#whereis-bgccgcc : /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc3、将r8168-8.aaa.bb.tar.bz2解压出来变成r8168-8.aaa.bb⽂件夹形式,拷到U盘在redhat下挂载U盘:插⼊U盘[root@localhost kernel]#mount /dev/sdb1 /mnt/usb4.将r8168-8.aaa.bb⽂件夹拷都本地,如/home⽬录下⾸先将u盘中的驱动程序包拷贝到/home⽬录下[root@localhost media]# cp r8168-8\[1\].011.00.tar.bz2 /home/ [root@localhost media]# cd /home/[root@localhost home]# lsr8168-8[1].011.00.tar.bz25.其次解压驱动程序包[root@localhost home]# tar -vjxf r8168-8\[1\].011.00.tar.bz2r8168-8.011.00/r8168-8.011.00/src/r8168-8.011.00/src/r8168_n.cr8168-8.011.00/src/Makefiler8168-8.011.00/src/r8168_asf.hr8168-8.011.00/src/r8168.hr8168-8.011.00/src/r8168_asf.cr8168-8.011.00/src/Makefile_linux24xr8168-8.011.00/Makefiler8168-8.011.00/readme[root@localhost home]# lsr8168-8.011.00 r8168-8[1].011.00.tar.bz2[root@localhost home]# cd r8168-8[*************************.00]#lsMakefile readme src6.[*************************.00]#makecleanmodulesmake -C src/ cleanmake[1]: Entering directory `/home/r8168-8.011.00/src'rm -rf *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags .tmp_versions Module.symvers Modules.symvers *.order make[1]: Leaving directory `/home/r8168-8.011.00/src'make -C src/ modulesmake[1]: Entering directory `/home/r8168-8.011.00/src'make -C /lib/modules/2.6.18-53.el5xen/build SUBDIRS=/home/r8168-8.011.00/src modulesmake[2]: Entering directory `/usr/src/kernels/2.6.18-53.el5-xen-i686'CC [M] /home/r8168-8.011.00/src/r8168_n.o/home/r8168-8.011.00/src/r8168_n.c: 在函数‘rtl8168_tx_clear’中:/home/r8168-8.011.00/src/r8168_n.c:4154: 警告:未使⽤的变量‘dev’CC [M] /home/r8168-8.011.00/src/r8168_asf.oLD [M] /home/r8168-8.011.00/src/r8168.oBuilding modules, stage 2.MODPOSTCC /home/r8168-8.011.00/src/r8168.mod.oLD [M] /home/r8168-8.011.00/src/r8168.komake[2]: Leaving directory `/usr/src/kernels/2.6.18-53.el5-xen-i686'strip --strip-debug r8168.komake[1]: Leaving directory `/home/r8168-8.011.00/src'7.[*************************.00]#makeinstallmake -C src/ installmake[1]: Entering directory `/home/r8168-8.011.00/src'install -m 744 -c r8168.ko /lib/modules/2.6.18-53.el5xen/kernel/drivers/net/ make[1]: Leaving directory `/home/r8168-8.011.00/src'[*************************.00]#depmod–a[*************************.00]#modprober8168[*************************.00]#lsmod|grepr8168r8168 44564 0[*************************.00]#ifconfig-aeth0 Link encap:Ethernet HWaddr 00:24:81:F2:99:75BROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)Interrupt:17 Base address:0xc000lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:1195 errors:0 dropped:0 overruns:0 frame:0TX packets:1195 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:1904847 (1.8 MiB) TX bytes:1904847 (1.8 MiB)sit0 Link encap:IPv6-in-IPv4NOARP MTU:1480 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)veth0 Link encap:Ethernet HWaddr 00:00:00:00:00:00BROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)veth1 Link encap:Ethernet HWaddr 00:00:00:00:00:00BROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)veth2 Link encap:Ethernet HWaddr 00:00:00:00:00:00BROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)veth3 Link encap:Ethernet HWaddr 00:00:00:00:00:00BROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)vif0.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FFBROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FFBROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)vif0.2 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FFBROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)vif0.3 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FFBROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0inet6 addr: fe80::200:ff:fe00:0/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:46 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:8446 (8.2 KiB)xenbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00inet6 addr: fe80::200:ff:fe00:0/64 Scope:LinkUP BROADCAST RUNNING NOARP MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)8.[*************************.00]#ifconfigeth0up[*************************.00]#ifconfigeth0eth0 Link encap:Ethernet HWaddr 00:24:81:F2:99:75inet6 addr: fe80::224:81ff:fef2:9975/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:438 errors:0 dropped:0 overruns:0 frame:0TX packets:16 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:36745 (35.8 KiB) TX bytes:4518 (4.4 KiB)Interrupt:17 Base address:0xc0009.配置ip地址[*************************.00]#ifconfigeth0"10.10.112.1"10.配置⽹关[*************************.00]#routeadddefaultgw"10.10.112.254"然后单击菜单栏的系统下⾯的“管理”下的“⽹络“界⾯,在此界⾯⾥⾯配置下DNS,然后单击保存,即可。

linux上网etho解决网卡驱动的问题

linux上网etho解决网卡驱动的问题

linux上网etho解决网卡驱动的问题注意:本文是在linux系统完全安装的条件下进行的。

有的朋友安装linux是定制安装,因此可能会出现某些必要的软件包没有的情况。

这就需要自己解决了。

不难的呵呵一查看网卡是否安装1 ifconfig -a 如果没有ethX 就很可能是网卡没有安装,至少可以断定网卡没有自动加载。

如果这时输入ifconfig eth0 xxx.xxx.xx.xx 系统会提示没有eth0 该设备。

2 可以用 dmesg | grep ethx 来查看系统能不能检查到该模块。

如果能会返回ATL2: eth0 NIC Link is up <100M full duplex>否则没反应3 用lsmod 查看开机时是否有加载如果有的,会有atl2 或eg3之类的4,查看网卡驱动安装的目录#uname -r 查看内核版本#cd lib/modules/'uname -r'/kernel/drives/net 网卡驱动安装在该目录下#ls显示相关的驱动,如果没有就要手动安装了二,安装驱动1 查看你的驱动类型。

我切换到2003系统查看网卡型号。

2 网上下载驱动。

我下载的地址如下:/downloads/downloadsView.aspx?Langid=3&PNid=4&PFid =4&Level=5&Conn=4&DownTypeID=3&GetDown=false&Dow nloads=true#RTL8110S-32/RTL8169S-32/RTL8110SB(L)/RTL8169SB(L)<br>RTL8110SC(L)/RTL8169SC(L)3 通过U盘拷贝到linux中。

1)#modprobe usb-storage 必须的命令好像这样才能读出U 盘2) # mount /dev/sdb? /mnt (?为几可以用fdisk -l查看一下,我的是sda)注意:有的U盘可能linux无法读出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
型的话,你可以定义自己的接口初始化函数;也可以用一个类似的函数初始化,然后再修改一些域就可 以了 2、设置两个主要的操作函数集;
dev->netdev_ops = &snulldev_ops;//网络接口管理函数 dev->header_ops = &snull_header_ops;//数据帧头部处理函数
在本驱动中,我们定义了 create、rebuild 连个操作; create 操作在发送数据包之前被调用,用来组装帧头部; rebuild 在进行地址解析(如 IPv4 中的 ARP 协议)之后,重新组装帧头部;
netdev_ops 是 net_device_ops 结构的实例; 该结构体定义了 N 多的操作,本驱动实现了其中的一部分下面一一对他们进行讲解: snull_open 设备 UP 时被调用,本驱动用它完成下面任务: 1、设置接口的硬件地址; 2、调用 netif_start_queue 函数,该调用等于告诉内核,该接口可以接收上层数据包了; snull_release:设备进入 DOWN 状态时被调用,本驱动使用来实现: 1、调用 netif_stop_queue 函数,告诉内核,我以后不接收数据包了; snull_chenge_mtu:这个没有歧义,不再说明; snull_stats:获取设备的统计信息,本驱动直接返回私有结构中的 net_device_ops 内嵌结构的指针; snull_tx:设备的发送函数,完成设备的数据发送工作;这个函数比较重要,但是根 LDD 中没有区别,
从中我们可以看到:当我们定义一个网络接口的 net_device 结构体,通过初始化这两个域,可以把内核 对接口的操作重新实现为我们定义的操作,这是不是面向对象编程中的“多态性”的思想呢? 既然提到了上面的两个操作集合,我们接下来就说说他们吧。 hdader_ops 是 header_ops 结构的实例:
可以参考上面的解释; 下面我们就主要看看设备接收数据的过程: 该驱动使用了两种方法来展示 linux 中处理网络接口数据接收问题的方法,由于该驱动模拟了接收中断, 所以下面两种方法都是中断服务函数; 方法一:void snull_regular_interrupt(...),解析如下:
pkt = priv->rx_queue;
这一句设置了要传递给上层的协议类型,当然,该类型是 eth_type_trans 通过 skb 结构体和设备类型判 断的,大家可以仔细看看这个函数的执行过程; 最终,函数调用了 netif_rx(skb)函数,这个函数由内核提供;至此,驱动完成了数据向上层传递的任务, 其他工作由内核完成; 建议大家空闲的时候,跟踪一下 netif_rx 这个函数,以便更好的理解 linux 网络数据的接收; 方法二:void snull_napi_interrupt(...),解析如下:
LDD 一书中,网络驱动在 linux-3.1 中的修改运行 2012-04-25 21:11:21
分类: LINUX 由于 linux 内核现在的更新速度非常之快,在 LDD(linux 内核驱动)一书中,很多代码都不能在现在 的比较新的内核中直接运行了,都需要我们对其中的机制加以理解之后,重新修改代码才能运行。本文 针对其中网络驱动 snull 进行修改,并使其在 linux-3.1 中运行。通过这个过程,笔者也对 linux 网络部 分的理解也加深了一点点。 先看该驱动的初始化函数:int snullnet_init() 函数分析: 1、为网络设备分配设备结构:net_device,该过由 alloc_netdev 实现; 2、注册设备,由 register_netdev 实现;
点击(此处)折叠或打开
struct snull_priv { struct net_device_stats stats;//网络统计信息,内核已经定义了该结构体 int status; //网络接口状态 struct snull_packet *ppool; //缓冲池,驱动需要该结构时候,直接从这个队列中取出,用完后归
析它。
void snull_init(struct net_device *dev)完成以下任务: 1、调用 ether_setup; 这里不得不说一下的是,ether_setup 是内核为方便初始化以太网接口而定义的,其他的网络也有类 似的函数,比如 fddi_setup 用于设置 FDDI 网络接口等等;其实如果你想加入一个以前不存在的接口类
#include <linux/module.h>
#include <linux/init.h> #include <linux/moduleparam.h> #include <linux/netdevice.h> #include <linux/etherdevice.h> #include <linux/kernel.h> #include <linux/interrupt.h> #include <linux/spinlock.h> #include <linux/sched.h> #include <linux/slab.h> #include <linux/errno.h> #include <linux/types.h> #include <linux/in.h> #include <linux/ip.h> #include <linux/tcp.h> #include <linux/skbuff.h> #include <asm/checksum.h> #define SNULL_RX_INTR 1UL #define SNULL_TX_INTR 2UL #define SNULL_TIMEOUT 5 MODULE_AUTHOR("xishuai"); MODULE_LICENSE("GPLv3"); int pool_size = 8; module_param(pool_size, int, 0); int use_napi = 0; module_param(use_napi, int, 0); struct snull_packet { struct snull_packet *next; struct net_device *dev; int datalen; u8 data[ETH_DATA_LEN]; }; struct snull_priv { struct net_device_stats stats; int status; struct snull_packet *ppool; struct snull_packet *rx_queue; int rx_int_enabled; int tx_packetlen; u8 *tx_packetdata; struct sk_buff *skb; spinlock_t lock; struct napi_struct *snull_napi; }; static struct net_device *snull_dev[2];
snull_rx_ints(dev, 0);//禁止接收中断 napi_enable(priv->snull_napi); napi_schedule(priv->snull_napi);
这三句就是网络驱动 napi 接口的主要工作了:禁止接收中断、打开 napi 轮循、调度该接口的 napi; 这个主要涉及到网络的 napi 功能;该功能简单来说就是在发生网络数据接收中断时,关闭接口的中断, 通过轮循的方法处理以后到来的网络数据,直所有的数据处理完毕(这个不准确,但是更容易理解); 数据处理完毕再打开接收中断;napi 接口以后有空再讲,现在暂且不提; 至此,一个具备基本功能的网络驱动程序就已经勾画出来了,自己在这里记录一下,以便以后复习;下 面粘贴完整的源文件:snullnet.c --->文件名:snullnet.c 点击(此处)折叠或打开

struct snull_packet *rx_queue;//接收到的数据包的队列 int rx_int_enabled; //接收中端是否使能 int tx_packetlen; //要发送的数据包的长度 u8 *tx_packetdata; //要发送的数据 struct sk_buff *skb; //这个可以没有的,貌似我修改的程序中,木有用到 spinlock_t lock; //保护该结构体并发访问的自旋锁 struct napi_struct *snull_napi;//使用 napi 时候,要用到的结构,在 linux2.6.24 中加入 }; alloc_netdev 的第三个参数是 snull_init,指定了初始化 alloc_netdev 所分配空间的函数,下面我们九分
这一句从设备的接收队列中取出一个数据包, 然后,驱动调用了 snull_rx 函数,这个函数利用要传递的数据,调用 dev_alloc_skb 函数来初始化 sk_buff 结构,初始化 sk_buff 时期,最值得关注的一个细节是:
skb->protocol = eth_type_trans(skb, dev);
static void(*snull_interrupt)(int, void*, struct pt_regs *); static int snull_open(struct net_device *dev) { printk(KERN_ALERT "snull_open\n"); memcpy(dev->dev_addr, "\0SNUL0", ETH_ALEN); if (dev == snull_dev[1]) { dev->dev_addr[ETH_ALEN -1]++; } netif_start_queue(dev);//允许上层调用 ndo_start_xmit 函数 return 0; } static int snull_release(struct net_device *dev) { printk("snullnet:snull_release\n"); netif_stop_queue(dev);//禁止上层调用本设备的发送函数 return 0; } static int snull_config(struct net_device *dev, struct ifmap *map) { printk("snullnet:snull_config\n"); if(dev->flags & IFF_UP) return -EBUSY; if(map->base_addr != dev->base_addr) { printk(KERN_WARNING "snull: Can't change I/O address\n"); return -EOPNOTSUPP; } if(map->irq != dev->irq) { dev->irq = map->irq; } /*忽略其他域的改变*/ return 0; } static void snull_enqueue_buf(struct net_device *dev, struct snull_packet *pkt) { unsigned long flags; struct snull_priv *priv = netdev_priv(dev); printk("snullnet:snull_enqueue_buf\n"); spin_lock_irqsave(&priv->lock, flags); pkt->next = priv->rx_queue; priv->rx_queue = pkt; spin_unlock_irqrestore(&priv->lock, flags); } static struct snull_packet *snull_get_tx_buffer(struct net_device *dev)
相关文档
最新文档