USB OTG
2025-11-26
USB On-The-Go通常缩写为USB OTG,是USB 2.0规格的补充标准。它可使USB设备,例如播放器或手机,从USB周边设备变为USB主机,与其他USB设备连接通信。在正常情况下,这些支持OTG的USB设备和USB主机(如台式机或者笔记本电脑),仍然作为USB周边设备使用。
支持OTG的设备,如USB打印机,可以不连接电脑的情况下直接接入U盘来读取设备内文件进行打印;或平板电脑可以直接接入USB存储碟、键盘或鼠标来扩充外界硬件功能。
硬件接口

功能使用
设置 USB 工作模式
利用 qusb 命令设置 USB 工作模式,qusb 支持的参数如下:
init 初始化 USB 配置(挂载 configfs,创建设备节点,加载默认 PID)
bind 绑定 USB 设备到配置(激活当前配置)
unbind 解绑 USB 设备(停止当前配置)
setpid <PID> 切换到指定 PID 的 USB 组合模式(如 setpid 901D 启用 DIAG+ADB)
setpid -p <PID> 设置 PID 为默认模式(持久化到 /etc/usb/usb_pid,重启后生效
showpid 显示所有支持的 PID 及其对应功能组合
persist <PID> 仅持久化 PID(不立即切换)
USB 口模拟网卡
- 查看 usb 支持的所有功能:
root@qcm6490-idp:/# qusb showpid A4A1: NCM 4EE7: ADB 900E: DIAG 901C: DIAG,UAC2 901D: DIAG,ADB 9015: MASS_STORAGE,ADB 9024: RNDIS,ADB 902A: RNDIS,MASS_STORAGE 902B: RNDIS,ADB,MASS_STORAGE 902C: RNDIS,DIAG 902D: RNDIS,DIAG,ADB 902F: RNDIS,DIAG,MASS_STORAGE 908C: NCM,ADB 90CA: DIAG,UAC2,ADB 90CB: DIAG,UVC,ADB 90CC: DIAG,UAC2,UVC,ADB 90DF: DIAG,UVC 90E0: DIAG,UAC2,UVC 9135: DIAG,QDSS,ADB 9136: DIAG,QDSS F000: MASS_STORAGE F00E: RNDIS - 切换 USB 模式:
qusb setpid 908C# 启用 NCM+ADB,此时中设备的 shell 里执行ifconfig -a可以查看到 usb0 接口 - 将板卡的 Type-C 口与 PC 的 USB 口连接[PC 的系统是 linux]
- 为板卡的 usb0 接口设置 IP 地址:
ip addr add dev usb0 192.168.0.5/24 - 为 PC 上新识别出来的 USB 网卡设置地址:
ip addr add dev enp0s20f0u13 192.168.0.6/24#这里的 enp0s20f0u13 需要根据实际情况进行修改 - 测试网络:在 PC 的 SHELL 中执行
ping 192.168.0.5#可以观察到能程序 ping 通目的地址