ESP Thing Plus and the Linux CP2014 Driver

I am attempting to prepare my Aduino IDE (version 1.8.13 as of this writing) to work with the Sparkfun Thing Plus ESP32 [https://www.sparkfun.com/products/15663] and am having trouble getting the port to recognize the board. I understand I need to install the board support via the Board Manager and have done so successfully. I also understand I need to install the CP2104 USB driver. That is where I’m getting tripped up.

My operating system is SureOS, a Debian-based Linux system. It has been upgraded and updated with apt-get to its most current release. Its Debian version is 4.19.181-1. This has cp210x.ko installed as well as the driver, usbserial.ko. When I run ‘modinfo cp210x’, the displayed information includes a line that states, “version 3.0”.

I followed the link to Silicon Lab’s download website where it states that cp210x v4.0 is kept at www.kernel.org. I downloaded the Linux version from Silicon Labs all the same and extracted it to a working directory. I then downloaded from kernel.org two versions, the latest (5.11.13). Both of these extracts only include the cp210x.c file, not the other files provided in the download from Silicon Labs.

I started by saving a copy of my existing cp210x.ko file as a backup. I replaced the cp210x.c file in the working directory with the copy found in the Debian 5.11.13 download and ran ‘make’ in the working directory. It generated a new cp210x.ko file.

I then removed the existing module using ‘sudo rmmod cp210x.ko’, and installed my new copy using ‘sudo insmod cp210x.ko’. I next reran ‘modinfo cp210.ko’ and noticed that this time no version information was displayed. That is certainly a change, but it doesn’t give proof positive that it is version 4.0. The command ‘lsusb’ does show the board is recognized. This is the line from its output that leads me to think the OS sees the board.

Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]

I restarted my computer, opened my Arduino IDE, opened sketch Blink.ino, connected the ESP32 board, put it into bootloader mode by pressing the reset button twice, and selected the “Sparkfun ESP32 Thing Plus” board. The menu option for Port is still grayed out. I know the USB cable is appropriate as it was used successfully uploading the same sketch to a Sparkfun SAMD51 Thing Plus and an Adafruit Feather M0.

I have gotten this far with the help of various websites, Google searches, and readme files, but I have now hit a road block. I’m not certain what I am missing nor what searches to run to find more information. Can anyone provide any guidance?

Thanks for reaching out to us on this.

While we do not provide guidance on orchestrating kernel versions and the like, and certainly not for custom debian packages we can hopefully get you re-oriented here.

It might be best to revert to earlier versions if you cannot get the latest to work, and see if you can isolate the issue that way…right now we can’t be sure if it is trying to run ver 5.11.13 or 4.0 because both have been changed…

Perhaps wipe them clean, and re-start with arduino IDE 1.6, driver ver 3, and begin to modify your testing from there. We do not advise installing partial libraries from 5.11 until you have a reason to (after you have verified that 4.0 doesn’t work with older IDE, etc).

The solution is likely going to be a road of trial-and-error, until you arrange a working scenario.

Hope this helps, and happy sparking!