USB
USB interface usage
Connecting USB Devices
Insert the USB device (such as USB flash drive, mouse, keyboard, etc.) into the USB port of the development board. The system will automatically identify the device and load the corresponding driver.
View connected USB devices
Use the following command to view currently connected USB devices:
root@linaro-alip:/# lsusb
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 002: ID 046d:c077 Logitech, Inc. Mouse
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
As shown above, you can see that the mouse has been recognized
Mounting USB storage device
If a USB storage device (such as a USB flash drive) is connected, you can mount it by following the steps below:
1. View the device node:
root@linaro-alip:/# fdisk -l
...
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 122879966 122877919 58.6G c W95 FAT32 (LBA)
2. Create a mount point and mount the device:
mkdir /mnt/usb
mount /dev/sda1 /mnt/usb
3. View the mounting results:
root@linaro-alip:/# df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sda1 59G 768K 59G 1% /mnt/usb
4. Uninstall the device:
umount /mnt/usb
Using USB OTG function
The USB 3.0 OTG interface of RK3568 supports device mode (such as USB disk mode) and host mode.
- Device Mode
Configure OTG as device mode:
echo peripheral > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode
Connect the development board to the PC, and the PC will recognize the development board as a USB device.
- Host Mode
Configure OTG as host mode:
echo host > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode
Connect the USB device to the OTG port, and the development board will recognize the USB device.
USB transfer rate
- Confirm the USB storage device through lsblk to confirm the USB storage device
root@linaro-alip:/# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 58.6G 0 disk
mmcblk0 179:0 0 28.9G 0 disk
├─mmcblk0p1 179:1 0 4M 0 part
├─mmcblk0p2 179:2 0 4M 0 part
├─mmcblk0p3 179:3 0 64M 0 part
├─mmcblk0p4 179:4 0 128M 0 part
├─mmcblk0p5 179:5 0 32M 0 part
├─mmcblk0p6 179:6 0 6G 0 part /
├─mmcblk0p7 179:7 0 128M 0 part /oem
└─mmcblk0p8 179:8 0 22.5G 0 part /userdata
mmcblk0boot0 179:32 0 4M 1 disk
mmcblk0boot1 179:64 0 4M 1 disk
zram0 254:0 0 0B 0 disk
As shown above, the USB storage device inserted into ROCK 3B is /dev/sda
- Reading test
root@linaro-alip:/# sudo dd if=/dev/sda of=/dev/null bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 3.34566 s, 31.3 MB/s
This command will read data from the USB device and write it to /dev/null to test the read speed. Here, the block size to be written is specified as 1M, and 100 blocks are specified to be read, so a total of 100 MB of data is read, and the read speed is 31.3 MB/s
- Write test
root@linaro-alip:/# sudo dd if=/dev/zero of=/dev/sda bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 6.96282 s, 15.1 MB/s
Here, the size of the block to be written is specified as 1M, 100 blocks are written, a total of 100M of data is written, and the write speed is 15.1 MB/s