USB OTG 测试

利用 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(不立即切换)

利用 qusb 测试 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 口与 PCUSB 口连接[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 需要根据实际情况进行修改
  • 测试网络:在 PCSHELL 中执行 ping 192.168.0.5 #可以观察到能程序 ping 通目的地址