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

略。

相关推荐
WPG大大通9 天前
【经验分享】Genio 520/Genio720未使用引脚处理方法
经验分享·笔记·信号处理·模块测试·usb·功能模块
矜辰所致13 天前
CH585 高速 USB模拟 CDC串口应用示例
沁恒微·risc-v·usb·cdc串口·usb 模拟串口
意法半导体STM322 个月前
运行 Ux_Host_HUB_HID_MSC 通过 Hub 连接 U 盘读写不稳定问题分析 LAT1511
mcu·usb·st·hub·usb_otg_hs·filex·u 盘
Geehy极海半导体3 个月前
APM32芯得 EP.29 | 基于APM32F103的USB键盘与虚拟串口复合设备配置详解
计算机外设·usb·usb配置
riveting3 个月前
重塑工业设备制造格局:明远智睿 T113-i 的破局之道
人工智能·物联网·制造·t113·明远智睿
驱动探索者3 个月前
USB ADB 简介
linux·adb·驱动·usb
minichao_sz3 个月前
Cherryusb UAC例程对接STM32内置ADC和PWM播放音乐和录音(下)=>UAC+STM32 ADC+PWM实现录音和播放
stm32·单片机·usb
笑稀了的野生俊3 个月前
ZED 2/2i 相机安装与调试完整指南 | Ubuntu 20.04 + CUDA 11.8
ubuntu·usb·sed相机
WPG大大通4 个月前
TBT 5、TBT 4 和 USB4 的差异概述
经验分享·笔记·电脑·显示器·usb·充电