linuxeth驱动
『壹』 如何在Linux上面安装Atheros网卡驱动
1.检查是否安装网卡驱动 执行命令:lspci|grep-ieth 终端显示的结果为:02:00.0Ethernetcontroller:QualcommAtherosAR8161Gigabit Ethernet(rev08) 接着再执行一下命令:ifconfg 终端显示的连接中没有eth0的相关信息,只有一个lo和virbr0 很明显,网卡驱动没有装好。我是这样来解决的。 注意:我电脑是联想Y400网卡是上面的AtherosAR8161这个,网卡驱动下载链接 下载后解压得到:alx-linux-v2.0.0.6目录 2.检查自己的系统环境 gcc kernel-headers和kernel-devel是否已经安装,我安装系统时候就安装了开发组件和桌面,所以这里没必要再安装。 如果没有安装开发组件,可以进行如下操作(用yum前需要提前配好yum源) yuminstallgcc yuminstallkernel-headers yuminstallkernel-devel 3.编译: 进入alx-linux-v2.0.6的目录 执行make 此时在src文件件夹中产生了一个alx.ko文件 4.配置文件的修改: mkdir/lib/moles/2.6.32-358.6.2.el6.x86_64/kernel/net/wired //创建文件夹wired 在vi/lib/moles/2.6.32-358.6.2.el6.x86_64/moles.networking文件里添加 alx.ko 执行命令:vi/etc/sysconfig/moles/alx.moles 在alx.moles中添加如下脚本内容:
『贰』 怎么写linux网卡驱动程序
1
方法一:
1:ethtool -i ethx
如:
linux:/mnt # ethtool -i eth1
driver: e1000e
version: 1.0.2-k2
firmware-version: 1.9-0
bus-info: 0000:0b:00.0
linux:/mnt # ethtool -i eth16
driver: igb
version: 2.1.0-k2
firmware-version: 1.4-1
bus-info: 0000:0a:00.0
linux:/mnt #
2:使用 modinfo igb 查看驱动信息
linux:~ # modinfo igb
filename: /lib/moles/2.6.32.12-0.7-default/kernel/drivers/net/igb/igb.ko
version: 5.2.5
license: GPL
description: Intel(R) Gigabit Ethernet Network Driver
author: Intel Corporation, <[email protected]>
srcversion: 0E80ABCD0117D822FE8B271
alias: 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,dca
supported: external
vermagic: 2.6.32.12-0.7-default SMP mod_unload modversions
parm: 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:~ #
2
方法二:
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.10] 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 present
linux:~ #
2:使用 modinfo igb 查看驱动信息
(结果同方法一中的)
『叁』 如何在linux下安装网卡驱动
一、查看网卡型号和机器位数
1、查看网卡型号
linux系统下通过以下命令,可以查看当前的网卡驱动信息;
[box color="white" icon="none"]
[root@localhost zhangy]# lspci |grep -i eth
03:00.0 Ethernet controller: Realtek Semiconctor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
[/box]
2、查看机器位数
驱动程序是要区分系统是32位系统还是64位系统的, 所以通过以下linux命令,就可以知道操作系统的位数了;
[box color="white" icon="none"]
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-308.13.1.el5PAE #1 SMP Tue Aug 21 17:50:26 EDT 2012 i686 i686 i386 GNU/Linux
[/box]
下载前先看一下你的网卡驱动,如果是最新的就不用在重新装了。
[box color="white" icon="none"]
[root@localhost zhangy]# ethtool -i eth0
driver: r8169
version: 2.3LK-1-NAPI
firmware-version:
bus-info: 0000:03:00.0
[/box]
RTL8111/8168B就是网卡的型号,这样你可以网卡的型号来找一下网卡驱动的官方网站,然后下载最新的网卡驱动,驱动分64位和32位的,i386,i686是32位的机器,x86_64表示是64位的机器,不要选错驱动了。
二、下载驱动,并安装
1、解压
[box color="white" icon="none"]
[root@localhost download]# tar jxvf r8168-8.032.00.tar.bz2
[/box]
2、安装
[box color="white" icon="none"]
[root@localhost r8168-8.032.00]# make && make install
[/box]
如果报以下错误
make -C /lib/moles/2.6.18-308.8.2.el5PAE/build SUBDIRS=/home/zhangy/r8168-8.032.00/src INSTALL_MOD_DIR=kernel/drivers/net moles_install
make: *** /lib/moles/2.6.18-308.8.2.el5PAE/build: 没有那个文件或目录。 停止。
make: *** [install] 错误 2
说明你kernel源码没有安装。安装kernel源码
[box color="white" icon="none"]
[root@localhost r8168-8.032.00]# yum install kernel-xen kernel-xen-devel kernel
> kernel-PAE kernel-PAE-devel kernel-devel kernel-headers
[/box]
安装完以后,一定要重启机器。不然下面操作就过不去了,会报FATAL: Mole r8168 not found.
[box color="white" icon="none"]
[root@localhost r8168-8.032.00]# depmod -a
[root@localhost r8168-8.032.00]# modprobe r8168
[/box]
编辑配置文件/etc/modprobe.cof,如果以前没有添加alias eth0 r8168,如果已经有了修改一下成alias eth0 r8168。
查一下驱动是不是加载了,如果有以下内容说明驱动安装成功了。
[box color="white" icon="none"]
[root@localhost r8168-8.032.00]# lsmod |grep r8168
r8168 231132 0
[/box]
必须重新启动一下机器,用ethtool查看驱动才会改变,不然还是老样子。下面是新的驱动。
[box color="white" icon="none"]
[root@localhost ~]# ethtool -i eth0
driver: r8168
version: 8.032.00-NAPI
firmware-version:
bus-info: 0000:02:00.0
[/box]
『肆』 linux重启网卡驱动 命令
在实际工作中,经常会遇到Linux系统进行重启网卡的操作。在这里整理一下,进行多种方法的网卡重启。
一、service network restart
1、首先用CRT工具连接到Linux命令行界面。 或者进入操作系统界面,选择终端输入。
2、如果我们对所有的网卡进行重启操作。 可以尝试输入:service network restart 命令进行操作。
3、样就完成了用service network restart命令重启网卡的操作。
二、ifconfig eth0 down / ifconfig eth0 up
1、连接到命令行界面,输入ifconfig查看网卡的基本信息。
2、查看到eth3的网卡信息。 输入ifconfig eth3 down ,卸载eth3网卡。
3、输入ifconfig eth3 up,重新加载eth3网卡。
三、ifdown eth0 / ifup eth0
1、连接到命令行界面。输入ifdown eth3,对网卡eth3进行卸载。
2、输入ifup eth3,对网卡eth3进行重新加载。
3、这样就完成了对网卡的重启操作。
『伍』 linux关闭无线网卡硬件驱动
首先通过ifconfig -a命令查找当前网络下存在的网卡,一般为eth0、1、2...or wlan0、1、2、3... 由于你的无线网卡被关闭了,最直接的就是需要进行启动操作;eth=本地网卡,既表示有线网卡类,wlan=无线局域网,既表示无线网卡类; 进行启动操作
『陆』 Linux 8139网卡驱动程序的安装
linux网卡驱动程序的编译与安装(共有四页)http://os.rdxx.com/Linux/2005-9/13/175506699.shtml
一般来说,目前新版的
Linux
预设可以支持的网络卡芯片组数量已经很完备了,很多网络卡芯片都已经被支持,例如RLT
8139
芯片
(
RealTek
8139
)
的网络卡所以使用者可以很轻易的设定好他们的网络卡。不过,如果万一不幸核心没有支持该网络卡的话,那么可以透过重新编译核心或者编译网络卡驱动模块
(
Moles
),并且加载该模块,今天就是这么巧,碰到一个D-Link
的DFE-530TX,没法,只有手动安装网络卡驱动程序了.可以用命令#
dmesg
|
grep
eth来查看系统启动信息,显示出
eth0
或者
eth1
的信息,如果eth1没找到正确的信息,那就表示
Linux
无法找到该硬件,eth0是8139的,已经显示正常,例如:[root@kindgeorge
root]#
dmesg
|
grep
etheth0:
RealTek
RTL8139
Fast
Ethernet
at
0xf0160000,
00:0a:a6:30:0d:0e,
IRQ
11eth0:
Identified
8139
chip
type
'RTL-8139C'eth0:
Setting
10mbps
full-plex
based
on
auto-negotiated
partner
ability
4061.
『柒』 linux如何安装驱动
linux的驱动一般有两种格式,分别为:tar和rpm格式。
rpm安装步骤:
1.将驱动程序文件bcm5700-.src.rpm复制到一个临时目录中,并在此目录中运行以下命令:
rpm –ivh bcm5700-.src.rpm
2.运行以下命令切换到驱动目录中:
cd /usr/src/redhat/SPECS/
3.此目录中会生成一个名字为bcm5700.spec的文件,运行以下命令对驱动程序进行编译:
rpmbuild –bb bcm5700.spec (对4.x.x版本的RPM适用)或 rpm -bb bcm5700.spec
4.运行以下命令切换到RPM目录中:
cd /usr/src/redhat/RPMS/i386/
5.运行以下命令安装驱动程序:
rpm –ivh bcm5700-.i386.rpm (对于Red Hat 7.2, 7.3, 2.1AS和其他包含老版本驱动的系统需要使用--force的参数,强制用新的驱动替换系统自带的老版本驱动)
6.运行以下命令加载驱动模块:
insmod bcm5700
7.运行kudzu命令,系统会自动搜索到硬件,进行配置即可。
或者重新启动系统,启动过程中系统会自动找到硬件,进行相应配置即可。
tar格式安装步骤:
1. 将驱动程序压缩文件bcm5700-.tar.gz复制到一个临时目录中,并使用以下命令解压缩:
tar xvzf bcm5700-.tar.gz
2.构建驱动程序为运行内核可加载模块
cd bcm5700-/src
make
3.加载测试
insmod bcm5700
4.加载驱动程序
make install
5.重新启动系统,启动过程中找到硬件,进行相应配置。
或者直接运行kudzu命令,系统会自动搜索到硬件,进行配置即可。
『捌』 linux下如何安装网卡驱动
通过dmesg | grep eth 判断是否是网卡没有驱动,找到对应的网卡驱动,准备安装。
检查服务器是否有编译环境,也就是kernel-devel、gcc这些。如果没有要安装。
下面是安装过程:
1.先找驱动,你没列出网卡型号,所以你只能自己找了。
2.下载驱程,进入网卡文件的目录执行(根据网卡的安装说明)命令:
# make clean moles
# make install
# depmod -a
# insmod ./src/XXX.ko
./src/XXX.ko 是网卡驱程的名称,这里只举例子,以真实名称为准。
即其实安装网卡驱程的命令就是insmod , 查看网卡型号 lspci | grep 'Eth' 。
『玖』 linux 网卡驱动
1)仅仅替换HWADDR是不行的,还需要修改/etc/udev/rules.d/70-persistent-net.rules文件,调换一下eth0和eth1的MAC地址
例如:
# PCI device 0x14e4:0x1639 (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="d4:ae:52:64:09:2f", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x14e4:0x1639 (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="d4:ae:52:64:09:2d", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
2)从原理上来将两者是有区别的,1)里面所提到的只是替换了Kernel在加载网卡时的顺序而已
更新驱动,那么会使用新的Mole
3)两者的哪个更好,我觉得如果网卡性能上没什么差别的话,都一样的,你可以选择自己习惯的方式
『拾』 如何在linux下安装网卡驱动
1.检查是否安装网卡驱动 执行命令:lspci|grep-ieth 终端显示的结果为:02:00.0Ethernetcontroller:QualcommAtherosAR8161Gigabit Ethernet(rev08) 接着再执行一下命令:ifconfg 终端显示的连接中没有eth0的相关信息,只有一个lo和virbr0 很明显,网卡驱动没有装好。我是这样来解决的。 注意:我电脑是联想Y400网卡是上面的AtherosAR8161这个,网卡驱动下载链接 下载后解压得到:alx-linux-v2.0.0.6目录 2.检查自己的系统环境 gcc kernel-headers和kernel-devel是否已经安装,我安装系统时候就安装了开发组件和桌面,所以这里没必要再安装。 如果没有安装开发组件,可以进行如下操作(用yum前需要提前配好yum源) yuminstallgcc yuminstallkernel-headers yuminstallkernel-devel 3.编译: 进入alx-linux-v2.0.6的目录 执行make 此时在src文件件夹中产生了一个alx.ko文件 4.配置文件的修改: mkdir/lib/moles/2.6.32-358.6.2.el6.x86_64/kernel/net/wired //创建文件夹wired 在vi/lib/moles/2.6.32-358.6.2.el6.x86_64/moles.networking文件里添加 alx.ko 执行命令:vi/etc/sysconfig/moles/alx.moles 在alx.moles中添加如下脚本内容: