I can't upload my program to ESP32-CAM. It just keeps saying the port doesn't exist. But I can see it in /dev/ttyUSB0 (By the way, I'm on linux, Fedora) The UART bridge is CP2102 Silicon Labs.

What I've tried:

  • Using both IDE 1, 2
  • Removing everything, trying again on IDE 1
  • upgrading permissions

Any help will be appreciated.

enter image description here enter image description here

After sudo dmesg -wT | grep cp2102 as suggested by @timemage, I got this:enter image description here

  • 1
    Please check if your user has access rights to /dev/ttyUSB0. You can add yourself to the dialup group or take similar actions.
    – gbg
    Aug 31, 2023 at 14:24
  • @gbg After Posting the question, I did come across some posts suggesting the same. I did that but it didn't help. Is there a need to install any driver of the UART (CP2102) even in Linux? I can get it to work on windows by updating the driver.
    – 44yu5h
    Aug 31, 2023 at 15:26
  • @44yu5h It's not going to be a lack of a driver unless you're running some obscure build of the kernel. Post sudo dmesg -wT output from the first line of after insertion downward. Besides diagnosing other options it will also allow you to convince yourself that a driver is loading when you see something like cp210x <bus numbers>: cp210x converter detected
    – timemage
    Aug 31, 2023 at 16:26
  • @timemage Thanks for answering. I did sudo dmesg -wT | grep cp2102 did not get anything. I didn't take a screenshot. I will update my question with the ss soon. In a lecture right now.
    – 44yu5h
    Sep 1, 2023 at 10:31
  • grep cp2102 in not going to find cp210x. Anyway, I'm sure you have that. The real point of posting it is the potential to see other diagnostically useful things that grepping is only going to remove.
    – timemage
    Sep 1, 2023 at 18:15

1 Answer 1


A post by Bee_HapBee on Reddit solved my issue! Thank you!

sudo chmod 666 /dev/ttyUSB0

Yep, I wish esptool.py would've told me that I needed permissions, rather than the port doesn't exist

  • 1
    chmod 666 - "(U)ser / owner can read, can write and can't execute. (G)roup can read, can write and can't execute. (O)thers can read, can write and can't execute" Sep 20, 2023 at 19:33
  • What about the security implications? Isn't it more standard to use the dialup user or some udev rules? Sep 20, 2023 at 19:37

Not the answer you're looking for? Browse other questions tagged or ask your own question.