Quectel Pi USB Gadget 功能切换

当前qusb指令支持的命令:

  • init 初始化USB配置(挂载configfs,创建设备节点,加载默认PID)
  • bind 绑定USB设备到配置(激活当前配置)unbind 解绑USB设备(停止当前配置)
  • setpid 切换到指定PID的USB组合模式(如setpid 901D启用DIAG+ADB)
  • setpid -p 设置PID为默认模式(持久化到/etc/usb/usb_pid,重启后生效
  • showpid 显示所有支持的PID及其对应功能组合
  • persist 仅持久化PID(不立即切换)

通过showpid 可以看到支持的所有功能:

root@qcm6490-idp:/# qusb showpid

A4A1: NCM4EE7: ADB900E: DIAG901C: DIAG,UAC2901D: DIAG,ADB9015: MASS_STORAGE,ADB9024: RNDIS,ADB902A: RNDIS,MASS_STORAGE902B: RNDIS,ADB,MASS_STORAGE902C: RNDIS,DIAG902D: RNDIS,DIAG,ADB902F: RNDIS,DIAG,MASS_STORAGE908C: NCM,ADB90CA: DIAG,UAC2,ADB90CB: DIAG,UVC,ADB90CC: DIAG,UAC2,UVC,ADB90DF: DIAG,UVC90E0: DIAG,UAC2,UVC9135: DIAG,QDSS,ADB9136: DIAG,QDSSF000: MASS_STORAGEF00E: RNDIS

使用示例:

查看可用配置:qusb showpid
切换USB模式:qusb setpid 901D # 启用DIAG+ADBqusb bind # 激活配置
设置默认模式:qusb setpid -p 9024 # 持久化RNDIS+ADB为默认模式

使用示例:

1、qusb setpid 908C #配置为NCM和ADB方式
2、将开发板的typec口接到另一台linux主机上
3、在Quectel pi debug口给usb0配置ip地址:ip addr add dev usb0 192.168.0.5/24
4、查看Quectel pi设置的iproot@qcm6490-idp:/# ip addr list dev usb03: usb0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 36:23:93:58:50:a1 brd ff:ff:ff:ff:ff:ffinet 192.168.0.5/24 scope global usb0valid_lft forever preferred_lft foreverinet 169.254.96.206/16 brd 169.254.255.255 scope global noprefixroute usb0valid_lft forever preferred_lft foreverinet6 fe80::b9cb:8849:fc46:e649/64 scope linkvalid_lft forever preferred_lft forever
5、在host侧主机设置对应usb口,一般是usb0(可dmesg查看),ip addr add dev usb0 192.168.0.8/245、查看host侧设置的ip
6、在Quectel pi 去ping主机ip:

ping 192.168.0.8root@qcm6490-idp:/# ping 192.168.0.8
PING 192.168.0.8 (192.168.0.8) 56(84) bytes of data.
64 bytes from 192.168.0.8: icmp_seq=1 ttl=64 time=2.18 ms
64 bytes from 192.168.0.8: icmp_seq=2 ttl=64 time=2.18 ms
64 bytes from 192.168.0.8: icmp_seq=3 ttl=64 time=2.21 ms