本来想移植DM9000网卡的驱动,无奈硬件出了点问题,通过杜邦线链接开发板和DM9000网卡模块,系统上电,还没加载网卡驱动就直接崩溃了,找不到原因...刚好手上有一个enc28j60的网卡模块,于是就着手移植enc28j60的驱动. 其实移植enc28j60的驱动也十分简单,网上有现成的,只需要分配一些硬件资源即可. 由于我的内核版本老到掉牙,没有自带enc28j60的驱动,只能在网上找一个: enc28j60.c http://git.ti.com/ti-linux-kernel/ti-li…
这里重要的是物理层PHY receiver,MAC(media access control)层,这里与软件中的协议栈不同,在硬件上MAC是PHY的下一层.DM9000A将MAC和PHY做到一起,也可以像IIS设备那样,SOC内有IIS的控制器,而声卡UDA1341放在片外.网卡当然也有这种设计,它是把PHY的下层MAC放入SOC内,片外的是PHY,当然我暂时还没见过这种的.DM9000A的输入是并行的总线,可以和CPU直接IO.而IIS那种需要通过:CPU CORE BUS->I2S控制器->…
花了一天的时间研究了一下Linux-2.6.30.4版本号内核下关于TQ2440 DM9000E的网卡驱动移植.总结一下自己的收获. 事实上.在Linux-2.6.30.4版本号内核下有关于网卡驱动,可是这个网卡驱动不是针对于 DM9000E.而是针对于 DM9000的. 因此要在此基础之上改动一些參数.而且打上必要的相关代码.这个网卡驱动移植是參照了"天嵌科技出品-Linux移植之Step By Step_V4.6"的文档.但就是这样.还是花费了将近一天的时间.事实上这里的难点在于:…
1. Linux网络体系结构由以下5部分组成 ① 系统调用接口: 位于Linux网络子系统的顶部,为应用程序提供访问内核网络子系统的方法,主要指socket系统调用. ② 协议无关接口: 实现一组基于socket的通用函数来访问不同的协议.(Linux中的socket使用sock结构来描述(定义于include/net/sock.h),该结构包含特定socket所需要的所有状态信息,还包含socket所使用的特定协议和在socket上可以执行的一些操作.) ③ 网络协议: 用于实现具体的网络协议…
移植完成声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍.介绍之前先感慨一下:TI的维护的内核真的很健壮,DTS真的很强大. 1. Nand驱动移植 阅读TQ335x的原理图可知,TQ335x的Nand连接到了GPMC上,且与DTS中默认的配置吻合,此处不做任何修改,详情如下: [cpp] view plaincopy nandflash_pins_s0: nan…
移植完毕声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍.介绍之前先感慨一下:TI的维护的内核真的非常健壮,DTS真的非常强大. 1. Nand驱动移植 阅读TQ335x的原理图可知,TQ335x的Nand连接到了GPMC上,且与DTS中默认的配置吻合,此处不做不论什么改动,详情例如以下: nandflash_pins_s0: nandflash_pins_s0…
Linux Charger IC 驱动移植总结 文章目录 Linux Charger IC 驱动移植总结 1 设备树的基本知识 设备树的概念 设备树的基本结构 compatible属性 举个栗子 2 电源管理 基本概念 C速率 开路电压(OCV) 电池极化 电池充电过程 涓流充电 恒流充电(CC) 恒压充电(CV) 充电终止 备注 总结 参考文献 通过这次移植ti的charger ic芯片到平台上,总结了以下一些内容,需要用到并且掌握的内容.在此之前我还没有尝试写过内核4.0以上的驱动,对于设备…
一  内核配置编译 1首先解压内核 tar jxvf linux-at91-4.1.tar.bz2: 2下载编译链 在ubuntu命令行中输入sudo apt-get install gcc-arm-linux-gnueabi export CROSS_COMPILE=arm-linux-gnueabi- 3 配置内核 我用的是sama5d3x板子平台 在arch/arm/configs/at91_dt_defconfig arch/arm/configs/sama5_defconfig 所以选…
网卡芯片的工作原理 DM9000AE具有以下主要性能: ①48管脚的LQFP封装,管脚少体积小: ②支持8/16位数据总线: ③适用于10Base-T和100Base-T,10/100M自适应,适应不同的网络速度要求 ④内置16KB的SRAM,用于收发缓冲,降低对主处理器的速度要求: ⑤支持IP /TCP /UDP加速,减轻了CPU负担,提高网络速度:⑥支持Back pressure半双工流量控制,与IEEE802.3u兼容,支持IEEE802.3x全双工流量控制: ⑦20ns响应时间,2.5V…
还是利用 mini2440移植uboot-2008.10 (一)  修改好的代码 通过观察可以发现,mini2400使用的网卡芯片是DM9000,在uboot-2008.10源码中已经支持该芯片的驱动(drivers/net/dm9000.c),但是并不完善 具体原理还不是很清楚,现在只是做一下移植步骤的记录 1.修改uboot配置文件(include/configs/mini2440.h) /* 54 * Hardware drivers 55 */ #if 0 #define CONFIG_…
学习应该是一个先把问题简单化,在把问题复杂化的过程.一开始就着手处理复杂的问题,难免让人有心惊胆颤,捉襟见肘的感觉.读Linux网卡驱动也是一 样.那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏便是理所当然的了.不要担心,事情总有解决的办法,先把一些我们管不着的代码切割出去,留下必 须的部分,把框架掌握了,哪其他的事情自然就水到渠成了,这是笔者的心得. 一般在使用的Linux网卡驱动代码动辄3000行左右,这个代码量以及它所表达出来的知识量无疑是庞大的,我们有没有办法缩短一下这个代码量,使…
目录 识别网卡 命令行参数 附加配置 技术支持 一.识别网卡e1000e驱动支持Intel所有的GbE PCIe网卡,除了82575,82576,基于82580系列的网卡.提示:Intel(R) PRO/1000 P Dual网卡是支持e1000,但不支持e1000e,因为82546部分支持PCIe. 更多信息关于怎么识别你的网卡,去官网的 Adapter & Driver ID Guide: http://support.intel.com/support/go/network/adapter…
[root@hudson ~]# yum install ethtool -y [root@hudson ~]# ethtool -i em1driver: bnx2version: 2.2.3firmware-version: 6.2.12 bc 5.2.3 NCSI 2.0.11bus-info: 0000:02:00.0supports-statistics: yessupports-test: yessupports-eeprom-access: yessupports-register…
将smsc7500网卡驱动拷贝到/drive/net/usb文件夹下 拷贝ioctl_7500.h  smsc7500usbnet.c smsc7500version.h smsclan7500.h  smsc7500usbnet.h smsclan7500.c到usb文件夹下, 打开Kconfig,找到95xx,进行相应的修改. 打开Makefile ,添加相应的.o文件 在make menuconfig里面把smsc7500选上 然后make…
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 网卡芯片:DM9621NP 交叉编译工具链: arm-none-linux-gnueabi…
1. 由于内核已经带有DM9000 网卡的驱动,所以主要移植工作是在板文件中添加 platform_device 结构,并加入 ok6410_devices[] __initdata 数组. 代码如下: /*DM9000*/ #define DM9000_IRQ_EINT0 IRQ_EINT(7) static struct resource ok6410_dm9000_resources_cs1[] = { [] = { .start= S3C64XX_VA_DM9000, .end = S3…
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708911.html 一,内核移植步骤: 1, 修改顶层目录下的Makefile ARCH            ?= $(SUBARCH) CROSS_COMPILE   ?= $(CONFIG_CROSS_COMPILE:"%"=%) 修改为: ARCH :=arm CROSS_COMPILE :=/usr/local/arm/4.4.3/bin/arm-linux- 2, 拷贝配置文…
1.概述 网卡驱动与硬件相关,主要负责收发网络的数据包,将上层协议传递下来的数据包以特定的媒介访问控制方式进行发送,并将接收到的数据包传递给上层协议. 网卡设备与字符设备,块设备不同,网络设备驱动程序不依赖与 /dev 或 /sys 来与用户空间通信,应用程序是通过网络接口(如作为第一个网络接口的eth0)与网卡驱动程序互相操作的. 网卡设备存放在 /sys/class/net 目录下 2.Linux 系统网络协议的处理框架 网络设备驱动的框架层次分为四层: 1)网络设备与媒介层: 用来负责完成…
由于我电脑的各种奇葩问题的存在,导致我装上Ubuntu13.10之后网卡居然无法使用,坚持了挺久使用无线网,终于坚持不住了,百度了各种解决方式,终于成功解决.这里也记录一下我的解决过程,供大家参考.大概有以下几种方式: 一.直接百度,Google “Linux下网卡驱动下载”,不过结果并不乐观...基本没有能用的东西. 二.去电脑的官网下载,有个用Dell的哥们貌似就是这么干的.可是当我登上大联想的官网,一查驱动发现全是for windows.于是呵呵,看来这两家还 是有不小的差距的啊... 三…
Linux下查看网卡驱动和版本信息 - CSDN博客 https://blog.csdn.net/guyan1101/article/details/72770424/ 检查网卡是否加载 - Linux服务器网卡驱动安装及故障排除_服务器应用_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2010-03/24728p2.htm 新装Linux系统没有网卡驱动的解决办法和步骤_LINUX_操作系统_脚本之家 https://www.jb51.…
前言最近,一台机器从FreeBSD换为CentOS,一路安装顺利.完事之后发现,网卡没有启用,dmesg | grep eth 命令确定网卡没有驱动导致的.于是开始了一路艰辛的安装过程. 安装过程1.先找驱动,主板是华擎的ConRoe945G-DVI,去了华擎的官网找到这块主板.伤心的发现其官网上并没有linux的网卡驱动下载.但是找到网卡是Realtek RTL8111B型号的.2.在Realtek的官网上找到了驱动,并下载之,进入网卡文件的目录执行(根据网卡的安装说明)命令:# make c…
dm9000的驱动分析 m9000_init platform_driver_register(); db); db); );  ; id_val ; id_val ; /* 获取芯片型号 */ id_val = ior(db, DM9000_CHIPR); ether_setup(ndev); /*设置操作方法*/ ndev->netdev_ops  = &dm9000_netdev_ops; /*注册网络设备*/ register_netdev(ndev);   //register_c…
我用的板子是sama5d3xek,原来板子内核是linux-at91-3.13,升级使用linux-at91-4.10 首先去官网下载一个linux—at91-4.10压缩包,然后在ubuntu里解压,进入源文件目录,我这里用的是arm板子所以更改Makefile 如下 vi Makefile 使的 ARCH ?= $(SUBARCH)  CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) 改为 ARCH ?= arm CROSS_COMPIL…
一. 引言 千兆以太网是一种具有高带宽和高响应的新网络技术,相关协议遵循IEEE 802.3规范标准.采用和10M以太网相似的帧格式.网络协议和布线系统,基于光纤和短距离同轴电缆的物理层介质,更适用于交换机.服务器等数据吞吐率大的设备.本文设计实现一种基于嵌入式Linux千兆以太网卡的驱动程序,并完成后续的测试工作和代码移植. 千兆以太网网卡工作在OSI网络架构的物理层和数据链路层,其中物理层由PHY芯片管理,数据链路层由千兆以太网控制器(GMAC)管理.硬件构架上,GMAC控制器由核心层.MT…
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  开发环境:…
这里是要把http://www.cnblogs.com/hackfun/p/6260396.html中的enc28j60网卡驱动模块,添加到2.6.22.6内核中,这个模块代码不需要任何修改.只需要在内核目录下的相关配置脚本文件,如Makefile,Kconfig,.config等,修改某些配置就行. enc28j60网卡驱动模块使用到的几个文件: enc28j60.c enc28j60_hw.h spi_bitbang.c spi_s3c24xx.c spi_platform_dev.c 实际…
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc vers…
回环网卡驱动 1.回环网卡和普通网卡的区别是他是虚拟的不是实际的物理网卡,它相当于把普通网卡的发送端和接收端短接在一起. 2.在内核源代码里的回环网卡程序(drivers/net/loopback.c)不是以一个模块的形式给出,但是他的初始化(loopback_net_init)和退出函数(loopback_dev_free)会被内核的其他部分调用到. 3.参照网卡初始化的流程图进行设计驱动程序,其中分配net_device结构不能用alloc_etherdev函数,因为该函数是分配以太网卡的结…
一.网卡驱动架构 由上到下层次依次为:应用程序→系统调用接口→协议无关接口→网络协议栈→设备无关接口→设备驱动. 二.重要数据结构 1.Linux内核中每一个网卡由一个net_device结构来描述. 2.网卡操作函数集:net_device_ops,这个数据结构是上面net_device的一个成员. 3.网络数据包:sk_buff. 三.网卡驱动代码分析 所用文件为cs89x0.c,主要分析三个部分:网卡初始化.发送数据.接收数据. ㈠网卡初始化 网卡驱动初始化主要在函数init_module…
由于工作的原因,对SPI的理解最为深刻,也和SPI最有感情了,之前工作都是基于OSEK操作系统上进行实现,也在US/OS3上实现过SPI驱动的实现和测试,但是都是基于基本的寄存器操作,没有一个系统软件架构的思想,感觉linux SPI驱动很强大,水很深,废话少说,SPI总线上有两类设备:一类是主机端,通常作为SOC系统的一个子模块出现,比如很多嵌入式MPU中都常常包含SPI模块.一类是从机被控端,例如一些SPI接口的Flash.传感器等等.主机端是SPI总线的控制者,通过使用SPI协议主动发起S…