文章目录
- 1、环境介绍
- 2、前言
- 3、原理图查看
- 4、内核配置
- 5、设备树配置
- [6、Gadget 配置](#6、Gadget 配置)
- [7、Windows 驱动安装](#7、Windows 驱动安装)
- 8、测试
- 9、参考文章
- 10、总结
1、环境介绍
硬件:小智 T113 板卡
软件:原厂 Tina5.0 SDK v1.2(Buildroot)
2、前言
本文主要记录小智 T113 板卡的 OTG 接口调试。
3、原理图查看
T113 系列芯片内置2个 USB2.0 接口,其中 USB0 支持 OTG 功能,USB1 只支持 USB Host 功能。如下图是关于 USB0 部分的原理图:

如下图是关于 USB1 部分的原理图:

小智板卡中的 USB0 接口只能做 USB Device 模式,因为做 USB Host 时无法对外供电。同理,USB1 Host 也是无法使用的,因为无法对外供电。
所以下面主要介绍 USB0 Device 的使用,把板卡适配成一个虚拟网卡,与 PC 机相连,进而可以实现 SSH 连接。
4、内核配置
shell
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_EEM=y
5、设备树配置
c
&usbc0 {
device_type = "usbc0";
usb_port_type = <0x2>;
usb_detect_type = <0x1>;
usb_detect_mode = <0>;
usb_id_gpio = <&pio PE 12 GPIO_ACTIVE_HIGH>;
enable-active-high;
usb_det_vbus_gpio = <&pio PE 12 GPIO_ACTIVE_HIGH>;
usb_wakeup_suspend = <0>;
usb_serial_unique = <0>;
usb_serial_number = "20080411";
rndis_wceis = <1>;
status = "okay";
};
&ehci0 {
drvvbus-supply = <®_usb1_vbus>;
};
&ohci0 {
drvvbus-supply = <®_usb1_vbus>;
};
6、Gadget 配置
查看当前 OTG 模式:
shell
cat /sys/devices/platform/soc@3000000/soc@3000000:usbc0@0/otg_role
# 切换到 device 模式
echo 1 > /sys/devices/platform/soc@3000000/soc@3000000:usbc0@0/otg_role
# 切换到 host 模式
echo 2 > /sys/devices/platform/soc@3000000/soc@3000000:usbc0@0/otg_role
Gadget 配置:
shell
cd /sys/kernel/config/usb_gadget/g1
echo "" > UDC 2>/dev/null
echo 0x1d6b > idVendor
echo 0x0104 > idProduct
echo 0x0100 > bcdDevice
echo 0x0200 > bcdUSB
mkdir -p strings/0x409
echo "0123456789" > strings/0x409/serialnumber
echo "T113 Board" > strings/0x409/manufacturer
echo "USB RNDIS" > strings/0x409/product
mkdir -p configs/c.1/strings/0x409
echo "Config 1: RNDIS network" > configs/c.1/strings/0x409/configuration
echo 120 > configs/c.1/MaxPower
mkdir -p functions/rndis.usb0
echo "02:1A:11:00:00:01" > functions/rndis.usb0/dev_addr
echo "02:1A:11:00:00:02" > functions/rndis.usb0/host_addr
ln -sf functions/rndis.usb0 configs/c.1/
echo 4100000.udc-controller > UDC
ip link set usb0 down 2>/dev/null
ip addr flush dev usb0 2>/dev/null
ip addr add 192.168.42.1/24 dev usb0
ip link set usb0 up
7、Windows 驱动安装
- 使用Windows自带的RNDIS驱动(推荐),打开设备管理器。
- 右键点击带感叹号的RNDIS设备 → 更新驱动程序。
- 选择 "浏览我的电脑以查找驱动程序"。
- 选择 "让我从计算机上的可用驱动程序列表中选取"。
- 在类别中选择 "网络适配器"。
- 在左侧厂商列表中选择 "Microsoft"。
- 在右侧模型中选择 "远程NDIS兼容设备"。
- 点击 "下一步" 安装。
8、测试
在测试时,Windows 第一安装驱动后,可以正常识别出网卡设备,并且电脑也可以和板卡互ping。但第二次开始后就再也不行了,暂未解决。
9、参考文章
无。
10、总结
略。