Trying to program an ESP32-WROVER CAM module ( like this one https://randomnerdtutorials.com/getting-started-freenove-esp32-wrover-cam/ ) but I can't get it to connect to my Linux computer.
I also have the standard esp32-CAM board (one without the USB port) and the USB shied for it, but it is behaving the same.
I ran dmsg -w
on those two boards and it appears to be disconnecting immediately (?). I also tested this with a ESP32-WROVER (no cam) board for reference.
Order is ESP32-WROVER CAM, ESP32-CAM, ESP32-WROVER.
I ran dmsg -w
, plugged in the board, pressed enter once, disconnected the board, pressed enter a few times, moved on to the next board:
[1787858.783193] usb 1-3.4.2: new full-speed USB device number 23 using xhci_hcd
[1787858.897409] usb 1-3.4.2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice=81.34
[1787858.897413] usb 1-3.4.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[1787858.897414] usb 1-3.4.2: Product: USB Serial
[1787858.906444] ch341 1-3.4.2:1.0: ch341-uart converter detected
[1787858.907030] usb 1-3.4.2: ch341-uart converter now attached to ttyUSB0
[1787859.443365] input: BRLTTY 6.4 Linux Screen Driver Keyboard as /devices/virtual/input/input51
[1787859.720112] usb 1-3.4.2: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1
[1787859.720662] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[1787859.720673] ch341 1-3.4.2:1.0: device disconnected
[1787862.652770] usb 1-3.4.2: USB disconnect, device number 23
[1787867.231225] usb 1-3.4.2: new full-speed USB device number 24 using xhci_hcd
[1787867.345512] usb 1-3.4.2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
[1787867.345516] usb 1-3.4.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[1787867.345516] usb 1-3.4.2: Product: USB Serial
[1787867.353801] ch341 1-3.4.2:1.0: ch341-uart converter detected
[1787867.354349] usb 1-3.4.2: ch341-uart converter now attached to ttyUSB0
[1787867.911055] input: BRLTTY 6.4 Linux Screen Driver Keyboard as /devices/virtual/input/input52
[1787868.183971] usb 1-3.4.2: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1
[1787868.184642] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[1787868.184657] ch341 1-3.4.2:1.0: device disconnected
[1787871.090153] usb 1-3.4.2: USB disconnect, device number 24
[1787876.967177] usb 1-3.4.2: new full-speed USB device number 25 using xhci_hcd
[1787877.110152] usb 1-3.4.2: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[1787877.110156] usb 1-3.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[1787877.110157] usb 1-3.4.2: Product: CP2102 USB to UART Bridge Controller
[1787877.110158] usb 1-3.4.2: Manufacturer: Silicon Labs
[1787877.110158] usb 1-3.4.2: SerialNumber: 0001
[1787877.123535] cp210x 1-3.4.2:1.0: cp210x converter detected
[1787877.124340] usb 1-3.4.2: cp210x converter now attached to ttyUSB0
[1787880.562053] usb 1-3.4.2: USB disconnect, device number 25
[1787880.562143] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[1787880.562151] cp210x 1-3.4.2:1.0: device disconnected
I am running platformIO in VSCode.
I also tried having platformIO detect the boards via the "Devices" search, but only the ESP32-WROVER (no cam) board showed up.
oh, I can program the ESP32-WROVER (no cam) board just fine.
My platformio.ini file is this:
[env:esp-wrover-kit]
platform = espressif32@3.5.0
board = esp-wrover-kit
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
Any help is much appreciated!
Found the answer.
So apparently there is a program called BRLLTY that was interfering with it.
BRLLTY (Braille Ready Linux Terminal Toolkit Y) is a software program that enables blind and visually impaired users to access and interact with computer systems using a refreshable braille display. I'm not blind, so don't need it.
I fixed the issue by stoping it:
sudo systemctl stop brltty-udev.service
sudo systemctl mask brltty-udev.service
sudo systemctl stop brltty.service
sudo systemctl disable brltty.service
I then reran dmesg -w
to see which port it was attaching to.
For me it attached to ttyCH341USB0
so I added upload_port = /dev/ttyCH341USB0
to platformio.ini
Hope this helps!