【小智 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、总结

略。

相关推荐
锻炼²10 天前
USB 设备/配置/接口/端点/描述符 和 HID类请求详解
stm32·usb·hid·全速传输·sof包·中断传输
zz_nj11 天前
USB端点,管道
usb
锻炼²14 天前
stm32 HAL配置usb全速 自定义HID类详解
stm32·usb·usb枚举过程·全速传输
Molesidy16 天前
【STM32】【USB】USB通讯方式的学习笔记以及基于CubeMX HAL库的例程验证
stm32·单片机·嵌入式·usb
ZenasLDR25 天前
PD多口适配器:多设备时代的充电效率革命
接口·芯片·usb
嵌入式×边缘AI:打怪升级日志1 个月前
USB描述符
学习笔记·嵌入式·usb
嵌入式×边缘AI:打怪升级日志1 个月前
USB协议详解:从物理连接到数据传输的完整解析
网络·学习·usb
Just_Paranoid1 个月前
【Settings】Android 常见外设检测机制
android·sd·usb·camera·keyboard·sim
林政硕(Cohen0415)1 个月前
T113 Qt5.15.2 G2D 旋转
qt·t113·g2d
林政硕(Cohen0415)1 个月前
T113 logo g2d 旋转
logo·t113·g2d