首页
›
Linux内核与驱动
›
071-USB Gadget驱动开发
›
《USB Gadget驱动调试技巧与枚举失败问题定位》
VIP10
本课程属于:071-USB Gadget驱动开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
USB Gadget驱动调试技巧与枚举失败问题定位
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
USB Gadget概述
USB Gadget框架介绍 · Gadget与Host的区别 · 常见Gadget功能(U盘
USB
Gadget
02
Linux内核USB Gadget驱动架构
UDC层 · Gadget层 · Function层
Linux
USB
03
开发环境搭建
内核配置(CONFIG_USB_GA… · 编译Gadget驱动模块 · 目标板与主机连接方式
开发环境搭建
CONFIG
04
ConfigFS基础
挂载ConfigFS · 创建Gadget目录 · 配置UDC
ConfigFS
挂载
05
创建第一个Gadget(Serial)
使用g_serial模块 · 配置CDC ACM · 主机端识别ttyACM设备
Gadget
Serial
06
创建Mass Storage Gadget
使用g_mass_storage模块 · 配置LUN · 使用文件作为存储后端
Mass
Storage
07
创建Ethernet Gadget
使用g_ether模块 · 配置ECM/RNDIS · 主机端网络配置
Ethernet
Gadget
08
创建复合Gadget
同时支持串口+网卡+存储 · Function的绑定顺序与接口号
Gadget
创建复合
09
USB枚举过程详解
主机发送GET_DESCRIPTOR · 设备描述符 · 配置描述符
USB
枚举过程详解
10
USB描述符与Gadget配置
设备描述符(VID/PID) · 配置描述符(bMaxPower) · 字符串描述符
USB
Gadget
11
端点配置与调试
端点方向(IN/OUT) · 端点类型(Bulk/Iso/Int/… · 端点号与FIFO
端点配置
调试
12
USB Gadget调试工具链
lsusb · usbmon · Wireshark抓包
USB
Gadget
13
使用usbmon抓取USB枚举包
启用usbmon · tcpdump抓取USB流量 · Wireshark分析枚举失败
usbmon
USB
14
常见枚举失败现象1
设备不被识别(Unknown Dev… · VID/PID为0 · 描述符请求超时
常见枚举失败现象…
Unknown
15
常见枚举失败现象2
配置描述符请求失败 · bMaxPacketSize0错误 · 端点描述符错误
常见枚举失败现象…
配置描述符请求失…
16
常见枚举失败现象3
字符串描述符返回错误 · 语言ID不支持 · 字符串长度超限
常见枚举失败现象…
字符串描述符返回…
17
常见枚举失败现象4
USB复位后无响应 · D+ D-电平异常 · 上拉电阻配置错误
常见枚举失败现象…
USB
18
UDC驱动问题排查
UDC未注册 · UDC中断未触发 · DMA缓冲区对齐问题
UDC
驱动问题排查
19
Function驱动问题排查
Function bind失败 · start/stop回调未调用 · 数据传输卡死
Function
驱动问题排查
20
电源与信号完整性
VBUS检测 · DP/DM信号质量 · USB线缆长度与阻抗匹配
电源
信号完整性
21
使用内核调试选项
CONFIG_USB_GADGET_… · 动态调试pr_debug
使用内核调试选项
CONFIG
22
使用ftrace跟踪Gadget函数调用
设置ftrace · 跟踪udc_irq · gadget_ep_queue等关键…
ftrace
Gadget
23
模拟枚举失败场景
故意设置错误描述符 · 修改VID/PID · 断开D+上拉电阻
模拟枚举失败场景
故意设置错误描述…
24
USB协议分析仪与逻辑分析仪
使用Saleae Logic分析US… · 解码SOF/令牌包
USB
协议分析仪
25
Windows主机枚举失败特殊问题
Windows需要字符串描述符 · INF驱动签名 · RNDIS驱动安装
Windows
主机枚举失败特殊…
26
MacOS/Linux主机枚举差异
MacOS对配置描述符要求严格 · Linux容忍度较高
MacOS/Linux
主机枚举差异
27
高速USB(USB 2.0)Gadget调试
Chirp握手 · 高速描述符 · Test Packet模式
USB
Gadget
28
USB 3.0 SuperSpeed Gadget注意事项
SS端点伴侣描述符 · SS链路训练 · LFPS信号
USB
SuperSpeed
29
实战案例1
U盘Gadget枚举失败——从dme…
实战案例1
Gadget
30
实战案例2
RNDIS网卡Gadget在Wind…
实战案例2
RNDIS
所属VIP或分类
同VIP:ConfigFS创建USB-Gadget设备失败故障排查
同VIP:ConfigFS配置复合USB-Gadget设备全流程
同VIP:Linux-USB-Gadget驱动从入门到工程部署