USB OTG¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
USB On-The-Go(USB OTG)是USB 2.0规格的补充标准,允许设备在USB外设模式与主机模式之间切换。Quectel Pi H1支持USB OTG功能,通过板载Type-C接口即可在主机模式下直接连接USB外设(如U盘、键盘、鼠标、网卡等),无需借助PC完成数据读取或控制操作。
本文档介绍如何通过USB OTG接口使用USB模拟网卡(RNDIS)功能,实现Quectel Pi H1与主机之间的网络连接及共享。
硬件接口¶
USB模拟网卡概述¶
USB模拟网卡(RNDIS)利用USB数据线在设备与主机之间建立一条虚拟以太网链路,无需额外的物理网卡即可实现网络通信。
Quectel Pi H1的USB OTG默认gadget配置已包含RNDIS网卡功能(同时绑定DIAG和ADB)。连接后,Quectel Pi H1侧会出现 usb0 网络接口。
建立连接后可用于:
远程登录(SSH)
文件传输(SCP / SFTP)
网络共享(主机共享网络给设备,或设备共享网络给主机)
调试服务访问
连接Linux主机¶
基本连接配置¶
使用数据线将Quectel Pi H1的 Type-C 口连接至Linux主机的 USB 口。
在Quectel Pi H1上确认 usb0 接口存在,并启用配置IP:
sudo ip link show usb0
sudo ip link set usb0 up
sudo ip addr add 192.168.0.5/24 dev usb0
sudo ip addr show usb0
在Linux端确认新增的USB RNDIS网卡名称(通常以 enx 开头),例如 enx2a8b155b2e00:
ip link
在Linux端为该网卡配置IP:
sudo ip link set enx2a8b155b2e00 up
sudo ip addr add 192.168.0.6/24 dev enx2a8b155b2e00
请将 enx2a8b155b2e00 替换为实际网卡名称。
测试连通性:
ping 192.168.0.5
收到正常响应即表示RNDIS网卡连接建立成功。
Linux共享网络给设备¶
当Linux主机已通过以太网或Wi-Fi连接互联网时,可将网络共享给Quectel Pi H1。
以下示例参数:
角色 |
接口 |
IP地址 |
|---|---|---|
Linux外网接口 |
enp11s0 |
— |
Linux USB RNDIS网卡 |
enx2a8b155b2e00 |
192.168.0.6 |
Quectel Pi H1 USB网卡 |
usb0 |
192.168.0.5 |
Linux端外网接口可通过 ip route get 8.8.8.8 查询,输出中的 dev 字段即为实际上网接口。
在Linux端开启IPv4转发:
sudo sysctl -w net.ipv4.ip_forward=1
在Linux端配置NAT转发:
sudo iptables -t nat -A POSTROUTING -o enp11s0 -j MASQUERADE
sudo iptables -A FORWARD -i enx2a8b155b2e00 -o enp11s0 -j ACCEPT
sudo iptables -A FORWARD -i enp11s0 -o enx2a8b155b2e00 -m state --state RELATED,ESTABLISHED -j ACCEPT
请将 enp11s0 和 enx2a8b155b2e00 替换为实际网卡名称。
在Quectel Pi H1上添加默认路由:
sudo ip route replace default via 192.168.0.6 dev usb0
在Quectel Pi H1上配置DNS:
sudo sh -c 'printf "nameserver 8.8.8.8\n" > /etc/resolv.conf'
在Quectel Pi H1上验证外网访问:
ping 8.8.8.8
ping www.quectel.com
若能 ping 通公网IP但无法解析域名,请检查DNS配置。
设备共享网络给Linux¶
当Quectel Pi H1已通过其他接口(如以太网、蜂窝网络)联网时,可将网络共享给Linux主机。
以下示例参数:
角色 |
接口 |
|---|---|
Quectel Pi H1上网接口 |
eth0 |
Quectel Pi H1 USB网卡 |
usb0 |
Linux USB RNDIS网卡 |
enx2a8b155b2e00 |
Quectel Pi H1实际上网接口可通过 ip route get 8.8.8.8 查询。
在Quectel Pi H1上开启IPv4转发:
sudo sysctl -w net.ipv4.ip_forward=1
在Quectel Pi H1上配置NAT转发:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i usb0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o usb0 -m state --state RELATED,ESTABLISHED -j ACCEPT
在Linux端将默认路由指向Quectel Pi H1:
sudo ip route replace default via 192.168.0.5 dev enx2a8b155b2e00
在Linux端验证外网访问:
ping 8.8.8.8
ping www.quectel.com
若Quectel Pi H1通过蜂窝网络或其他接口联网,请将 eth0 替换为实际上网接口。
连接Windows主机¶
基础连接配置¶
使用数据线将Quectel Pi H1的 Type-C 口连接至Windows主机的 USB 口。
在Quectel Pi H1上确认 usb0 接口存在,并启用配置IP:
sudo ip link show usb0
sudo ip link set usb0 up
sudo ip addr add 192.168.7.1/24 dev usb0
sudo ip addr show usb0
在Windows端确认新增的USB RNDIS网卡。
在设备管理器的网络适配器中可看到 Remote NDIS Compatible Device,在网络连接中会新增一个以太网连接。
在Windows端配置USB网卡IP。
打开网络设置,找到新增的未识别网络,手动将IP配置为与Quectel Pi H1同网段的地址(如 192.168.7.2),保存。
测试连通性:
ping 192.168.7.1
收到正常响应即表示RNDIS网卡连接建立成功。
Windows共享网络给设备¶
当Windows主机已通过以太网或Wi-Fi连接互联网时,可通过Internet连接共享(ICS)功能将网络共享给Quectel Pi H1。
打开网络连接页面:按 Win + R,输入 ncpa.cpl 后回车。
开启Internet连接共享:右键当前可访问互联网的网卡(如WLAN或以太网),选择 属性 → 共享 页签,勾选 允许其他网络用户通过此计算机的Internet连接来连接。
开启共享后,Windows通常会自动将USB RNDIS网卡地址设置为 192.168.137.1/24。
在Quectel Pi H1上重新配置 usb0 IP(需与Windows分配的网段匹配):
sudo ip addr flush dev usb0
sudo ip link set usb0 up
sudo ip addr add 192.168.137.2/24 dev usb0
sudo ip addr show usb0
在Quectel Pi H1上添加默认路由:
sudo ip route replace default via 192.168.137.1 dev usb0
在Quectel Pi H1上配置DNS:
sudo sh -c 'printf "nameserver 8.8.8.8\n" > /etc/resolv.conf'
在Quectel Pi H1上验证外网访问:
ping 8.8.8.8
ping www.quectel.com
若能 ping 通公网IP但无法解析域名,请检查DNS配置。若Windows未将USB RNDIS网卡设置为 192.168.137.1,请以实际显示的IP为准,并确保Quectel Pi H1的 usb0 与其处于同一网段。
设备共享网络给Windows¶
当Quectel Pi H1已通过其他接口联网时,可将网络共享给Windows主机。
Quectel Pi H1实际上网接口可通过 ip route get 8.8.8.8 查询。
在Quectel Pi H1上开启IPv4转发:
sudo sysctl -w net.ipv4.ip_forward=1
在Quectel Pi H1上配置NAT转发:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i usb0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o usb0 -m state --state RELATED,ESTABLISHED -j ACCEPT
若提示没有iptables,可通过apt安装:
sudo apt update sudo apt install iptables
在Windows端将网关设置为Quectel Pi H1的IP(如 *192.168.7.1*)。
```{image} images/image_QUrTbnuVVo4XG5xQ7BUctgFinyd.webp
:width: 1121px
:height: 605px
在Windows端验证外网访问(建议临时禁用其他网络连接以排除干扰):
ping 8.8.8.8
ping www.quectel.com
若Quectel Pi H1通过蜂窝网络或其他接口联网,请将 eth0 替换为实际上网接口。
常见问题排查¶
现象 |
排查方法 |
|---|---|
Quectel Pi H1无usb0接口 |
确认Type-C线缆支持数据传输;执行sudo qusb showpid检查USB组合模式是否包含RNDIS或NCM |
主机端未出现新网卡 |
重新插拔线缆后查看dmesg | tail -n 50或设备管理器(Windows),确认系统是否识别到USB Ethernet/RNDIS设备 |
能ping通公网IP但无法解析域名 |
检查/etc/resolv.conf或系统DNS配置是否正确 |
配置NAT后仍无法上网 |
确认默认路由指向对端USB网卡地址;执行iptables -t nat -L -n -v检查转发规则是否生效 |