Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CP2102 device is not listed in /dev on macOS 10.13

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.

like image 957
Dominik Palo Avatar asked Nov 04 '17 08:11

Dominik Palo


People also ask

What is CP2102 driver?

The CP2102 USB to UART Bridge provides a complete plug and play interface solution that includes royalty-free drivers. This USB 2.0 compliant device includes 0 digital I/O pins and is availble in a 5x5 mm QFN28 package.


3 Answers

The Allow button did not work for me, so I had to disable checking altogether:

  1. Shut Down
  2. Hold mac+ R during boot to enter recovery mode
  3. Open a terminal
  4. type spctl kext-consent disable and press enter
  5. Reboot
  6. It worked
like image 197
Vlad Nistor Avatar answered Oct 11 '22 23:10

Vlad Nistor


I found that macOS High Sierra has blocked the SiLabs kernel extension.

Here are steps to allow this extension:

  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.

like image 16
Dominik Palo Avatar answered Oct 11 '22 23:10

Dominik Palo


If you approved through Security settings but still can't see /dev/cu.SLAB_USBtoUART, most likely that you need a new micro-usb cable. It's not that your cable is broken, but some cables are only meant for power so they can't transfer data.

For me, I tried four cables and only the last one works, which comes from Sony (forgot where I got this cable though)

like image 2
Ethan Yanjia Li Avatar answered Oct 11 '22 23:10

Ethan Yanjia Li