首页
学习
活动
专区
工具
TVP
发布

嵌入式Linux移植USB网卡驱动「建议收藏」

TL-WN725N 2.0 驱动版本:8188eu_USB_Linux 因为我们是要移植到ARM开发板上,所以首先我们需要更改驱动Makefile; CONFIG_PLATFORM_I386_PC...= /usr/src/linux-3.0.8 endif 其中KVER是你开发板linux版本,一般情况下跟我们电脑环境Linux版本是不一样,那么此时我们就需要把开发板上内核在电脑上编译一下(...zhaokeke@ubuntu:~/8188eu_USB_linux/driver/rtl8188eu$ make zhaokeke@ubuntu:~/8188eu_USB_linux/driver/...无线网卡wlan0,如何确定我们驱动安装是否正确呢?...网卡驱动移植结束,我在这只介绍了正确,其实中间还出现了很多问题,尤其是后面没有打开无线网卡,导致出现ADDRCONF(NETDEV_UP): wlan0: link is not ready错误。

6.7K30

Linux驱动开发: USB驱动开发

四、 linux内核下USB相关API函数与数据结构 前面介绍了USB相关一些基础概念与重要数据结构,接下来就分析在linux内核中如何编写一个USB 驱动程序,编写与一个USB设备驱动程序方法和其他总线驱动方式类似...USB_DEVICE_ID_MATCH_DEVICE --根据设备制造信息 struct usb_device_id结构体填充示例1—(摘自DM9620-USB网卡) static...urb(USB Request Block)Linux内核中USB驱动实现上一个数据结构,用于组织每一次USB设备驱动数据传输请求。...鼠标驱动(中断传输方式) 5.1 USB驱动注册框架代码 #include #include #include ...#include /* 本程序为USB鼠标驱动程序,要安装本驱动,需要先将内核自带USB驱动程序卸载掉 */ //定义USBIDTAB 24ae:2002 static

68.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

Linux驱动网卡驱动剖析

Linux 网络设备驱动架构 驱动架构自上而下分为4层: 协议接口层 设备接口层 设备驱动功能层 网络设备与媒介层 协议接口层 协议接口层主要功能是给上层协议提供接收和发送接口。...传递数据被描述为套接字缓冲区,用struct sk_buff结构描述,该结构体定义位于include/linux/skbuff.h中,用于在Linux网络子系统中各层之间传输数据,该结构在整个网络收发过程中贯穿始终...设备驱动功能层 类似于字符设备,struct net_device结构体也提供了一个操作函数集struct net_device_ops来描述对网卡各种操作。...源码分析 笔者基于是 S5PV210 DM9000 驱动,会大体上对 DM9000 驱动源码进行分析, 分析源码位于DM9000 源码 platform 框架分析 DM9000 驱动是基于 platform...ndo_poll_controller = dm9000_poll_controller, #endif }; dm9000 open 过程分析 当用户执行命令ifconfig eth0 up后会调用网卡驱动

54.8K20

Linux USB 设备驱动模型

Linux 内核源码:include\linux\usb.h Linux 内核源码:drivers\hid\usbhid\usbmouse.c 1....BUS/DEV/DRV 模型 "USB 接口"是逻辑上 USB 设备,编写 usb_driver 驱动程序,支持是"USB 接口": USB 控制器或 Hub 识别出 USB 设备后,会创建、...注册 usb_device usb_device 被"drivers\usb\core\generic.c" 驱动认领后,会选择、设置某个配置 这个配置下面的接口,都会分配、设置、注册一个 usb_interface...接口函数 在 USB 设备驱动程序中,能使用 USB 函数都在这个头文件里:include\linux\usb.h。...:这是一个同步函数,它会等待 URB 结束 usb_unlink_urb:这是一个异步函数,它不会等待 URB 结束,USB 控制器驱动会调用它回调函数 void usb_kill_urb(struct

37240

usb转rs485 linux驱动下载,USB转RS485串口驱动「建议收藏」

大家好,又见面了,我是你们朋友全栈君。 USB转RS485串口驱动是一款非常专业USB转RS485驱动安装程序。...这款软件适合WIN7/WIN XP/LINUX等系统,能够帮助用户一键解决USB无法转换成RS485问题,需要小伙伴可下载体验。 【安装方法】 1、在安装前可以先看看使用说明再安装。...将USB转换线插入电脑USB接口中,系统会提示检测到新设备并出现新硬件添加向导,选择从列表或指定位置安装,手动安装,找到刚刚驱动解压目录,让WINDOWS自动搜索更新驱动就OK了。...根据硬件添加向导一步步引导安装驱动 【支持系统】 Windows 8.1 Windows 8.1 x64 Windows 8 Windows 8 x64 Windows Server2012 Windows...Vista x64 Windows Server 2003 Windows Server 2003 x64 Windows XP Windows XP x64 Windows ME Windows 98 Linux

8.3K40

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

1.描述 网卡驱动其实很简单,它还是与硬件相关,主要是负责收发网络数据包,它将上层协议传递下来数据包以特定媒介访问控制方式进行发送, 并将接收到数据包传递给上层协议。...: 2.Linux系统对网络设备驱动定义了4个层次, 这4个层次有到下分为: 1)网络协议接口层: 实现统一数据包收发协议,该层主要负责调用dev_queue_xmit()函数发送数据, netif_rx...3.网卡驱动初始化 而我们网卡驱动程序,只需要编写网络设备接口层,填充net_device数据结构内容并将net_device注册入内核,设置硬件相关操作,使能中断处理等 3.1其中net_device...本节便开始来写一个简单虚拟网卡驱动,也就是说不需要硬件相关操作,所以就没有中断函数,我们通过linuxping命令来实现发包,然后在发包函数中伪造一个收ping包函数,实现能ping通任何ip地址...7.驱动具体代码如下: #include #include #include #include

10.1K101

19.Linux-USB总线驱动分析

如下图所示,以windows为例,我们插上一个没有USB设备驱动USB,就会提示你安装驱动程序 为什么一插上就有会提示信息?...是因为windows自带了USB总线驱动程序, USB总线驱动程序负责: 识别USB设备,给USB设备找到对应驱动程序 新接入USB设备默认地址(编号)是0,在未分配新编号前,PC主机使用0地址和它通信...然后USB总线驱动程序都会给它分配一个地址(编号) PC机想访问USB总线上某个USB设备时,发出命令都含有对应地址(编号) USB是一种主从结构。..., 比如:鼠标的数据是从鼠标传到PC机, 对应端点称为"中断输入端点" 其中端点0是设备默认控制端点, 既能输出也能输入,用于USB设备识别过程 同样linux内核也自带了USB总线驱动程序,框架如下...其中usb_bus_type是一个全局变量, 它和我们之前学platform平台总线相似,属于USB总线, 是Linux中bus一种.

8.4K91

Linux驱动开发: 编写USB接口光谱仪驱动

,不支持Linux使用,也没有完善资料,现在设备想在Linux系统下使用,要支持PClinux和嵌入式Linux设备,只能自己重新开发一个驱动再编写一个配套上位机(上位机是采用QT写)。...所有就在windows系统下使用USB抓包软件,分析光谱仪设备与windows下软件间通信数据包,对比命令手册,得到完整通讯流程,然后再对比编写了一个Linux系统下驱动。...windows下USB抓包软件推荐: Bus Hound 官方下载地址:http://perisoft.net/bushound/ USBlyzer 官网下载地址:http://www.usblyzer.com.../download.htm USBTrace 官网下载地址:http://www.sysnucleus.com/usbtrace_download.html 如果是Linux下想使用USB抓包可以用..._usb_dev_fops, }; //USB设备信息与驱动端匹配成功时候调用。

3.6K10

详解linux usb host驱动编写入门

大家如果打开kernel usb host目录,就会发现下面包含了ohci,uhci,ehci,xhci,whci等多种形式控制器驱动。...1、代码分布 drivers/usb目录下面,host目录包括了host驱动代码,core目录包含了主要api接口代码,而其他目录则主要是device驱动代码。...2、device驱动怎么看 device驱动大多数和上层协议有关,不涉及到具体寄存器读写。...示例代码可以参考usb-skeleton.c 3、host驱动怎么看 a,不妨以s3c2410host作为范例进行分析,首先找到Makefile, obj-$(CONFIG_USB_OHCI_HCD_S3C2410...但是,如果要深入了解usb host&device驱动,那么除了这些代码逻辑,那么还要熟读usb协议手册,更重要学会用catc协议分析仪真正地去了解usb是如何发包和收包

5.8K75

21.Linux-写USB键盘驱动(详解)

本节目的:     根据上节写USB鼠标驱动,来依葫芦画瓢写出键盘驱动 1.首先我们通过上节代码中修改,来打印下键盘驱动数据到底是怎样 先来回忆下,我们之前写鼠标驱动id_table是这样:...我们找到输入子系统(input.h)中按键A定义值,它对应却是30,看来不是直接调用 我们再来参考内核自带USB键盘驱动 (/drivers/hid/usbhid/usbkbd.c) 发现它中断函数中有个键盘描述码表...3.接下来再来仔细分析下内核自带USB键盘驱动usbkbd.c里中断函数: 代码如下: static void usb_kbd_irq(struct urb *urb) { struct...(full HID) support     //hid:人机交互USB驱动,比如鼠标,键盘等 然后make uImage 编译内核 将新键盘驱动模块放入nfs文件系统目录中 5.2然后烧写内核,...装载触摸屏驱动模块 如下图,当我们插上USB键盘时,可以看到该VID和PID,和电脑上键盘参数一样 ?

7K92

USB总线-Linux内核USB3.0设备控制器驱动框架分析(四)

最上层是Gadget Function驱动,代表了具体设备驱动,如大容量存储设备驱动(U盘、移动硬盘等)、通讯类设备驱动USB串口、USB虚拟网卡等)、UAC驱动USB麦克风、USB声卡等USB...2.Gadget Function驱动 Linux内核USB Gadget Function驱动都在drivers/usb/gadget/function/目录下,有通讯设备类(Communication...[include/linux/usb/composite.h] struct usb_composite_driver { const char *name; // 驱动名称 const...Linux 3.11版本引入了USB Gadget Configfs。在用户层可以通过暴漏出来API定义USB Gadget设备任意功能和配置,极大方便了USB复合设备配置和使用。...; bool vbus; // 对于不关心vbus状态udc,该值始终为true }; [include/linux/usb/gadget.h] struct usb_gadget {

9.1K20

USB总线-Linux内核USB3.0设备控制器之UDC驱动分析(六)

USB Function驱动通过调用这些接口匹配及访问USB设备控制器,而底层USB控制器驱动要实现这些接口定义功能。下面分析一下主要UDC驱动接口调用流程。 2....前者通过UDC设备名称匹配,通常是configfs配置USB Function驱动使用,后者直接匹配udc_list链表中第一个UDC驱动,通常是legacy类型USB Function驱动使用...使用usb_gadget_unregister_driver函数解除Function驱动和UDC驱动绑定。具体绑定过程,在分析具体Function驱动时说明。...[include/linux/usb/gadget.h] int usb_ep_enable(struct usb_ep *ep); usb_ep_enable函数工作流程如下图所示,和usb_gadget_udc_start...[include/linux/usb/gadget.h] // name为要匹配端点名称 struct usb_ep *gadget_find_ep_by_name( struct usb_gadget

8.2K20
领券