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

取消勾选改选项:

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

相关推荐
程序员 _孜然1 小时前
【最详细】android-studio-2025.2.x新版本,导出apk,含jks证书生成
android·ide·android studio
珹洺1 小时前
Java-Spring实战指南(三十四)Android Service实现后台音乐播放功能
android·java·spring
柯南二号1 小时前
【大前端】【Android】 Kotlin 语法超详细解析(2025 最新)
android·kotlin
四维碎片8 小时前
【Qt】配置安卓开发环境
android·开发语言·qt
百***99248 小时前
MySql的慢查询(慢日志)
android·mysql·adb
安卓兼职framework应用工程师8 小时前
android 15.0 Launcher3长按拖拽时,获取当前是哪一屏,获取当前多少个应用图标
android·拖拽·workspace·长按拖拽
雨白9 小时前
Jetpack Compose Navigation3:返回栈管理、大屏适配与自定义策略
android
CIb0la12 小时前
安卓16系统升级后(Google pixel 8/8pro 9/9pro xl 10/10pro xl)救砖及Root方法
android·运维·生活
Ya-Jun12 小时前
项目实战Now in Android:项目模块说明
android·架构·kotlin
@Aurora.13 小时前
【MySQL】基础
android