前言

CP2108 是一款高度集成的USB转4路UART的桥接器。
CP2108USB桥接器提供4个独立UART接口,采用集成式USB收发器,无需外部电阻要求;采用集成式时钟,无需外部晶振体要求;采用集成式可编程EEPROM,可用于定制产品信息。内置电源复位电路,符合USB规格2.0标准,通过SUSPEND引脚支持USB挂起状态。自供电电压为3.0至3.6V,USB总线供电电压为4.0至5.5V,可适应温度范围为-40℃至85℃。

1. 驱动下载

下载Linux版本需要先注册silicon官方账号
下载地址 silicon官网 cp210x 驱动代码下载地址
下载后不能直接编译,需要一些修改。

2. 驱动编译和安装

  • 查看内核版本
uname -r
  • 编译
cd (cp210x driver folder)
make ( your cp210x driver )
  • 安装
rm /lib/modules/<kernel-version>/kernel/drivers/usb/serial/cp210x.ko
rmmod cp210x
cp cp210x.ko /lib/modules/<kernel-version>/kernel/drivers/usb/serial
insmod /lib/modules/<kernel-version/kernel/drivers/usb/serial/usbserial.ko
insmod cp210x.ko
cd /lib/modules/<kernel-version>/kernel/drivers/usb/serial
depmod
  • 安装后需要重新启动

3. 可能遇到的问题及解决办法

3.1 进行 make 时出现以下错误:

.port_remove  = cp210x_port_remove,
...
...
make: *** [all] Error

主要是函数cp210x_port_remove兼容问题,打开cp210x.c文件,找到函数cp210x_port_remove

  • 将函数定义的返回值由int修改为void
  • 函数实现的地方也要由int修改为void,并且注掉函数中return 0
    重新编译安装重启即可

3.2 自带的cp210x驱动,版本应该比较早,不支持gpio操作

检查当前是否已有CP210x.ko驱动

/lib/modules/<kernel-version>/kernel/drivers/usb/serial

查看当前地址下是否已经存在CP210x.ko,如果存在直接删除并卸载即可

rm /lib/modules/<kernel-version>/kernel/drivers/usb/serial/cp210x.ko
rmmod cp210x

复制新的驱动文件

cp cp210x.ko /lib/modules/<kernel-version>/kernel/drivers/usb/serial
cd /lib/modules/<kernel-version>/kernel/drivers/usb/serial
depmod

重启。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐