You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32-WROVER CAM及ESP32-CAM无法通过USB连接Linux的问题求助

解决ESP32-WROVER CAM/ESP32-CAM在Linux下连接断开的问题

从你提供的dmesg日志可以明确问题根源:brltty(盲文终端服务)与CH341串口驱动抢占了USB设备接口,导致带摄像头的ESP32模块连接后立即断开。

日志中关键报错信息:

usb 1-3.4.2: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1

带摄像头的ESP32-WROVER CAM和ESP32-CAM使用的是CH340/CH341芯片的USB转串口,而无摄像头的ESP32-WROVER用的是CP2102芯片,brltty未对该芯片的接口进行抢占,因此能正常连接。

解决方案

1. 临时修复(立即生效,重启后恢复)

停止brltty服务,然后重新插拔ESP32模块:

sudo systemctl stop brltty

之后可以通过dmesg -w验证连接状态,或在PlatformIO中重新识别设备。

2. 永久禁用brltty(无需盲文功能时推荐)

彻底关闭brltty的开机自启与运行:

sudo systemctl stop brltty
sudo systemctl disable brltty
sudo systemctl mask brltty

3. 保留brltty仅排除CH340/CH341设备

若需要继续使用brltty,可修改其udev规则,让它忽略CH340/CH341设备:

  1. 编辑brltty的udev规则文件:
sudo nano /usr/lib/udev/rules.d/85-brltty.rules
  1. 找到包含1a86:7523(CH341的VID:PID)的规则行,在行首添加#注释掉该行
  2. 保存退出后,重新加载udev规则:
sudo udevadm control --reload-rules && sudo udevadm trigger
  1. 重新插拔ESP32模块即可正常连接

PlatformIO配置优化建议

原配置中使用的esp-wrover-kit是针对标准开发板的,建议改为适配CAM模块的board型号,示例配置:

[env:esp32wrovercam]
platform = espressif32@3.5.0
board = esp32wrovercam
framework = arduino
board_build.f_flash= 80000000L
board_build.flash_mode = qio
board_build.partitions = huge_app.csv
build_flags = -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue
monitor_speed = 115200
upload_port = /dev/ttyUSB0

内容的提问来源于stack exchange,提问作者Grant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 08:50:56