USB协议分析仪

article/2025/9/21 6:21:12

1 ULPI PHY passive sniffing mode
概念: non driving, no pull-up, no pull-down

Function Control.opMode = 1; // non-Driving
OTG Control.DpPulldown = 0; // no pull-down
OTG Control.DmPulldown = 0; // no pull-down
USB IO.ChargerPullupEnDP = 0; // no pull-up
USB IO.ChargerPullupEnDM = 0; // no pull-up

2 Beagle USB Analyzer
2.1 Beagle USB 12 Analyzer
在USB Host和Device之间的DP/DM上连接一个Fairchild USB1T11A,Fairchild USB1T11A连接到隔离器件ADUM1400后,隔离器件再连接到FPGA;FPGA通过CY7C68013A连接到PC。
Figure 2-1 Beagle USB 12 Analyzer

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvb3NlbnBpbg==,size_16,color_FFFFFF,t_70

2.2 Beagle USB 480 Analyzer
USB 2.0的协议分析仪有2个PHY,支持LS/FS的Fairchild USB1T11A,支持HS的USB3300(passive sniffing mode)。
Figure 2-2 Beagle USB 480 Analyzer

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvb3NlbnBpbg==,size_16,color_FFFFFF,t_70

2.3 Beagle USB 5000 v2 analyzer
有2块PCB,下层是模拟PCB,上层是数字PCB,数字PCB上包括FPGA和CYUSB3014 BZX,其中CYUSB3014 BZX负责上传数据到PC,该芯片在数字PCB上的位置靠近Target Host Port口。
It uses British standard plug.

2.4 URLs
Review: Total Phase Beagle USB 12 Analyzer
https://eleccelerator.com/review-total-phase-beagle-usb-12-analyzer/

Beagle USB 480
https://www.bunniestudios.com/blog/?p=4106

3 OpenVizsla
3.1 FPGA-based USB analyzer
在USB Host和Device之间的DP/DM上连接一个USB3343(passive sniffing mode),USB3343连接到FPGA;FPGA通过FIFO模式连接到FT2232H,FT2232H连接到PC。
Figure 3-1 OpenVizsla board

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvb3NlbnBpbg==,size_16,color_FFFFFF,t_70

3.2 URLs
Open Hardware FPGA-based USB analyzer
http://openvizsla.org/
https://github.com/openvizsla

USB 2.0 Bus/Protocol Analyzer Hardware/Software Comparison
http://www.summitsoftconsulting.com/UsbAnalyzers.htm

4 Teledyne LeCroy NRZI Waveform
Choose Packet - Right Click - Show Raw Bits

5 Windows软件抓包工具
5.1 Bus Hound

5.2 USBPcap
USBPcap - USB Packet capture for Windows
https://desowin.org/usbpcap/

6 Linux usbmon抓包
6.1 sniff原理
binary格式路径:/dev/usbmonX
text格式路径:/sys/kernel/debug/usb/usbmon

获得usbmon的主设备号:cat /proc/devices
创建binary节点:
mknod /dev/usbmon0 c $major 0
mknod /dev/usbmon1 c $major 1
mknod /dev/usbmon2 c $major 2

6.2 usbmon tcpdump
1)mount -t debugfs none_debugs /sys/kernel/debug
2)cat /sys/kernel/debug/usb/devices - 确定usb的总线号
3)tcpdump -D
4)tcpdump -i usbmon1 -s 128 -w /data/usb_sniff.pcap &
5)killall tcpdump
6)wireshark工具打开usb_sniff.pcap

Intel APL (Gen9, A39X0) 8-port MPH xHCI
usbmon1 - xHCI LS/FS/HS
usbmon2 - xHCI SS

6.3 Wireshark过滤规则
1)usb.src == "1.6.1" and usb.dst == "host" - 改到对应的USB bus_no.addr.ep_no
2)usb.src == host and ublox

6.4 USB协议URB解析Wireshark插件
usb_table = DissectorTable.get("usb.bulk")
usb_table:add(0xff, my_proto)
usb_table:add(0xffff, my_proto)

6.5 usbmon sysfs接口
cat /sys/kernel/debug/usb/usbmon/1u > /sdcard/1u_usbmon.txt
命令中1u表示Bus=01,通过命令获得cat /sys/kernel/debug/usb/devices

cd /sys/kernel/debug/usb/usbmon
反向查找,查找不包含"1:003:2"(总线号:设备地址:端点号)字符串的其它内容
cat 1u  |grep -v "1:003:2"
排除多个字符串:cat 1u  |grep -vE "1:003:2|1:004:1"

6.6 usbfs
echo 1 > /sys/module/usbcore/parameters/usbfs_snoop

7 Abbreviations
DSLogic:Dream Source Lab


http://chatgpt.dhexx.cn/article/q8GrSIAm.shtml

相关文章

usb协议栈概述

usb协议栈概述 usb协议栈的信息源头是www.usb.org usb协议栈的所有者是usb联盟。它有七个美国公司为它的成员 这些公司包括苹果,惠普,英特尔,微软,瑞萨科技,ST微电子,德州仪器 usb的版本发展 从1.0&#…

USB协议-描述符篇(一)

USB协议-描述符篇(一) 1.USB描述符简介2.USB标准描述符2.1 设备描述符2.2 配置描述符2.3 接口描述符2.4 端点描述符2.5 字符串描述符 3.特殊类描述符4.USB类定义5.USBDescriptorType 1.USB描述符简介 USB描述符,即使用描述符报告它们的属性。…

USB协议 - UVC标准协议规范(二)

USB协议-UVC标准协议规范(二) 1.概述2.UVC功能特征2.1 Video Interface Class2.2 Video Interface subclass and Protocol2.3 UVC功能拓扑2.3.1 Unit单元2.3.1.1 SU(选择器单元)2.3.1.2 PU(处理单元)2.3.1.3 EU(编码单元)2.3.1.4 …

USB 协议整理 五:USB概述及协议基础(四)

十一、USB 的四种传输类型 1、批量传输 详细内容见 《USB2.0标准协议》 8.5.2 Bulk Transactions 章节。 批量事务类型的特点是能够通过错误检测和重试来保证在主机和设备之间无错误地传递数据。批量事务使用由令牌、数据和握手数据包组成的三阶段事务,如图 8-30…

USB总线-USB协议简介(一)

1.简介 USB是通用串行总线(Universal Serial Bus)的缩写。在USB总线出现之前,计算机与键盘、鼠标、扫描仪、打印机都使用专用的接口连接,不同设备的接口不能互用,扩展性很差,每次插拔设备都要关闭计算机&a…

USB 协议整理 二:USB概述及协议基础(一)

一、USB 版本 二、USB是什么 USB是一种接口技术,真正的即插即用,英文全称是Universal Serial Bus,USB就是简写,中文叫通用串行总线。USB 的出现简化了个人计算机与外围设备的连接,增加了易用性。 USB 是主从模式。 …

强大的USB协议分析工具

2020年最后一天了,感谢大家一年来对我文章的支持,有你们的支持就是我强大的动力。 今天来给大家介绍一个USB 协议分析软件LeCroy USB Advisor,软件安装包下载连接如下: 链接:https://pan.baidu.com/s/12qBCOjuy4i8kr1M…

USB 充电协议

文章目录 锂电子电池电池的发展史锂电子电池充电过程充电物理公式充电器接口 USB协议慢充USB-IF BC1.2 快充QCOM QCOPPO VOOCUSB-IF PDMTK PE USB 充电市场 锂电子电池 电池的发展史 USB充电,都是充的 锂离子电池https://blog.csdn.net/u012719256/article/details/72627022 …

USB 协议分析(含基本协议和 USB 请求和设备枚举)

1. 物理特性 1.1 引脚 一条USB传输线分别由地线、电源线、D和D-四条线构成,D和D-是差分输入线,它使用的是3.3V的电压(与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500mA(可以在编程中设置)。 引脚标号信号名…

1.USB协议简介

最近学习usb相关的知识,一直感觉入不了门,看《linux那些事儿之我是usb》,对usb协议也不是很熟悉,没能坚持看下去,直到看了《圈圈教你玩usb》一书,把自己的兴趣立马提了起来,大牛圈圈用51单片机实…

USB协议基础篇

初次接触USB的同学,可能会被里面各种名词给搞晕,下面就来梳理一下这些知识,希望能帮助大家理解USB。 目录 一,从最常见的名词说起 1.1 什么是USB 1.2 USB协议版本 1.3 USB接口分类 1.4 PIPE 1.5 endpoint 1.6 管道通信方式…

USB协议简介

1.USB协议简介 https://blog.csdn.net/songze_lee/article/details/77658094 2017年08月28日 23:20:16 songze_lee 阅读数:22978 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/songze_lee/article/details/7…

USB协议详解

本博客整理自网络,仅供学习参考,如有侵权,联系删除。邮箱:rom100163.com 一个transfer(传输)由一个或多个transaction(事务)构成,一个transaction(事务)由一个或多个packet(包)构成,一个packet(包)由一个或…

简单说说USB协议(一)

目录 USB是什么 USB协议的传输结构 USB的电气特性 拓扑结构 编码方式 描述符 USB是什么 USB,通用串行总线,是一种计算机与外围设备进行数据交互的通信协议。 任何东西的出现都是有理可循的,在以前计算机刚兴起的时候,要连接…

USB协议介绍

目录 前言 1、概述 1.1 USB协议 1.2 USB充电协议 1.3 USB接口 1.3.1 type-a 1.3.2 Type-C 1.3.3 USB2.0/3.0/3.1/3.2速率 1.3.4 ULPI/UTMI 前言 开始整理USB相关基础概念,仅用于基础介绍、USB概念入门。更深入的内容请参考USB协议手册。部分图文来自参考文…

usb 传输协议

USB,是英文Universal Serial Bus(通用串行总线)、支持设备的即插即用和热插拔功能。在1994年底由英特尔、IBM、Microsoft等公司联合提出的,在此之前PC的接口杂乱,扩展能力差,热拔插不支持等。USB正是为了解…

USB协议(1)USB基础知识

USB(Universal Serial Bus)是通用串行总线的缩写,它是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数…

linux免费的内网穿透

参考:https://www.cpolar.com/blog/how-to-install-cpolar-under-android-termux-hyper-terminal 下载包:https://www.cpolar.com/download 由于我的linux版本是装在安卓手机上的Alpine linux,所以下载的是如下图版本 下载后使用xftp工具上传到服务器&…

钉钉内网穿透 免费内网穿透工具 让你的电脑成为web服务器

什么是内网穿透? 就是让你个人电脑内建立的网站,在外网可以访问,例如你的手机,其他电脑等。 例如你在电脑部署了一个web服务器,你在浏览器访问127.0.0.1可以打开这个网站,但是你用手机访问127.0.0.1却打不…

免费的内网穿透(钉钉)

1.简介 阿里钉钉提供的免费内网穿透,是基于ngrok 的,可以实现 Http 穿透,可以将我们本地服务暴露给外部访问,可以用作我们调试一些回调接口,或者共享一些文件。 优点:网速快,估计是台带宽为100…