usbutils工具的使用帮助
作为嵌入式系统开发中的常用工具,usbutils
是一套用于管理和调试USB设备的Linux命令行工具集。以下是其核心功能和使用方法的详细说明:
1. 工具组成
- 核心命令:
lsusb
:列出所有连接的USB设备及详细信息(默认安装)usb-devices
:以可读格式显示USB拓扑结构usbhid-dump
:捕获USB HID设备(如键盘、鼠标)的数据流lsusb.py
(部分发行版):Python脚本提供更友好输出
2. 安装方法
# Debian/Ubuntu
sudo apt install usbutils# RHEL/CentOS
sudo yum install usbutils# Arch Linux
sudo pacman -S usbutils
3. 核心工具详解
lsusb
-
基本用法:
lsusb # 列出所有USB设备(总线号、设备号、厂商ID) lsusb -v # 显示详细描述符(配置、接口、端点) lsusb -t # 以树状图显示USB拓扑 lsusb -d vid:pid # 过滤特定设备(如 lsusb -d 8086:0808)
-
输出解析:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub ^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 总线号 设备号 厂商ID:产品ID 设备描述
usb-devices
- 系统级拓扑分析:
usb-devices | less # 显示层级关系,包括驱动绑定状态
usbhid-dump
- HID设备调试:
sudo usbhid-dump -i 0 # 捕获接口0的原始报告(需sudo)
4. 实际应用场景
设备识别问题
# 插入设备后,快速确认是否被系统识别
lsusb | grep -i "Arduino"
驱动绑定检查
lsusb -v | grep -A 3 "iInterface" # 查看接口描述符
dmesg | grep usb # 结合内核日志分析
电源管理调试
lsusb -v | grep MaxPower # 检查设备功耗需求(mA)
5. 高级技巧
- 持久化设备命名:
udevadm info --name=/dev/bus/usb/002/001 # 通过udev规则固定设备路径
- USB协议分析:
sudo lsusb -v -d vid:pid > descriptor.txt # 保存描述符供后续分析
6. 常见问题解决
- 权限不足:
sudo chmod a+r /dev/bus/usb/*/* # 临时解决(不推荐) # 推荐方案:添加用户到plugdev组 sudo usermod -aG plugdev $USER
- 设备未出现:
- 检查内核模块:
lsmod | grep usb_storage
- 重置USB控制器:
echo 0 | sudo tee /sys/bus/usb/devices/usb*/authorized
- 检查内核模块:
7. 替代工具推荐
- Wireshark:USB流量抓包(需特定硬件支持)
- USBMon:内核级USB监控:
cat /sys/kernel/debug/usb/usbmon/0u
掌握这些工具能有效加速USB外设的驱动开发、兼容性测试和故障排查。建议结合man
手册(如man lsusb
)深入学习参数细节。
相关文章:
usbutils工具的使用帮助
作为嵌入式系统开发中的常用工具,usbutils 是一套用于管理和调试USB设备的Linux命令行工具集。以下是其核心功能和使用方法的详细说明: 1. 工具组成 核心命令: lsusb:列出所有连接的USB设备及详细信息(默认安装&#…...

vue2中使用jspdf插件实现页面自定义块pdf下载
pdf下载 实现pdf下载的环境安装jspdf插件在项目中使用 实现pdf下载的环境 项目需求案例背景,点击【pdf下载】按钮,弹出pdf下载弹窗,显示需要下载四个模块的下载进度,下载完成后,关闭弹窗即可! 项目使用的是…...

如何防止服务器被用于僵尸网络(Botnet)攻击 ?
防止服务器被用于僵尸网络(Botnet)攻击是关键的网络安全措施之一。僵尸网络是黑客利用大量被感染的计算机、服务器或物联网设备来发起攻击的网络。以下是关于如何防止服务器被用于僵尸网络攻击的技术文章: 防止服务器被用于僵尸网络ÿ…...

基于cornerstone3D的dicom影像浏览器 第二十九章 自定义菜单组件
文章目录 前言一、程序结构1. 菜单数据结构2. XMenu.vue3. XSubMenu.vue4. XSubMenuSlot.vue5. XMenuItem.vue 二、调用流程总结 前言 菜单用于组织程序功能,为用户提供导航。是用户与程序交互非常重要的接口。 开源组件库像Element Plus和Ant Design中都提供了功能…...

【Block总结】DBlock,结合膨胀空间注意模块(Di-SpAM)和频域模块Gated-FFN|即插即用|CVPR2025
论文信息 标题: DarkIR: Robust Low-Light Image Restoration 作者: Daniel Feijoo, Juan C. Benito, Alvaro Garcia, Marcos Conde 论文链接:https://arxiv.org/pdf/2412.13443 GitHub链接:https://github.com/cidautai/DarkIR 创新点 DarkIR提出了…...
【学习笔记】单例类模板
【学习笔记】单例类模板 一、单例类模板 以下为一个通用的单例模式框架,这种设计允许其他类通过继承Singleton模板类来轻松实现单例模式,而无需为每个类重复编写单例实现代码。 // 命名空间(Namespace) 和 模板(Tem…...
字符串加密(华为OD)
题目描述 给你一串未加密的字符串str,通过对字符串的每一个字母进行改变来实现加密,加密方式是在每一个字母str[i]偏移特定数组元素a[i]的量,数组a前三位已经赋值:a[0]=1,a[1]=2,a[2]=4。当i>=3时,数组元素a[i]=a[i-1]+a[i-2]+a[i-3]。例如:原文 abcde 加密后 bdgkr,…...

口罩佩戴检测算法AI智能分析网关V4工厂/工业等多场景守护公共卫生安全
一、引言 在公共卫生安全日益受到重视的当下,口罩佩戴成为预防病毒传播、保障人员健康的重要措施。为了高效、精准地实现对人员口罩佩戴情况的监测,AI智能分析网关V4口罩检测方案应运而生。该方案依托先进的人工智能技术与强大的硬件性能,…...

Double/Debiased Machine Learning
独立同步分布的观测数据 { W i ( Y i , D i , X i ) ∣ i ∈ { 1 , . . . , n } } \{W_i(Y_i,D_i,X_i)| i\in \{1,...,n\}\} {Wi(Yi,Di,Xi)∣i∈{1,...,n}},其中 Y i Y_i Yi表示结果变量, D i D_i Di表示因变量, X i X_i Xi表…...

HarmonyOS Next 弹窗系列教程(4)
HarmonyOS Next 弹窗系列教程(4) 介绍 本章主要介绍和用户点击关联更加密切的菜单控制(Menu) 和 气泡提示(Popup) 它们出现显示弹窗出现的位置都是在用户点击屏幕的位置相关 菜单控制(Menu&…...

【C】-递归
1、递归概念 递归(Recursion)是编程中一种重要的解决问题的方法,其核心思想是函数通过调用自身来解决规模更小的子问题,直到达到最小的、可以直接解决的基准情形(Base Case)。 核心:自己调用…...

飞马LiDAR500雷达数据预处理
0 引言 在使用飞马D2000无人机搭载LiDAR500进行作业完成后,需要对数据进行预处理,方便给内业人员开展点云分类等工作。在开始操作前,先了解一下使用的软硬件及整体流程。 0.1 外业测量设备 无人机:飞马D2000S激光模块ÿ…...
Kerberos面试内容整理-在 Linux/Windows 中的 Kerberos 实践
Windows 实践: 在Windows环境中,Kerberos 几乎是无形融合的。用户使用域账号登录计算机时,实际上就完成了Kerberos的AS认证并获取TGT;此后的资源访问(如共享文件夹、打印机、数据库等)都会自动使用Kerberos进行验证,而无需用户干预。Windows通过LSASS进程维护和缓存用户…...
在 Allegro PCB Editor 中取消(解除或删除)已创建的 **Module** 的操作指南
在 Allegro PCB Editor 中取消(解除或删除)已创建的 Module 有两种主要场景,操作也不同: 📌 场景一:仅想解除元件与 Module 的关联(保留元件位置和布线,但可独立编辑) …...
基于springboot的校园社团信息系统的设计与实现
其他源码获取可以看首页:代码老y 个人简介:专注于毕业设计项目定制开发:springbootvue系统,Java微信小程序,javaSSM系统等技术开发,并提供远程调试部署、代码讲解、文档指导、ppt制作等技术指导。源码获取&…...
nodejs里面的http模块介绍和使用
Node.js的http模块是构建在libuv库之上,以JavaScript接口形式暴露出来的核心模块之一,它允许开发者轻松地创建和管理HTTP服务器及客户端,进而实现网络应用的快速开发。此模块的设计理念围绕着事件驱动和非阻塞I/O模型,这些特性使N…...
mamba架构和transformer区别
Mamba 架构和 Transformer 架构存在多方面的区别,具体如下: 计算复杂度1 Transformer:自注意力机制的计算量会随着上下文长度的增加呈平方级增长,例如上下文增加 32 倍时,计算量可能增长 1000 倍,在处理长序…...

嵌入式鸿蒙开发环境搭建操作方法与实现
Linux环境搭建镜像下载链接: 链接:https://pan.baidu.com/s/1F2f8ED5V1KwLjyYzKVx2yQ 提取码:Leun vscode和Linux系统连接的详细过程1.下载Visual Studio Code...
在 Spring Boot 中使用 WebFilter:实现请求拦截、日志记录、跨域处理等通用逻辑!
💡 前言 在开发 Web 应用时,我们经常需要对所有请求进行统一处理,例如: 记录请求日志实现跨域(CORS)接口权限控制请求参数预处理防止 XSS 攻击 这些功能如果都写在每个 Controller 或 Service 里&#x…...
CSS预处理器:Sass与Less的语法和特性(含实际案例)
Sass(SCSS语法示例) 1. 变量:统一管理颜色 // 定义变量 $primary-color: #1a237e; $success-color: #4caf50; $font-size-base: 16px;// 实际应用 body {color: $primary-color;font-size: $font-size-base; }.button {background: $succes…...

QT常用控件(1)
控件是构成QT的基础元素,例如Qwidget也是一个控件,提供了一个‘空’的矩形,我们可以往里面添加内容和处理用户输入,例如:按钮(QpushButton),基础显示控件(Lableÿ…...

明基编程显示器终于有优惠了,程序员快来,错过等一年!
最近618的活动已经陆续开始了,好多人说这是买数码产品的好时候,作为一名资深程序员,我做了不少功课,决定给自己升级办公设备,入手明基 RD 系列的显示器,这是市面上首家专注于我们程序员痛点和需求的产品&am…...

【计算机网络】非阻塞IO——select实现多路转接
🔥个人主页🔥:孤寂大仙V 🌈收录专栏🌈:计算机网络 🌹往期回顾🌹:【计算机网络】NAT、代理服务器、内网穿透、内网打洞、局域网中交换机 🔖流水不争࿰…...
Figma 中构建 Master Control Panel (MCP) 的完整设计方案
以下是在 Figma 中构建 Master Control Panel (MCP) 的完整设计方案,专为设计系统管理而优化: 一、MCP 核心功能架构 #mermaid-svg-iZAnYxyYU4BtpeaE {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#merma…...
什么是权威解析服务器?权威解析服务器哪些作用?
域名系统(DNS)是互联网的核心基础设施之一,它将易于记忆的域名转换为计算机能够识别的IP地址。DNS服务器在这一过程中扮演着至关重要的角色,它们可以分为以下几种类型: 根DNS服务器 根DNS服务器位于DNS层级结构的最顶端…...

LeetCode--23.合并k个升序链表
解题思路: 1.获取信息: 给出了多个升序链表,要求合并成一个升序链表,返回首元结点 2.分析题目: 外面在21题的时候,讲了怎样合并两个升序链表为一个升序链表,不了解的,建议去看一下21…...
ComfyUI 工作流
目录 🧠 ComfyUI 是什么? ComfyUI 的特点 🔧 ComfyUI 工作流程(节点图) 📌 简单理解 如何安装? 🧠 ComfyUI 是什么? ComfyUI 是一个 Stable Diffusion 的图形化用户界面(GUI),专门用来生成图像。它通过 节点图(Node Graph)形式来让用户定义图像生成的每…...
使用glide 同步获取图片
在 Glide 中,可以使用asBitmap()方法来获取图片的Bitmap对象,进而同步地加载图片。以下是具体示例: String imageUrl "https://example.com/image.jpg"; Bitmap bitmap Glide.with(context).asBitmap().load(imageUrl).apply(ne…...

【推荐算法】NeuralCF:深度学习重构协同过滤的革命性突破
NeuralCF:深度学习重构协同过滤的革命性突破 一、算法背景知识:协同过滤的演进与局限1.1 协同过滤的发展历程1.2 传统矩阵分解的缺陷 二、算法理论/结构:NeuralCF架构设计2.1 基础NeuralCF结构2.2 双塔模型进阶结构2.3 模型实现流程对比 三、…...

负载均衡相关基本概念
负载均衡在系统架构设计中至关重要,其核心目标是合理分配负载,提升系统整体性能和可靠性。本文简要介绍了负载均衡的基本概念,包括四层和七层负载均衡、负载均衡的使用场景和实现方式、负载均衡的常用算法以及一些配置相关知识。 1、负载均衡…...