3

I have the ESP32 board with Silicon Labs CP2102 controller. When I connect it to my MacBook, I can get the details about this device using the command system_profiler SPUSBDataType, but it is not listed in /dev as a virtual serial port - so I can't communicate with it.

    CP2102 USB to UART Bridge Controller:

      Product ID: 0xea60
      Vendor ID: 0x10c4  (Silicon Laboratories, Inc.)
      Version: 1.00
      Serial Number: 0001
      Speed: Up to 12 Mb/sec
      Manufacturer: Silicon Labs
      Location ID: 0x14200000 / 5
      Current Available (mA): 500
      Current Required (mA): 100
      Extra Operating Current (mA): 0

I'm using the official driver downloaded from https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

Any ideas how to make it visible in /dev? I have also Windows installed on the same computer where it works fine, so the HW and the USB cable are OK.

3

I found that macOS High Sierra has blocked all unsigned / unmanaged kernel extensions and the SiLabs kernel extension guide doesn’t have information on how to manually enable the required extensions.

An excellent overview of this process is at man blogs - here is one such guide:

Here are steps to allow this extension specifically:

  1. Go to "System Preferences" -> "Security & Privacy"
  2. In the bottom of the window, you will see a message "System software from developer "SiLabs" was blocked from loading."
  3. Click on "Allow" button
  4. Restart your Mac

Now my device is listed as /dev/cu.SLAB_USBtoUART and everything work as expected.

  • 1
    Great question and even better answer. Thanks for letting people know about the extra steps. I’ve added a blog I hope you don’t mind my option of it being “excellent” added. Please edit the post as needed to suit your needs if desired. – bmike Nov 4 '17 at 20:20
0

Check to see if your board is recognised as described in this link, and if yes and still no communications, you may need to install libusb with homebrew or similar. A good tool to play with before anything else is CoolTerm (easy to find...).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .