USB Host Testing

A USB Host refers to a system or hardware capable of controlling and managing USB devices. It is responsible for providing power, data transmission, and management functions for connected USB devices such as USB flash drives, keyboards, and mice. The following are some common functions and application scenarios of USB Hosts.

Insert example:

U Disk Mounting

When the USB flash drive is inserted into the USB Host of QuecPi Alpha, the system detects a USB flash drive and successfully initializes it as a storage device. View the log through "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
  • Confirm the device nodes
lsblk

The output message is as follows:

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]
  • Create a mount point
mkdir -p /mnt/usb
  • Mount the partition
mount /dev/sdg1 /mnt/usb
  • Verify the mount
df -h

The output message is as follows:

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
  • Access the U disk content
ls /mnt/usb
  • Unmount the U disk
umount /mnt/usb

USB Keyboard and Mouse

When the Logitech USB wireless receiver is plugged into the USB Host on the QuecPi Alpha, the keyboard and mouse can function normally. For detailed information, you can view the log using the command "dmesg -n 8", which shows the process of the Logitech USB wireless receiver (model 046D:C534, Logitech keyboard/mouse kits) being successfully recognized and initialized by the Linux system.

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