Rk3399—添加usb转串口驱动

Posted 东皇※太一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rk3399—添加usb转串口驱动相关的知识,希望对你有一定的参考价值。

有些时候我们板子上的原生串口不够用,需要通过usb转成串口使用,我们称之为u转串或u转TTL,u转串的芯片有ch340、pl2303、cp210x、ftxx等等,在adb下是可以看到rk3399 usb相关信息的,比如在adb下输入:lsusb

查看usb信息

 

  • Bus 008 : 表明设备连接到哪条总线
  • Device 00x: 表明这是连接到总线上的第x台设备
  • ID xxxx:xxxx: 设备的供应商ID与产品ID,即VID与PID

插上我们u转串设备,然后查看,发现多了一个usb

 在安卓应用层通过这个usb的VID与PID是可以直接对这个串口进行操作的,通过usb收发数据,串口也是可以正常使用的,不过今天要说的不是安卓直接操作usb,而是另外一种方式!

u转串设备文件

在adb下输入ls /dev/tty,然后table键补全,会出现诸多tty设备,其中

/dev/ttyn是虚拟控制台

/dev/ttySn是串行端口(串口)

/dev/ttyUSBx是USB到串口的转换器

并没有发现我们需要的ttyUSBx这种设备文件,这是因为我们的u转串驱动没有开启或者没起作用

启用u转串驱动

在kernel下输入make menuconfig,会弹出.config的对话框菜单,我们进入

> Device Drivers > USB support > USB Serial converter support

因为我们的u转串芯片是PL2303,所以移动到我们的Prolific 2303,如果是其它芯片则需要选中其它,像我们看到有CP210x、F81232等,这些都是常用的u转串芯片,按空格键变成“*”号编译进内核,然后保存退出。实际就是在.config中增加CONFIG_USB_SERIAL_PL2303=y。

然后重新编译内核,烧写程序查看

 临时修改设备文件权限

有时我们提供了u转串的设备文件,但是上层无法使用,查看一下文件权限

 可以看到有些权限没有放开,所属用户名跟用户组都是radio,我们可以简单粗暴的将其权限全部放开,chmod 777 /dev/ttyUSB0

但是这样修改的权限只是临时起作用,关机重启后会失效,那怎么修改才能永久有效呢?

永久修改设备文件权限

修改ueventd.rockchip.rc资源文件,该文件在:./rockchip/common/ueventd.rockchip.rc

/dev/ttyUSB0    0660   radio	radio

分别对应设备节点,设备权限,设备所有者,设备所有者所在组。

最后,u转串源码驱动是在kernel/drivers/usb/serial/目录下,如果驱动需要升级,或者有其它u转串的驱动需要添加,需要将文件放置该目录下,其中PL2303系列驱动可以在:​​​​​​pl2303完整驱动,包括windows、mac、linux下全方面驱动-Linux文档类资源-CSDN下载

包括源码以及不同linux内核版本的驱动。 

以上是关于Rk3399—添加usb转串口驱动的主要内容,如果未能解决你的问题,请参考以下文章

Rk3399—添加usb转串口驱动

RK3399平台开发系列讲解(USB转串口)5.49/dev/ttyUSB 修改串口名

RK3399平台开发系列讲解(USB转串口)5.49/dev/ttyUSB 修改串口名

调试串口总结

高新兴GM510模块调试

RK3399平台开发系列讲解(USB设备驱动)5.42USB枚举过程分析