linux网络驱动
❶ 在linux系统下如何安装网卡驱动
不知道你是不是已经找到网卡的驱动了啊 ,如果没有的话就根据网卡的型号到主板的官方或是主板的驱动盘上找一下,应该可以找到对应的linux 驱动,然后按照以下步骤做,不要说我是抄的,我自己亲自照着这个做过并且成功了才保存下来的。
希望能够给像我这样的新手提供掌握安装网卡驱动的捷径
1 确认系统的内核版本
[root@localhost ~]# uname -r
2.6.18-8.el5PAE
我的内核版本是2.6.18-8.el5PAE
2 确认系统是否已经安装下列包
由于编译需要用到内核的源代码包和编译程序gcc.所以如果没有的话,要先装.
查看:
检查是否已经安装内核源码
[root@localhost ~]# rpm -qa|grep kernel
kernel-doc-2.6.18-8.el5
kernel-xen-2.6.18-8.el5
kernel-2.6.18-8.el5
kernel-PAE-2.6.18-8.el5
kernel-headers-2.6.18-8.el5
kernel-PAE-devel-2.6.18-8.el5
kernel-devel-2.6.18-8.el5
检查是否已经安装编译用到的gcc
[root@localhost ~]# rpm -qa|grep gcc
gcc-gfortran-4.1.1-52.el5
gcc-java-4.1.1-52.el5
libgcc-4.1.1-52.el5
gcc-c++-4.1.1-52.el5
compat-gcc-34-c++-3.4.6-4
compat-gcc-34-3.4.6-4
gcc-4.1.1-52.el5
compat-gcc-34-g77-3.4.6-4
compat-libgcc-296-2.96-138
一般情况下如果安装了内核源码的话源码目录一般都在/usr/src/rRedHat目录下
如果没有的话就用安装盘里面的文件进行安装
3 驱动程序编译及安装
通过官方网站获取相应的驱动程序,我用的是Intel的e1000e的网卡驱动程序
相应的驱动程序包为e1000e-0.5.8.2.tar.gz将驱动程序包拷贝到/usr/src目录下解压缩
cd /usr/src
tar zxvf e1000e-0.5.8.2.tar.gz
完毕以后转到 cd e1000e-0.5.8.2/src目录下准备编译安装
在src目录下依次执行 make (编译驱动程序源码) make install(安装相应的驱动程序)
安装完毕以后将驱动程序生成的*.o拷贝到/lib/moles/2.6.18-8.el5PAE/kernel/drives/net目录下
cp e1000e.o /lib/moles/2.6.18-8.el5PAE/kernel/drivers/net
然后执行depmod -a加载驱动程序
4 驱动程序测试
我们可以通过modprobe e1000e进行加载 如果没有提示错误信息证明驱动程序已经加载
同时可以通过lsmod查看已经加载的驱动程序
如果在显示的驱动程序中能够看到e1000e的字样说明驱动程序已经加载成功
❷ linux下无线网卡如何驱动
linux下无线网卡具体驱动的操作方法如下:
1、首先需要确定网卡的类型,打开linux的输入窗口,然后继续在linux终端下输入lsusb命令,此时在输出栏的第一行可以查看网卡类型,记录下来。
❸ linux驱动有哪些
1、将驱动程序文件bcm5700src.rpm复制到一个临时目录中,并在此目录中运行以下命令;
2、运行以下命令切换到驱动目录中;
3、此目录中会生成一个名字为bcm5700.spec的文件,运行以下命令对驱动程序进行编译;
4、运行以下命令切换到RPM目录中;
5、运行以下命令安装驱动程序;
6、运行以下命令加载驱动模块;
7、运行kudzu命令,系统会自动搜索到硬件,进行配置即可。
linux是文件型系统,在linux中,一切皆文件,所有硬件都会在对应的目录(/dev)下面用相应的文件表示。 文件系统的linux下面,都有对于文件与这些设备关联的,访问这些文件就可以访问实际硬件。 通过访问文件去操作硬件设备,一切都会简单很多,不需要再调用各种复杂的接口。 直接读文件,写文件就可以向设备发送、接收数据。 按照读写存储数据方式,我们可以把设备分为以下几种:字符设备(character device)、块设备(Block device)和网络设备( network interface)。
字符设备(character device):指应用程序采用字符流方式访问的设备。这些设备节点通常为传真、虚拟终端和串口调制解调器、键盘之类设备提供流通信服务, 它通常只支持顺序访问。字符设备在实现时,大多不使用缓存器。系统直接从设备读取/写入每一个字符。
块设备(Block device):通常支持随机存取和寻址,并使用缓存器,支持mount文件系统。典型的块设备有硬盘、SD卡、闪存等,但此类设备一般不需要自己开发,linux对此提过了大部分的驱动。
网络设备(network interface):是一种特殊设备,它并不存在于/dev下面,主要用于网络数据的收发。网络驱动同块驱动最大的不同在于网络驱动异步接受外界数据,而块驱动只对内核的请求作出响应。
上述设备中,字符设备驱动程序适合于大多数简单的硬件设备,算是各类驱动程序中最简单的一类,一般也是从这类驱动开始学习,然后再开始学习采用IIC、SPI等通讯接口的一些设备驱动。可以基于此类驱动调试LKT和LCS系列加密芯片。注意7位IIC地址是0x28。
❹ Linux网络设备驱动的结构
Linux网络设备驱动程序的体系结构从上到下可以划分为4层,依次为网络协议接口层、网络设备接口层、提供实际功能的设备驱动功能层以及网络设备与媒介层,这4层的作用如下所示。
1)网络协议接口层向网络层协议提供统一的数据包收发接口,不论上层协议是ARP,还是IP,都通过dev_queue_xmit() 函数发送数据,并通过netif rx ()函数接收数据。这一层的存在使得上层协议独立于具体的设备。
2)网络设备接口层向协议接口层提供统一的用于描述具体网络设备属性和操作的结构体net device,该结构体是设备驱动功能层中各函数的容器。实际上,网络设备接口层从宏观上规划了具体操作硬件的设备驱动功能层的结构。
3)设备驱动功能层的各函数是网络设备接口层net_device数据结构的具体成员,是驱使网络设备硬件完成相应动作的程序,它通过hard_start_ xmit ()函数启动发送操作,并通过网络设备上的中断触发接收操作。
4)网络设备与媒介层是完成数据包发送和接收的物理实体,包括网络适配器和具体的传输媒介,网络适配器被设备驱动功能层中的函数在物理上驱动。对于Linux系统而言,网络设备和媒介都可以是虚拟的。
❺ 如何在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中添加如下脚本内容:
❻ 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网络设备驱动完成数据包发送的流程
从网络设备驱动程序的结构分析可知,Linux网络子系统在发送数据包时,会调用驱动程序提供的hard_start_transmit()函数,该函数用于启动数据包的发送。在设备初始化的时候,这个函数指针需被初始化以指向设备的xxx_tx ()函数。网络设备驱动完成数据包发送的流程如下:1)网络设备驱动程序从上层协议传递过来的sk_buff参数获得数据包的有效数据和长度,将有效数据放入临时缓冲区。2)对于以太网,如果有效数据的长度小于以太网冲突检测所要求数据帧的最小长度ETH ZLEN,则给临时缓冲区的末尾填充0。3)设置硬件的寄存器,驱使网络设备进行数据发送操作。特别要强调对netif_ stop_queue()的调用,当发送队列为满或因其他原因来不及发送当前上层传下来的数据包时,则调用此函数阻止上层继续向网络设备驱动传递数据包。当忙于发送的数据包被发送完成后,在以TX结束的中断处理中,应该调用netif_wake_queue ()唤醒被阻塞的上层,以启动它继续向网络设备驱动传送数据包。当数据传输超时时,意味着当前的发送操作失败或硬件已陷入未知状态,此时,数据包发送超时处理函数xxx _tx _timeout ()将被调用。这个函数也需要调用由Linux内核提供的netif_wake _queue()函数以重新启动设备发送队列。
❽ linux虚拟机怎么安装无线网卡驱动
linux虚拟机可通过以下方式安装无线网卡驱动:
1、打开“计算机”,单击“设备管理器”,在设备管理器浏览窗口找到网络适配器,以便查询看无线网卡驱动以及设备是否已正确安装;
2、在计算机里面点击虚拟机名称,打开对应的虚拟机设备;
3、点击“虚拟机”菜单,从其下拉菜单中选择“可移动设置”,并从无线网卡驱动名称中选择“与主机连接或断开连接”项,并点击确定;
4、通过以上步骤,此时主机中的无线网卡已被弹出,而虚拟机中的无线网卡驱动已安装成功并且可以正常使用。
❾ 如何在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]