USB host 测试

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