Android 无限循环 udc-core 报错问题

1、软硬件平台

硬件:全志系列平台、T527

软件:Android 13

2、问题背景

系统上电启动,内核无限循环打印 udc-core 报错,具体信息如下:

3、原因分析

以上错误可能有两种情况:

(1)驱动问题

(2)未设置为从模式

(3)不支持同时使用虚拟网卡和虚拟串口

4、错误处理

(1)驱动

确认 UDC 驱动状态,查看内核配置中是否启用了 UDC 相关驱动

复制代码
zcat /proc/config.gz | grep CONFIG_USB_DWC3

检查系统是否识别到 UDC 硬件

复制代码
ls /sys/class/udc/

排查后驱动加载正常

(2)模式问题

出现该问题的原因是 Android 系统在启动 adbd 时尝试将 USB 设置为设备模式(device mode)以支持 ADB 功能,但当前 USB 口被设置为 OTG 模式(On-The-Go mode)。这种配置冲突导致系统无法成功绑定 USB Gadget,从而触发无限循环的报错。

解决方法:设置usb口为device模式,修改设备树文件,将 USB 口的模式从 OTG 改为设备模式

路径:

复制代码
longan/device/config/chips/t527/configs/XXX/linux-5.15/board.dts

排查后模式正常。

注意:设置为设备模式后,该 USB 口将无法用于读取 U 盘中的文件,功能受限。

(3)网卡和虚拟串口共存问题

内核配置中禁用USB 网卡功能

复制代码
cd longan

./build.sh menuconfig

取消勾选改选项:

重新编译测试后解决!!!

相关推荐
好的佩奇2 小时前
蓝牙之广播与扫描
android·flutter·蓝牙
传奇开心果编程4 小时前
【Jetpack Compose娓娓道来】第36课:焦点管理与键盘输入——让遥控器、键盘和输入法都“找得到北”
android·kotlin·移动开发·交互·android jetpack·ui框架·声明式ui
hai_android5 小时前
AudioTrack 深度解析:从原理到实战
android·java·kotlin
红尘伴蝶舞5 小时前
从秒开优化到连环崩溃:深入剖析 ViewPager2 在常驻 DialogFragment 中的复用陷阱与自愈方案
android·kotlin
巫山老妖10 小时前
Android 应用架构演进:MVC / MVP / MVVM / MVI (2026)
android·android jetpack
木头左14 小时前
【架构设计】教育类 App 服务端化改造:AI 上移、题库分层与个人题库归属
android·架构设计·系统设计·后端开发·数据库设计
墨狂之逸才14 小时前
USB 的 HOST 和 DEVICE 到底有什么区别?ADB 调试应该选哪个?
android
奶油话梅糖15 小时前
苹果的内核跑上了安卓手机:2,631 Star 的 HakiOS 让 XNU 在 Adreno GPU 上画出 118 帧
android·macos·智能手机
恋猫de小郭15 小时前
Flutter THLC 的 WebView 滚动终于从 70 FPS 提升到 120 FPS
android·前端·flutter
好的佩奇1 天前
Dart 之扩展类型
android·flutter·dart