Guide: Install CP2102 driver


You will use a CP2102 USB to serial breakout board (hereafter referred to as just "usb-serial”) to make a serial connection between your laptop usb and the Pi's uart. Some recent OS versions ship with the necessary driver pre-installed. If you not, you will need to manually install the driver.

Manual install CP2012 console driver (on older macOS)

Is your macOS version Big Sur, Monterey or newer? Check "About This Mac" to confirm. If your macOS version is >= 11.16, you should have CP2102 support out of the box. Do not install the Silicon Labs driver.

  1. Download the CP2012 driver from the Silicon Labs CP210x Downloads page. Select the "Downloads" tab and find the link for the "CP210x VCP Mac OSX Driver" and download the zip file. Open the zip to decompress into the dmg file SiLabsUSBDriverDisk.dmg. Open the dmg file to mount the volume named Silicon Labs VCP Driver Install Disk.

  2. On the mounted volume, find the file named Install CP2010x VCP Driver. Open this file to launch the installer. Follow its instructions to install the driver.

  3. If your system raises a "System Extension Blocked" alert, you must take additional action to enable the driver. Open System Preferences and choose the Security & Privacy option. On the General tab, find the message indicating that "Silicon Laboratories Inc" has been blocked and click Allow to unblock it. Restart your computer for this change to take effect.

    Check: confirm Silicon Labs driver is installed and loadable

     $ kextfind -B -si silabs -report -b -loadable
     CFBundleIdentifier  Loadable
     com.silabs.driver.CP210xVCPDriver   yes
    

Manual install CP2012 console driver (if on older version Windows)

Is your Windows version X or newer? Check Y to confirm. If your version is >= Z, you should have CP2102 support out of the box. Skip over this section and do not install the Silicon Labs driver.

  1. The installation of the CP2102 driver is done from Windows (not inside the WSL terminal). Switch to your Windows web browser and go to the Silicon Labs CP210x Downloads page.
  2. On this page, select the "Downloads" tab and find the link for "CP210x Windows Drivers v6.7.6". Download this zip file.

    Be sure to choose version 6.7.6! Don't be confused by other drivers with similar names and slightly different version numbers. The version to download is exactly CP210x Windows Drivers v6.7.6.

  3. Extract all files from the downloaded zip file. Look in the uncompressed folder for the installer exe file that matches the architecture of your laptop. If your laptop is 64-bit, the installer exe is named CP210xVCPInstaller_x64.exe. If 32-bit, it is CP210xVCPInstaller_x86.exe.
    • If you don't know whether your laptop is 32 or 64-bit, use command dpkg --print-architecture in your WSL terminal and look for a response of amd64 (64-bit) or i386 (32-bit). Removed this check step as driver does not show up until it has been loaded. Leave this information here for trouble-shooting.

Check: confirm System Information finds driver

  1. Open the "System Information" app. A panel pops up with a "System Summary" of your hardware and software environment.
  2. Use the "Find what:" field at the bottom of the panel to search for "silabs". (Be patient while it searches)
  3. The search should find matching Serial Port Driver with name "SILABSER.SYS" and description "Silicon Labs CP210x USB to UART Bridge Driver".

    Driver not found? We suspect that the Windows System Information may not find the driver if it has net yet loaded it for a device. Try plugging your USB-serial and then check again.

Confirm console driver finds USB-serial device

Plug in the usb-serial into a USB port or USB hub on your laptop and confirm it can be found.

Using find-dev.sh

We wrote a litte script find-dev.sh to look for the USB device whose id matches CP2102. The script prints the device path if found, otherwise it reports an error.

In the example below, the first command did not find the CP2102 because it was not connected. After plugging in, it prints the device path.

$ find-dev.sh
Could not find CP2102 serial device.
I looked through the serial devices on this computer, and did not
find a device associated with a CP2102 USB-serial adapter. Is
your USB-serial adapter plugged in?

$ find-dev.sh
/dev/cu.usbserial-0001

There are other ways to find the device path (lsusb -v on linux, diff files in ls /dev directory when CP2102 plugged in and again when not, …) Ask if you need help with one of these methods.

If you are not able to find the device, your drivers likely did not install correctly, grab a TA for some help!

Check: confirm CP2102 driver finds device