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与主机之间的网络连接及共享。

硬件接口

../../../_images/image_SNaBbPs7RogwF6xwsr1ctz7QnTd.webp

USB模拟网卡概述

USB模拟网卡(RNDIS)利用USB数据线在设备与主机之间建立一条虚拟以太网链路,无需额外的物理网卡即可实现网络通信。

Quectel Pi H1的USB OTG默认gadget配置已包含RNDIS网卡功能(同时绑定DIAG和ADB)。连接后,Quectel Pi H1侧会出现 usb0 网络接口。

建立连接后可用于:

  • 远程登录(SSH)

  • 文件传输(SCP / SFTP)

  • 网络共享(主机共享网络给设备,或设备共享网络给主机)

  • 调试服务访问

连接Linux主机

基本连接配置

  1. 使用数据线将Quectel Pi H1的 Type-C 口连接至Linux主机的 USB 口。

  2. 在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
  1. 在Linux端确认新增的USB RNDIS网卡名称(通常以 enx 开头),例如 enx2a8b155b2e00

ip link
../../../_images/image_TXG4bc6JeowkAsxpwMScfToLnDf.webp
  1. 在Linux端为该网卡配置IP:

sudo ip link set enx2a8b155b2e00 up
sudo ip addr add 192.168.0.6/24 dev enx2a8b155b2e00
  1. 请将 enx2a8b155b2e00 替换为实际网卡名称。

  1. 测试连通性:

ping 192.168.0.5
  1. 收到正常响应即表示RNDIS网卡连接建立成功。

../../../_images/image_IiFGbm59PoV7wgx9DO8ctPM9nPf.webp

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

请将 enp11s0enx2a8b155b2e00 替换为实际网卡名称。

在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主机

基础连接配置

  1. 使用数据线将Quectel Pi H1的 Type-C 口连接至Windows主机的 USB 口。

  2. 在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
  1. 在Windows端确认新增的USB RNDIS网卡。

在设备管理器的网络适配器中可看到 Remote NDIS Compatible Device,在网络连接中会新增一个以太网连接。

../../../_images/image_KjBDbbYqlo9egHxBwlEc3PQ7n6d.webp ../../../_images/image_CSIVbNQrgofW9Bx6DAkcrVYsnVh.webp
  1. 在Windows端配置USB网卡IP。

打开网络设置,找到新增的未识别网络,手动将IP配置为与Quectel Pi H1同网段的地址(如 192.168.7.2),保存。

../../../_images/image_YZnubQJRKoAVjjxEuGmc5bqynGb.webp ../../../_images/image_BWWdbj6hMo9wtFxZYL6c9EPWn2f.webp ../../../_images/image_Ly4WbgVJwo9AXTxvo5McOi5Jn3b.webp
  1. 测试连通性:

ping 192.168.7.1

收到正常响应即表示RNDIS网卡连接建立成功。

../../../_images/image_RX66bKHOqoIwC0xt9HqcdZzZnZK.webp

Windows共享网络给设备

当Windows主机已通过以太网或Wi-Fi连接互联网时,可通过Internet连接共享(ICS)功能将网络共享给Quectel Pi H1。

  1. 打开网络连接页面:按 Win + R,输入 ncpa.cpl 后回车。

  2. 开启Internet连接共享:右键当前可访问互联网的网卡(如WLAN或以太网),选择 属性共享 页签,勾选 允许其他网络用户通过此计算机的Internet连接来连接

../../../_images/image_Gffsbrkawof5sOx0WiycPZfmnEb.webp
  1. 开启共享后,Windows通常会自动将USB RNDIS网卡地址设置为 192.168.137.1/24

../../../_images/image_H2vHbcdjfo4VJsxboQhcGCAbnhd.webp
  1. 在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
  1. 在Quectel Pi H1上添加默认路由:

sudo ip route replace default via 192.168.137.1 dev usb0
  1. 在Quectel Pi H1上配置DNS:

sudo sh -c 'printf "nameserver 8.8.8.8\n" > /etc/resolv.conf'
  1. 在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
../../../_images/image_GhoUbIRXQoTf02x1ZjQcSzJrnOh.webp ../../../_images/image_OD7mbYEZwoESSZxyu2pc9DBLnPg.webp

若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检查转发规则是否生效