ubuntu cp210x(USB转串口)驱动安装
前言
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
重启。