USB host 测试
2025-05-21
USB Host 是指能够控制和管理 USB 设备的系统或硬件,它负责为连接的 USB 设备(如U盘、键盘、鼠标等)提供电源、数据传输和管理功能。以下是一些常见的 USB Host 的功能和应用场景。
插入示例:
U 盘挂载
当 U 盘插入到 QuecPi Alpha 上的 USB Host 上时,系统检测到一个USB 闪存盘,并已成功初始化为存储设备。通过 dmesg -n 8 查看日志:
usb 1-1.2: new high-speed USB device number 7 using xhci-hcd
[ 806.667878][ T162] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[ 806.676812][ T162] scsi host1: usb-storage 1-1.2:1.0
[ 808.172742][ T162] scsi 1:0:0:0: Direct-Access USB Flash Disk 1100 PQ: 0 ANSI: 4
[ 808.189763][ T74] sd 1:0:0:0: [sdg] 15730688 512-byte logical blocks: (8.05 GB/7.50 GiB)
[ 808.200512][ T74] sd 1:0:0:0: [sdg] Write Protect is off
[ 808.207624][ T74] sd 1:0:0:0: [sdg] Mode Sense: 43 00 00 00
[ 808.216028][ T74] sd 1:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 808.244091][ T74] sdg: sdg1
- 确认设备节点
lsblk
输出信息如下:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 116.1G 0 disk
|-sda1 8:1 0 512M 0 part /boot
|-sda2 8:2 0 30M 0 part /var/persist
`-sda3 8:3 0 115.6G 0 part /var
/usr
/
/sysroot
sdb 8:16 0 8M 0 disk
|-sdb1 8:17 0 3.5M 0 part
|-sdb2 8:18 0 512K 0 part
`-sdb3 8:19 0 3.5M 0 part
sdc 8:32 0 8M 0 disk
|-sdc1 8:33 0 3.5M 0 part
|-sdc2 8:34 0 512K 0 part
`-sdc3 8:35 0 3.5M 0 part
sdd 8:48 0 32M 0 disk
|-sdd1 8:49 0 104K 0 part
|-sdd2 8:50 0 128K 0 part
|-sdd3 8:51 0 1M 0 part
|-sdd4 8:52 0 1M 0 part
`-sdd5 8:53 0 1M 0 part
sde 8:64 0 3G 0 disk
|-sde1 8:65 0 512K 0 part
|-sde2 8:66 0 64M 0 part
|-sde3 8:67 0 256K 0 part
|-sde4 8:68 0 2M 0 part
|-sde5 8:69 0 5M 0 part
|-sde6 8:70 0 4M 0 part
|-sde7 8:71 0 8M 0 part
|-sde8 8:72 0 4M 0 part
|-sde9 8:73 0 32M 0 part
|-sde10 8:74 0 128K 0 part
|-sde11 8:75 0 80K 0 part
|-sde12 8:76 0 2M 0 part
|-sde13 8:77 0 2M 0 part
|-sde14 8:78 0 128K 0 part
|-sde15 8:79 0 32K 0 part
|-sde16 259:0 0 1M 0 part
|-sde17 259:1 0 256K 0 part
|-sde18 259:2 0 512K 0 part
|-sde19 259:3 0 256K 0 part
|-sde20 259:4 0 64M 0 part
|-sde21 259:5 0 2M 0 part
|-sde22 259:6 0 5M 0 part
|-sde23 259:7 0 4M 0 part
|-sde24 259:8 0 8M 0 part
|-sde25 259:9 0 4M 0 part
|-sde26 259:10 0 32M 0 part
|-sde27 259:11 0 128K 0 part
|-sde28 259:12 0 80K 0 part
|-sde29 259:13 0 2M 0 part
|-sde30 259:14 0 2M 0 part
|-sde31 259:15 0 128K 0 part
|-sde32 259:16 0 32K 0 part
|-sde33 259:17 0 1M 0 part
|-sde34 259:18 0 256K 0 part
|-sde35 259:19 0 4K 0 part
|-sde36 259:20 0 4K 0 part
|-sde37 259:21 0 4K 0 part
|-sde38 259:22 0 16M 0 part
|-sde39 259:23 0 30M 0 part
|-sde40 259:24 0 1M 0 part
|-sde41 259:25 0 32.6M 0 part
|-sde42 259:26 0 4K 0 part
|-sde43 259:27 0 4K 0 part
|-sde44 259:28 0 1M 0 part
|-sde45 259:29 0 8M 0 part
|-sde46 259:30 0 40M 0 part
|-sde47 259:31 0 512M 0 part
|-sde48 259:32 0 28K 0 part
|-sde49 259:33 0 512K 0 part
|-sde50 259:34 0 1M 0 part
`-sde51 259:35 0 32.6M 0 part
sdf 8:80 0 32M 0 disk
|-sdf1 8:81 0 3M 0 part
|-sdf2 8:82 0 3M 0 part
|-sdf3 8:83 0 3M 0 part
`-sdf4 8:84 0 128K 0 part
sdg 8:96 1 7.5G 0 disk
`-sdg1 8:97 1 7.5G 0 part
zram0 253:0 0 5.3G 0 disk [SWAP]
- 创建挂载点
mkdir -p /mnt/usb
- 挂载分区
mount /dev/sdg1 /mnt/usb
- 验证挂载
df -h
输出信息如下:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 109G 3.3G 101G 4% /sysroot
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.6G 0 3.6G 0% /dev/shm
tmpfs 1.5G 19M 1.5G 2% /run
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
tmpfs 3.6G 20K 3.6G 1% /tmp
tmpfs 3.6G 0 3.6G 0% /var/volatile
/dev/sda1 511M 136M 376M 27% /boot
/dev/sda2 25M 44K 22M 1% /var/persist
tmpfs 737M 0 737M 0% /run/user/0
/dev/sdg1 7.5G 1.9G 5.7G 25% /var/rootdirs/mnt/usb
- 访问U盘内容
ls /mnt/usb
- 卸载U盘
umount /mnt/usb
键盘、鼠标
当 Logitech USB 无线接收器插入到 QuecPi Alpha 上的 USB Host 上时,键盘鼠标可以正常使用。具体细节可以通过 dmesg -n 8 查看日志,显示了一个 Logitech USB 无线接收器(型号 046D:C534,罗技键盘/鼠标套装)被 Linux 系统成功识别并初始化的过程。
usb 1-1.1: new full-speed USB device number 6 using xhci-hcd
[ 478.273171][ T1373] input: Logitech USB Receiver as /devices/platform/soc@0/8c00000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.1/1-1.1:1.0/0003:046D:C534.0003/input/input10
[ 478.350114][ T1373] hid-generic 0003:046D:C534.0003: input: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-xhci-hcd.0.auto-1.1/input0
[ 478.367447][ T1373] input: Logitech USB Receiver Mouse as /devices/platform/soc@0/8c00000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.1/1-1.1:1.1/0003:046D:C534.0004/input/input11
[ 478.383765][ T1373] input: Logitech USB Receiver Consumer Control as /devices/platform/soc@0/8c00000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.1/1-1.1:1.1/0003:046D:C534.0004/input/input12
[ 478.458989][ T1373] input: Logitech USB Receiver System Control as /devices/platform/soc@0/8c00000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.1/1-1.1:1.1/0003:046D:C534.0004/input/input13
[ 478.475639][ T1373] hid-generic 0003:046D:C534.0004: input,hiddev96: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-xhci-hcd.0.auto-1.1/input1