我的系统 OS version : Centos 5.9 kernel : 2.6.18-402 更新内核版本: 2.6.20
由于 yum 里面的内核头文件和卡发包并没有过多的源码 .c 文件。所以只能从 www.kernel.org 下载 相近的版本,有人肯定说了下你还不下个最新的 内核版本,答: 如内核版本跨度比较大,本人担心会出现各种问题,很多老的编译选项新版内核不支持。
首先先下载 原系            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-17 05:53:15
                            
                                141阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Preface    Linux内核对网络驱动程序使用统一的接口,并且对于网络设备采用面向对象的思想设计。    Linux内核采用分层结构处理网络数据包。分层结构与网络协议的结构匹配,既能简化数据包处理流程,又便于扩展和维护。内核网络结构    在Linux内核中,对网络部分按照网络协议层、网络设备层、设备驱动功能层和网络媒介层的分层体            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-06-13 13:03:28
                            
                                6448阅读
                            
                                                        
                                点赞
                            
                                                                                    
                                1评论
                            
                                                 
                 
                
                             
         
            
            
            
            原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。://liucw.blog.51cto.com/6751239/1221140 Preface Linux内核对网络驱动程序使用统一的接口,并且对于网络设备采用面向对象的思想设计。 Lin            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-02-21 13:04:00
                            
                                186阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
                Linux 网络设备驱动程序由 4 部分组成,分别是网络设备媒介层、网络设备驱动层、网络设 备接口层及网络协议接口层。网络设备媒介层包括各种物理网络设备和传输媒介。对于网络设备 接口层,Linux 系统用 Net_device 结构表示网络设备接口。Net_device 结构保存所            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-18 22:59:34
                            
                                259阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            学习目的:熟悉Linux网卡驱动基本框架以及驱动程序编写步骤实现一个虚拟网卡驱动程序1、概述网卡工作在OSI的最后两层,物理层和数据链路层,主要是负责收发网络的数据包,它将网络通信上层协议传递下来的数据包以特定的媒介访问控制方式进行发送,并将接收到的数据包传递给上层协议。在知道了网卡的工作内容后,我们也就清楚了网卡驱动程序要实现的功能,即通过控制硬件实现数据的传输,一方面让硬件将上层传递的数据包发            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-05 19:17:23
                            
                                471阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            linux的招牌就是它强大的网络功能,稳定,高效,能随着现实的日新月异而日趋完善。众所周知,linux的网卡由结构体net_device表示,一 个该结构体对应一个可以调度的数据包发送队列,注意,这里不谈数据包接收,数据包的实体在内核中以结构体sk_buff表示,这样的话,上述文字就可以用 以下图示来表示:       所谓的网卡对发送数据包的调度指的是多个数据包共享一个网卡的规则,当然就要拥有一            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2010-02-09 21:11:00
                            
                                837阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                       这几天在调试有关网卡驱动的东西,有很多地方不清楚。有关网卡驱动部分主要有两个很重要的结构体:struct net_device 和struct sk_buff。 驱动大部分都是围绕这两个东西进行操作的,包括加协议头尾,去头去尾等。为了搞清楚协议栈如何处理数据包,周末闲来无事就看看内核代码去了解下这部分东西,并做了简要记录:/* *sk_buff->h		:传...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-05-20 11:59:49
                            
                                878阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            原文网址:://blog.chinaunix.net/uid-29589379-id-4708.html一,内核移植步骤:1,修改顶层目录下的MakefileARCH?=$(SUBARCH)CROSS_COMPILE?=$(CONFIG_CROSS_COMPILE:"%"=%)修改为:...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-06-06 11:10:00
                            
                                253阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            一般来说,Linux核心已经实现了OSI参考模型的网络层及更上层部分。网络层的实现依赖于数据链路层的有效工作。网卡的驱动程序就是数据链路层与物理层的接口。通过调用驱动程序的发送例程向物理端口发送数据,调用驱动程序的接收例程从物理端口接收数据。 1.网卡驱动程序 简单地说,要将你手中的网卡利用起来,你唯一要做的是得到这块网卡的驱动程序。驱动程序提供了面向操作系统核心的接口和面向物理层的接口。 驱动            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-23 12:02:03
                            
                                213阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            NE2000以太网卡的基础上进行的。
只要看懂一块网卡的驱动,那么其他网卡的驱动是类似的,模块的划分也是一致的,只是具体的函数和芯片的操作有区别。
文档中红色的标注都是重点。
自己看代码的时候避免依赖于硬件和芯片的代码,而对整个网络设备管理机制的学习,并关注一般网络设备所共有的东西。            
                
                    
                        
                                                            
                                                                        
                                                                推荐
                                                                                        原创
                                                                                    
                            2008-03-05 00:40:01
                            
                                5585阅读
                            
                                                                                    
                                6评论
                            
                                                 
                 
                
                             
         
            
            
            
            如何安装Linux网卡驱动呢,看看下面的说明。适用机型:所有xSeries 205; 所有xSeries 206; 所有xSeries 225; 所有xSeries 226; 所有x            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-04-23 09:15:27
                            
                                564阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在Linux操作系统中,网卡驱动是非常重要的一部分。它负责与网卡进行通信,使得计算机能够连接到网络并进行数据传输。然而,在Linux系统中,由于各种原因,有时候可能会出现网卡驱动不兼容或者无法识别的情况,这就需要我们手动安装网卡驱动来解决问题。
对于大多数常见的网卡品牌和型号, Linux操作系统通常会自带其驱动程序,并且能够自动识别和加载。但是,对于一些较为老旧或者较为特殊的网卡,可能就需要我            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-06 11:33:36
                            
                                180阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Linux系统中,网卡驱动一直是用户关注的一个重要问题。在Linux系统中,网卡驱动的稳定性和兼容性直接影响着网络连接的质量和稳定性。而红帽作为一家知名的Linux发行版,也时刻关注着网卡驱动的更新和优化,为用户提供更好的网络体验。
红帽公司专门成立了一个团队,专门负责Linux系统中网卡驱动的维护与更新工作。他们定期检查和测试各种网卡驱动的稳定性和性能,确保用户可以顺利地连接网络并享受到高速稳            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-02-27 10:27:19
                            
                                138阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Linux操作系统是一个基于开源内核的操作系统,其内核的主要功能是管理应用程序与计算机硬件之间的通信。而内核模块则是内核的一个重要组成部分,负责对硬件进行输入输出控制,从而实现操作系统与硬件设备之间的交互。
在Linux系统中,驱动是内核模块的一种,用于控制与硬件相关的操作。Linux内核中的驱动程序负责管理设备的输入输出,以及资源的分配与释放,保证计算机系统的正常运作。Linux内核支持大量的            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-02-22 10:40:16
                            
                                115阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            //Linux 内核编译,解决网卡驱动缺少的问题,使用更新的内核来完善驱动
准备工作
整理出系统硬件、文件系统类型、网络协议
uname -r //查看系统版本号,如果系统与编译的内核一样,需要将/lib/modules 下内容备份
因为将来make modules-install步骤会覆盖整个路径下的内容
{下载linux内核,地址为:http://www.kernel.org/pub            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2012-09-28 03:32:50
                            
                                3025阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.原始问题
    在数据链路层通信,需要加上源mac和目的mac地址,那么app发出一个包之后,这个mac地址是哪个功能部件加上去的呢?
可选的答案有3个:
内核协议栈
网卡驱动
网卡上的固件程序
    一个通信过程就涉及到这三者的配合,那么这个问题就涉及到这三者是如何分工的。
2.三者如何分工
2.1 分工表格
    为了快速建立整体概念,下表清晰地展示了这三个层级在MAC地址处理中            
                
         
            
            
            
            配置双网卡的目的:==========================1、你想做路由器,网关2、实现冗余3、负载均衡    linux 主机安装双网卡,共享一个IP地址,对外提供访问,实际 同样 连接两条物理线路到交换机    实现平时 双网卡同时工作,分流网络压力,同时提供冗余备份,监控,防止物理线路的单点故障。              
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-29 08:34:29
                            
                                105阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            2.1 Linux操作系统Linux操作系统由系统的启动、进程调度、虚拟内存管理器、文件系统、设备驱动程序等多个组成2.2Linux内核设备驱动程序中使用的函数也用在内核上,并且影响着内核,因此离开内核就无法制作设备驱动程序。2.2.1 Linux的历史省略2.2.2linux内核的功能内核是有效管理系统资源的资源管理者处理器管理     通过管理处理器,使            
                
         
            
            
            
            1 WinCE网络介绍      在WinCE中,网络架构和windows系统差不多。通过NDIS,WinCE系统和网卡及网络协议进行交互。NDIS提供了一个完全的网络驱动的抽象层,目前WinCE支持NDIS5.1,其中包括对RNDIS,NDISWAN,Token Ring等的支持。在WinCE中,整个网络架构体系如图:  &n            
                
         
            
            
            
            一、网卡驱动架构  由上到下层次依次为:应用程序→系统调用接口→协议无关接口→网络协议栈→设备无关接口→设备驱动。二、重要数据结构  1、Linux内核中每一个网卡由一个net_device结构来描述。  2、网卡操作函数集:net_device_ops,这个数据结构是上面net_device的一个成员。  3、网络数据包:sk_buff。三、网卡驱动代码分析  所用文件为cs89x0.c,主要分            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-12 21:34:46
                            
                                285阅读