插件窝 干货文章 linux usb属于什么设备

linux usb属于什么设备

设备 USB 通过 查看 70    来源:    2025-04-30

在Linux系统中,USB设备属于总线设备,具体分类和识别方式如下:


1. 设备类型分类

  • 块设备(Block Device)
    如USB存储设备(U盘、移动硬盘),会被识别为/dev/sdX(如/dev/sdb1)。通过lsblkfdisk -l查看。
  • 字符设备(Character Device)
    如USB串口转换器(/dev/ttyUSB0)、USB键盘/鼠标等输入设备。
  • 网络设备(Network Interface)
    如USB网卡(ethXenpXsX),通过ifconfigip a查看。

2. 系统识别方式

  • 设备节点
    USB设备在/dev目录下生成对应的设备文件(如/dev/sdb/dev/ttyUSB0)。
  • sysfs虚拟文件系统
    设备信息映射在/sys/bus/usb/devices/目录下,包含设备ID、厂商信息等。
  • udev规则
    通过udev动态管理设备节点,规则文件位于/etc/udev/rules.d/

3. 相关命令

  • 查看连接的USB设备
    bash lsusb # 列出所有USB设备及厂商/产品ID dmesg | tail # 查看内核日志中的设备插拔记录 usb-devices # 显示详细的USB设备层级关系
  • 查看设备属性
    bash udevadm info --query=all --name=/dev/sdb1 # 查询指定设备的udev信息

4. 驱动与模块

  • 内核通过usbcore模块管理USB总线。
  • 特定设备驱动可能为usb-storage(存储)、usbhid(输入设备)等,通过lsmod查看已加载模块。

5. 特殊场景

  • USB转串口:依赖ftdi_siopl2303等驱动,生成/dev/ttyUSBX
  • 虚拟设备(如USB Gadget):通过configfs配置,模拟U盘、网卡等。

总结

Linux将USB设备归类为总线设备,具体类型由功能决定。通过sysfsudev和内核模块协同管理,用户可通过设备文件或工具链操作。遇到问题时,优先检查内核日志(dmesg)和驱动加载状态。