Ubuntu 串口设备 USB tty

2023-05-16

Ubuntu 串口设备 USB tty

  • 概述
  • USB
  • 查看详细信息

概述

研究Ubuntu下串口设备的连接,简单的讲就是看有没有连接上,至于使用后面再说。

USB

使用命令如下可以查看USB接口的信息, dmesg命令用于显示开机信息,开机信息也保存在/var/log目录中,名称为dmesg的文件里。。参考链接

robots@Robots-ubuntu1604:~$ dmesg|grep usb

使用戴尔有线键盘和一个单片机进行测试,当连接戴尔键盘时可以看到最后信息,

robots@Robots-ubuntu1604:~$ dmesg|grep usb
[ 5647.766886] usb 1-2: new low-speed USB device number 8 using xhci_hcd
[ 5647.922281] usb 1-2: New USB device found, idVendor=413c, idProduct=2113
[ 5647.922288] usb 1-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 5647.922292] usb 1-2: Product: Dell KB216 Wired Keyboard
[ 5647.926885] input: Dell KB216 Wired Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:413C:2113.0009/input/input33
[ 5647.987283] hid-generic 0003:413C:2113.0009: input,hidraw0: USB HID v1.11 Keyboard [Dell KB216 Wired Keyboard] on usb-0000:00:14.0-2/input0
[ 5647.992092] input: Dell KB216 Wired Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:413C:2113.000A/input/input34
[ 5648.051504] hid-generic 0003:413C:2113.000A: input,hidraw1: USB HID v1.11 Device [Dell KB216 Wired Keyboard] on usb-0000:00:14.0-2/input1

虽然信息很多,但是只需要关注几个关键点就能知道具体的信息,如下表示这个设备已经成功识别,并且是一个低速USB设备,编号8,具体点是Dell KB216 Wired Keyboard。

[ 5647.766886] usb 1-2: new low-speed USB device number 8 using xhci_hcd
[ 5647.922281] usb 1-2: New USB device found, idVendor=413c, idProduct=2113
[ 5647.922288] usb 1-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 5647.922292] usb 1-2: Product: Dell KB216 Wired Keyboard

当使用单片机接入USB时,可以看到信息,都比较有用,全速USB设备,编号11,

[ 5811.809661] usb 1-2: new full-speed USB device number 11 using xhci_hcd
[ 5811.959355] usb 1-2: New USB device found, idVendor=1a86, idProduct=7523
[ 5811.959361] usb 1-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 5811.959366] usb 1-2: Product: USB2.0-Serial
[ 5811.960959] usb 1-2: ch341-uart converter now attached to ttyUSB0

注意,这表示这个设备已经连接到了ttyUSB0端口,ch341就是带数字签名的USB转UART串口驱动。

[ 5811.960959] usb 1-2: ch341-uart converter now attached to ttyUSB0

使用命令ls /dev/ttyUSB*可以看到,已经出现了设备ttyUSB0,对于USB设备也可以使用lsusb命令。接下来可以使用串口调试工具进行调试了。

robots@Robots-ubuntu1604:~$ ls /dev/ttyUSB*
/dev/ttyUSB0
robots@Robots-ubuntu1604:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 093a:2532 Pixart Imaging, Inc. 
Bus 001 Device 012: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 005: ID 8087:0aaa Intel Corp. 
Bus 001 Device 010: ID 413c:2113 Dell Computer Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

查看详细信息

使用udevadm info --attribute-walk --name=/dev/ttyUSB0命令可以实现对所有内容的查看,可以按照下面的属性设置rules文件。

$ udevadm info --attribute-walk --name=/dev/ttyUSB0

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.0/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.0/ttyUSB0':
    KERNELS=="ttyUSB0"
    SUBSYSTEMS=="usb-serial"
    DRIVERS=="ftdi_sio"
    ATTRS{latency_timer}=="16"
    ATTRS{port_number}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3/1-10.3:1.0':
    KERNELS=="1-10.3:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="ftdi_sio"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="ff"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="ff"
    ATTRS{bInterfaceSubClass}=="ff"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{interface}=="USB <-> Serial Cable"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.3':
    KERNELS=="1-10.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0600"
    ATTRS{bmAttributes}=="80"
    ATTRS{busnum}=="1"
    ATTRS{configuration}==""
    ATTRS{devnum}=="9"
    ATTRS{devpath}=="10.3"
    ATTRS{idProduct}=="6001"
    ATTRS{idVendor}=="0403"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="FTDI"
    ATTRS{maxchild}=="0"
    ATTRS{product}=="USB <-> Serial Cable"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="FT3VS8GV"
    ATTRS{speed}=="12"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="16"
    ATTRS{version}==" 2.00"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-10':
    KERNELS=="1-10"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceProtocol}=="02"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0101"
    ATTRS{bmAttributes}=="e0"
    ATTRS{busnum}=="1"
    ATTRS{configuration}==""
    ATTRS{devnum}=="3"
    ATTRS{devpath}=="10"
    ATTRS{idProduct}=="5411"
    ATTRS{idVendor}=="0bda"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Generic"
    ATTRS{maxchild}=="4"
    ATTRS{product}=="4-Port USB 2.1 Hub"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="fixed"
    ATTRS{rx_lanes}=="1"
    ATTRS{speed}=="480"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="137"
    ATTRS{version}==" 2.10"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0504"
    ATTRS{bmAttributes}=="e0"
    ATTRS{busnum}=="1"
    ATTRS{configuration}==""
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{idProduct}=="0002"
    ATTRS{idVendor}=="1d6b"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Linux 5.4.0-52-generic xhci-hcd"
    ATTRS{maxchild}=="12"
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="0000:00:14.0"
    ATTRS{speed}=="480"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="52"
    ATTRS{version}==" 2.00"

  looking at parent device '/devices/pci0000:00/0000:00:14.0':
    KERNELS=="0000:00:14.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="xhci_hcd"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0330"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{dbc}=="disabled"
    ATTRS{device}=="0x02ed"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{index}=="4"
    ATTRS{irq}=="126"
    ATTRS{label}=="Onboard - Other"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0x00"
    ATTRS{subsystem_device}=="0x7270"
    ATTRS{subsystem_vendor}=="0x8086"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu 串口设备 USB tty 的相关文章

随机推荐

  • 《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》课后习题答案(带解析)(七)

    声明 xff1a 此系列答案配套 计算机组成与系统结构 xff08 第二版 xff09 裘雪红 李伯成 西安电子科技大学出版社 一书相关内容 所有内容为博主个人编辑 xff0c 仅作参考学习交流之用 xff0c 转载请注明出处 如发现错误
  • 《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》课后习题答案(带解析)(八)

    声明 xff1a 此系列答案配套 计算机组成与系统结构 xff08 第二版 xff09 裘雪红 李伯成 西安电子科技大学出版社 一书相关内容 所有内容为博主个人编辑 xff0c 仅作参考学习交流之用 xff0c 转载请注明出处 如发现错误
  • Flink 核心编程(二) Source

    Flink框架可以从不同的来源获取数据 xff0c 将数据提交给框架进行处理 我们将获取数据的来源称之为数据源 Source 从java的集合中读取数据 一般情况下 xff0c 可以将数据临时存储到内存中 xff0c 形成特殊的数据结构后
  • 51单片机通过两个按键控制流水灯方向(中途也能改变方向)

    另一篇文章的进阶版本51单片机通过两个按键控制流水灯方向 wjdsg的博客 CSDN博客 include lt regx52 H gt include lt INTRINS H gt 延时函数 xff0c xms等于1 xff0c 此函数延
  • EZDML 使用教程

    概述 我们可借助EZDML这款数据库设计工具 xff0c 来辅助我们梳理复杂的业务表关系 1 xff09 下载地址 http www ezdml com download cn html 2 xff09 使用说明 xff08 1 xff09
  • Hue学习笔记

    第1章 HUE概述 1 1 来源 HUE 61 Hadoop User Experience Hadoop用户体验 xff0c 直白来说就一个开源的Apache Hadoop UI系统 xff0c 由Cloudera Desktop演化而来
  • Dolphinscheduler 学习笔记

    Dolphinscheduler官网 https dolphinscheduler apache org Dolphinscheduler下载地址 https www apache org dyn closer lua dolphinsch
  • DataX 学习笔记

    一 DataX简介 1 1 DataX概述 DataX 是阿里巴巴开源的一个异构数据源离线同步工具 xff0c 致力于实现包括关系型数据库 MySQL Oracle等 HDFS Hive ODPS HBase FTP等各种异构数据源之间稳定
  • linux查看整个机器内存使用情况

    1 free命令 参数介绍 xff1a total 内存总数 used 已经使用内存数 free 完全空闲内存 shared 多个进程共享的内存 buffers 用于块设备数据缓冲 xff0c 记录文件系统metadata xff08 目录
  • Docker 学习笔记

    第1章 docker简介 1 1 什么是docker 1 Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目 xff0c 它是基于 dotCloud 公司多年云服务技术的一次革新
  • TiDB 学习笔记

    第一章 TiDB概述 TiDB官网 https pingcap com index html TiDB可以理解为是MySQL的加强版 分布式MySQL MySQLPlus TiDB 简介 TiDB 是 PingCAP 公司设计的开源分布式
  • SeaTunnel 学习笔记

    第1章 Seatunnel概述 官网地址 xff1a https seatunnel apache org 文档地址 xff1a https interestinglab github io seatunnel docs 1 1 SeaTu
  • Snake-SLAM:VIO、解耦化优化、延迟建图、图优化、鲁棒性初始化

    本来想写一篇文章 xff0c 但是这篇已经写的很好了 xff0c 不再赘述 xff1a 一种解耦非线性优化的高效VI SLAM系统 Snake SLAM
  • PooledByteBuf分配及回收之六PooledUnsafeDirectByteBuf初始化

    PooledByteBufAllocator初始化 PoolThreadCache初始化 PoolAerna初始化 PoolChunk初始化 PoolSubpage初始化 PooledUnsafeDirectByteBuf初始化 分配微小型
  • CubeMx工程增加FreeRtos支持

    对于stm32一些ram和flash相对大一些的mcu xff0c 增加一个实时操作系统 xff0c 会使程序控制更加灵活 本文阐述一下通过CubeMx自动添加FreeRtos的方法 xff0c 和使用visualgdb加载CubeMx生成
  • 整理leetcode刷题过程中遇到的常用库函数(c++)

    整理leetcode刷题过程中遇到的常用库函数 xff08 c 43 43 xff09 如果有额外的了解需求 xff0c 可以在微软c 43 43 库函数进行了解 以下按照我理解的刷题顺序整理 xff1a 数组 数组是刷题的开始 xff0c
  • s5pv210开发与学习:1.3之SD卡学习

    目录 拓展阅读 SD卡 内存 RAM 与外存 ROM 的区别 RAM random access memory 随机访问存储器 特点是任意字节读写 随机访问 xff0c 掉电丢失 ROM read only memory 只读存储器 用于存
  • RT-Thread 开发者能力认证考试样题(RCEA)

    V1 0 RT Thread 开发者能力认证考试样题 RCEA xff09 注 xff1a 样题仅为部分题目 第一小卷 单选题 40 题 40 分钟 40 0 分 1 对两个字符 a 和 b 进行初始化 xff1a char a 61 34
  • Android开发中为什么有些变量会以m开头

    平常在看Android代码和看别人敲代码的时候经常看到有些变量会以m开头 xff0c 这到底是什么样的命名规则呢 xff1f 首先看官网的答案 xff1a Follow Field Naming Conventions Non public
  • Ubuntu 串口设备 USB tty

    Ubuntu 串口设备 USB tty 概述USB查看详细信息 概述 研究Ubuntu下串口设备的连接 xff0c 简单的讲就是看有没有连接上 xff0c 至于使用后面再说 USB 使用命令如下可以查看USB接口的信息 xff0c dmes