linux usbnet驱动

本文简要介绍了Linux中usbnet驱动的工作原理,包括在`usbnet_probe`和`usbnet_open`后,如何利用`netif_start_queue`允许上层调用设备的发送函数,将数据转化为URB通过USB网卡发送。同时提到了中断端点如何在链接状态变化时通过`intr_complete`更新网络状态。要深入了解,还需研究数据发送、接收的具体流程及以太网相关知识。
摘要由CSDN通过智能技术生成

工作中接触了USB转网口设备,通过USB口连接到电视盒子上,会被识别成一个网卡,遇到USB转网口无法获取IP的问题,学习和调试了这部分usb host端的usbnet驱动,进行一下总结。


USB host端的驱动,包括usb host controller(如xhci, ehci), usb core(负责usb设备插入识别,枚举,设备与驱动匹配), usb driver (具体某种USB设备的驱动,如鼠标,USB网卡,U盘)
本篇文章主要介绍USB网卡驱动,属于usb driver。
USB网卡驱动的代码目录在:/kernel/drivers/net/usb/
主要文件包括usbnet.c: 通用核心代码,每个usb网卡驱动都会用到
不同的USB网卡设备会有各自的.c驱动文件,如ax88179_178a.c,rtl8150.c等
每一个这种.c文件中,都会有一个usb_driver结构体,初始化了一些回调函数,如:
static struct usb_driver ax88179_178a_driver = {
.name = "ax88179_178a",
.id_table = products,
.probe =
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值