Linux 查找 /sys/bus/usb/devices 对应串口文件

news/2026/1/21 22:54:30/文章来源:https://www.cnblogs.com/FBsharl/p/19514263

简短不看版本:

本篇文章在于如何通过 lsusb -t 查找到 /sys/bus/usb/devices 目录下对应的usb串口目录

/sys/bus/usb/devices 下目录命名规则为:Bus-Port:Config.Interface

因此,得到 Bus、Port 编号即可知道差不多。

 

正文

lsusb -t 得到以下内容

/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=vhci_hcd/8p, 480M
    |__ Port 001: Dev 028, If 0, Class=Vendor Specific Class, Driver=cp210x, 12M
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=vhci_hcd/8p, 5000M

ls /sys/bus/usb/devices 得到以下内容

1-0:1.0  1-1  1-1:1.0  2-0:1.0  usb1  usb2

其中哪一个是最匹配cp210x的?

 

回答:

根据你提供的输出,最匹配 cp210x 的是 1-1:1.0

以下是详细分析:

  1. lsusb -t 显示

    |__ Port 001: Dev 028, If 0, Class=Vendor Specific Class, Driver=cp210x, 12M
    • 这条信息表明:在 Bus 001(480M,即 USB 2.0)的 Port 001 上,有一个设备(Dev 028)的接口 0(If 0)使用的是 cp210x 驱动。

  2. ls /sys/bus/usb/devices 显示

    1-0:1.0  1-1  1-1:1.0  2-0:1.0  usb1  usb2
    • 我们需要找到与上面 lsusb -t 中描述的“Bus 001, Port 001”相对应的目录。

    • 命名规则Bus-Port:Config.Interface

    • “Bus 001, Port 001” 对应的是 1-1

    • 而 lsusb -t 显示的是该设备的 接口 0,它对应的目录就是 1-1:1.0(其中 1.0 表示配置 1,接口 0)。

因此,最直接对应 cp210x 设备接口的目录是 1-1:1.0

补充说明

  • 1-1 是该 USB 设备的设备级目录,包含了该设备的所有信息(如供应商ID、产品ID等)。

  • 1-1:1.0 是该设备第一个接口的目录,正是这个接口绑定了 cp210x 驱动。你可以通过以下命令验证:

    cat /sys/bus/usb/devices/1-1:1.0/interface
    # 可能会输出类似 "CP210x UART Bridge" 的内容

    或者查看驱动链接:

    ls -l /sys/bus/usb/devices/1-1:1.0/driver
    # 应该指向 /sys/bus/usb/drivers/cp210x

总结

  • 设备级路径/sys/bus/usb/devices/1-1

  • 接口级路径(最匹配 cp210x)/sys/bus/usb/devices/1-1:1.0

 
 

扩展:USB的设备级和接口级

很好的问题!这是理解 USB 设备结构的关键概念。让我用简单的方式解释:

类比:电脑主机和外设

想象一个 USB 集线器(就像电脑主机):

  • 设备级 = 整个电脑主机(包含所有组件)

  • 接口级 = 电脑上的各个接口(USB口、HDMI口、网口等)

具体到 USB 设备

1. 设备级(Device Level)

  • 代表整个物理设备(比如一个 USB 串口转换器、U盘、鼠标等)

  • 包含设备的基本信息

    • 供应商ID(Vendor ID)

    • 产品ID(Product ID)

    • 序列号

    • 设备描述

    • 电源管理信息

  • 在 sysfs 中的目录名通常是 Bus-Port 格式(如 1-1

  • 一个物理设备只有一个设备级目录

2. 接口级(Interface Level)

  • 代表设备的一个功能接口

  • 一个 USB 设备可以有多个接口(功能)

  • 每个接口:

    • 有自己独立的驱动程序

    • 提供特定的功能

    • 在 sysfs 中的目录名是 Bus-Port:Config.Interface 格式(如 1-1:1.0

以你的 cp210x 为例

物理设备:一个 USB 转串口芯片

  • 设备级(1-1

    • 包含:这是 Silicon Labs 的 CP210x 芯片,序列号是 xxx,需要 100mA 电流等

    • 路径:/sys/bus/usb/devices/1-1

  • 接口级(1-1:1.0

    • 这是设备的串口功能接口

    • 绑定了 cp210x 驱动程序

    • 路径:/sys/bus/usb/devices/1-1:1.0

    • 内容示例:

       
      interface      # 接口名称:"CP210x UART Bridge"
      driver -> ../../../../bus/usb/drivers/cp210x  # 指向驱动
      ttyUSB0        # 关联的串口设备

更复杂的例子:USB 网卡+读卡器二合一设备

假设一个 USB 设备同时提供:

  1. 以太网功能

  2. SD 读卡器功能

在系统中会显示为:

设备级:2-3(整个物理设备)
接口级:2-3:1.0 → 绑定 r8152 驱动(网卡功能)2-3:1.1 → 绑定 usb-storage 驱动(读卡器功能)

为什么这样设计?

  1. 灵活性:一个设备可以提供多种功能

  2. 驱动分离:不同功能可以使用最适合的驱动程序

  3. 资源管理:可以独立控制每个接口的电源、状态等

  4. 热插拔:可以单独处理每个接口的连接/断开

查看示例

你可以通过以下命令查看两者的区别:

# 查看设备级信息
ls -la /sys/bus/usb/devices/1-1/# 查看接口级信息
ls -la /sys/bus/usb/devices/1-1:1.0/# 查看设备的所有接口
ls -d /sys/bus/usb/devices/1-1:*
总结对比
特性 设备级 接口级
代表什么 整个物理设备 设备的一个功能
数量 每个设备1个 每个设备可有多个
驱动绑定 无(设备本身无驱动) 有(每个接口有独立驱动)
目录格式 Bus-Port(如 1-1 Bus-Port:Config.Interface(如 1-1:1.0
包含信息 设备身份信息(VID/PID)、电源管理等等 功能特定信息
示例路径 /sys/bus/usb/devices/1-1 /sys/bus/usb/devices/1-1:1.0
 
 
 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1196553.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv8改进 - 注意力机制 | CoTAttention (Contextual Transformer Attention) 上下文转换器注意力通过静态与动态上下文协同建模增强视觉表征

前言 本文介绍了上下文Transformer(CoT)块及其在YOLOv8中的结合应用。大多数现有设计未充分利用邻近键的上下文信息,为此提出CoT块。它先通过33卷积对输入键进行上下文编码得到静态表示,再与输入查询连接,经两个11卷积…

【大数据毕设源码分享】基于python+Hadoop+数据可视化的租房数据分析系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

C#/.NET/.NET Core技术前沿周刊 | 第 66 期(2026年1.12-1.18)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与…

实用指南:清楚易懂的红黑树讲解

实用指南:清楚易懂的红黑树讲解2026-01-21 22:48 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !import…

Java计算机毕设之基于springboot的元宇宙平台的房屋租赁管理系统基于springboot + vue房屋租赁管理系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

迈向意义共治的智能文明:一份关于AI时代新范式的框架性阐述

迈向意义共治的智能文明:一份关于AI时代新范式的框架性阐述 致读者: 本文旨在为关注人工智能、平台治理与未来文明形态的研究者与实践者,提供一份跨越哲学、技术与制度的综合性思考框架。它不追求提供即时可用的“答…

学习日记之狂神说Java

学习日记之狂神说Java标题 骄傲 骄傲 骄傲 骄傲 字体 Hello World! Hello World! Hello World! Hello World! 引用狂神说Java分割线图片超链接 抖音

Java计算机毕设之基于springboot的婚庆公司服务平台的设计与实现婚庆摄影(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java毕设项目:基于springboot的婚庆公司服务平台的设计与实现(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【性能测试】14_JMeter _JMeter测试报告

文章目录 一、聚合报告1.1 各项指标含义1.2 重点关心的性能指标1.3 导出聚合报告 二、生成html测试报告2.1 命令2.1.1 方法1:相对路径 (首选)2.1.2 方法2:绝对路径执行 三、查看html测试报告3.1 Dashboard(概览仪表盘)3.1.1 Test …

【毕业设计】基于springboot的实验设备借用平台的设计与实现 实验室设备租赁系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java毕设选题推荐:基于SpringBoot+Vue+MySQL 房屋租赁管理系统平台基于springboot的元宇宙平台的房屋租赁管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026必备!10个AI论文工具,助本科生轻松写论文!

2026必备!10个AI论文工具,助本科生轻松写论文! AI 工具如何改变论文写作的未来 在 2026 年,随着人工智能技术的不断成熟,AI 工具已经成为本科生撰写论文的重要助手。无论是初稿的生成、内容的润色,还是降…

【课程设计/毕业设计】基于springboot+vue的婚庆公司服务网站管理系统基于springboot的婚庆公司服务平台的设计与实现【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

K8s新手入门:从“Pod创建”到“服务暴露”,3个案例理解容器编排

一、案例1:单Pod部署(Nginx应用) 目标:用命令行创建并验证Pod 创建Pod bashkubectl run nginx-pod --imagenginx:1.14 --port80 注:镜像选择参考智优达Docker容器化部署指南,优先使用指定版本标签&#x…

【旋转式多线激光雷达】旋转式多线激光雷达工作原理

大多数常见的旋转式多线激光雷达(如16线、32线、64线雷达)并不是物理意义上的“完全同时”发射所有激光束。 原因和实际情况如下: 避免干扰和简化设计: 如果所有激光器(每条“线”对应一个或多个激光器)在同一瞬间发射高功率激光脉冲,它们产生的光束在空间中可能非常接…

ClickHouse在农业大数据分析中的创新应用

ClickHouse在农业大数据分析中的创新应用 关键词:ClickHouse、农业大数据、时序数据分析、实时聚合、智能农业 摘要:本文将带你走进「农业+大数据」的奇妙世界,揭秘为什么全球顶尖农场和农业科技公司选择ClickHouse作为核心数据分析引擎。我们会用「种草莓的王大爷」这样的生…

【毕业设计】基于springboot的婚庆公司服务平台的设计与实现(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

agentscope记忆模块使用和部署agent-memory-server记忆服务

参考资料https://doc.agentscope.io/zh_CN/tutorial/task_memory.htmlhttps://bai-lab.github.io/MemoryOS/docshttps://github.com/BAI-LAB/MemoryOShttps://docs.mem0.ai/open-source/python-quickstarthttps://redi…