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转串口)5.49/dev/ttyUSB 修改串口名