RK3568 Android 13 USB OTG/Host 切换调试经验分享

目录

前言

经验

[1. 切换到 Device (OTG) 模式](#1. 切换到 Device (OTG) 模式)

[2. 切换到 Host 模式](#2. 切换到 Host 模式)

[3. 调试中遇到的坑](#3. 调试中遇到的坑)

总结


前言

在RK3568开发过程中,需要动态切换USB3.0接口的OTG(Device)与Host模式。直接修改PHY寄存器或sysfs节点往往无法生效,甚至导致系统USB功能异常。经过摸索,总结出一套可靠的切换流程,在此分享。


经验

1. 切换到 Device (OTG) 模式

关键点:必须先解除UDC绑定,清理软链接,再切PHY,最后触发Android USB配置。

bash 复制代码
# 解除 UDC 绑定,释放控制器
echo "" > /config/usb_gadget/g1/UDC

# 删除之前创建的软链接(根据日志,adb 的链接在 f1)
rm -f /config/usb_gadget/g1/configs/b.1/f1

# 切换 PHY 到 Device 模式
echo peripheral > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode

# 重新触发 Android 的 USB 配置
setprop sys.usb.config adb

注意 :f1 是示例,实际软链接名需根据 ls /config/usb_gadget/g1/configs/b.1/ 查看。

2. 切换到 Host 模式

关键点:先让Android彻底放弃gadget,再解除UDC,清理残留,最后切PHY。

bash 复制代码
# 让 Android 彻底放弃 gadget
setprop sys.usb.config none
setprop sys.usb.state none

# 解除 UDC 绑定(此时 UDC 应该可写了)
echo "" > /config/usb_gadget/g1/UDC

# 删除残留软链接
rm -f /config/usb_gadget/g1/configs/b.1/f1

# 切 PHY 到 host
echo host > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode

3. 调试中遇到的坑

  • UDC 写不进去 :因为Android的USB服务仍持有gadget,必须先 setprop sys.usb.config none。

  • 软链接删不掉 :权限不足或路径错误,建议先 ls 确认。

  • PHY 切换无效:如果UDC仍绑定,PHY模式切换会被忽略或报错。

  • 顺序反了:先切PHY再解绑UDC,可能导致控制器状态混乱,甚至需要重启。


总结

RK3568 Android 13下USB3.0 OTG/Host切换,本质是 "先软后硬":

  1. 软层面:让Android释放gadget(setprop none)、解绑UDC、清理configfs软链接。

  2. 硬层面 :再写 otg_mode 节点切换PHY。

  3. 恢复 :切回Device时,重新 setprop sys.usb.config adb 即可。

按此顺序操作,可稳定切换,避免USB功能异常。希望这份经验能帮到同样在RK3568上调试USB的同行。

相关推荐
拥小抱14 小时前
Compose 知识点
android
文章永久免费只为良心14 小时前
Web应用安全与防护_第三章_日志文件包含_从一道 CTFshow 题目讲透「日志投毒型 LFI → RCE」:原理、时序陷阱与全变种攻防手册
android·网络安全·渗透测试·漏洞危害·漏洞描述·日志投毒·红队指南
AIsoft_868915 小时前
学术讲座录音如何整理?录音APP可行吗
android·iphone
Patrick在香港17 小时前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
海雅达手持终端PDA18 小时前
工业手持终端的“去手机化”演进:看海雅达如何以“同轴扫摄”终结工程妥协,重塑工业PDA新范式
android·物联网·智能手机·硬件工程·能源·制造·iot
booboosui19 小时前
删掉一个住在本机的 agent:8 处要清,顺序不能反
android
hcgeng20 小时前
Android获取崩溃日志
android
aqi0020 小时前
AI编程让鸿蒙开发电子书APP更加快捷
android·华为·harmonyos·鸿蒙·harmony
GY-9320 小时前
【Android】Android Studio 中的协程
android