【小智 T113 外设适配 4】OTG 接口

文章目录

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 = <&reg_usb1_vbus>;
};

&ohci0 {
	drvvbus-supply = <&reg_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 驱动安装

  1. 使用Windows自带的RNDIS驱动(推荐),打开设备管理器。
  2. 右键点击带感叹号的RNDIS设备 → 更新驱动程序。
  3. 选择 "浏览我的电脑以查找驱动程序"。
  4. 选择 "让我从计算机上的可用驱动程序列表中选取"。
  5. 在类别中选择 "网络适配器"。
  6. 在左侧厂商列表中选择 "Microsoft"。
  7. 在右侧模型中选择 "远程NDIS兼容设备"。
  8. 点击 "下一步" 安装。

8、测试

在测试时,Windows 第一安装驱动后,可以正常识别出网卡设备,并且电脑也可以和板卡互ping。但第二次开始后就再也不行了,暂未解决。

9、参考文章

无。

10、总结

略。

相关推荐
ZenasLDR5 天前
PD多口适配器:多设备时代的充电效率革命
接口·芯片·usb
嵌入式×边缘AI:打怪升级日志7 天前
USB描述符
学习笔记·嵌入式·usb
嵌入式×边缘AI:打怪升级日志7 天前
USB协议详解:从物理连接到数据传输的完整解析
网络·学习·usb
Just_Paranoid9 天前
【Settings】Android 常见外设检测机制
android·sd·usb·camera·keyboard·sim
林政硕(Cohen0415)12 天前
T113 Qt5.15.2 G2D 旋转
qt·t113·g2d
林政硕(Cohen0415)12 天前
T113 logo g2d 旋转
logo·t113·g2d
纸带16 天前
F460 配置描述符、接口描述符和端点描述符
usb
才鲸嵌入式21 天前
STM32 USB协议栈源码分析
stm32·单片机·嵌入式·驱动·usb·硬件·phy
一个平凡而乐于分享的小比特23 天前
USB HID通信协议详解
usb·hid
一个平凡而乐于分享的小比特1 个月前
USB通信核心机制详解:数字世界的“智能快递系统”
usb·通信协议