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