RK3288 添加USB转虚拟串口设备
在系统开启并有日志打印的前提下,插入USB设备,就会打印USB设备和虚拟串口信息。
打印信息如下:
供应商ID(VID):idVendor=1234,产品ID(PID): idProduct=5678
Product、Manufacturer、SerialNumber,这三项暂时用不到。
ttyACM0:虚拟出来的串口,也有可能是ttySx、ttyGSx(x为0/1/2/3......)
[ 99.373774] usb -1.3: new full-speed USB device number using usb20_host
[ 99.473868] usb -1.3: New USB device found, idVendor=, idProduct=
[ 99.473970] usb -1.3: New USB device strings: Mfr=, Product=, SerialNumber=
[ 99.473997] usb -1.3: Product: USBKey Module
[ 99.474016] usb -1.3: Manufacturer: USBKey Chip
[ 99.474033] usb -1.3: SerialNumber:
[ 99.483763] cdc_acm -1.3:1.0: This device cannot do calls on its own. It is not a modem.
[ 99.491455] cdc_acm -1.3:1.0: ttyACM0: USB ACM device
先手动测试此虚拟串口能否使用(以虚拟串口的扫描枪为例)
$ adb shell
// 查看虚拟的串口是否存在
root@xxx:/ # ls /dev/ttyACM0
ls /dev/ttyACM0
/dev/ttyACM0
// 如果不是 root 权限,此时使用 su 获取 root 权限
// 修改此虚拟串口为最高权限
root@xxx:/ # chmod /dev/ttyACM0
chmod /dev/ttyACM0
root@xxx:/ # cat dev/ttyACM0
cat dev/ttyACM0
// 开始扫码
DS610018C18021
DS610018C18021
确定虚拟串口可以使用,将设备添加到代码中。
同时添加了ttyACM0-3,为了防止插入多个设备而导致虚拟串口变动。
将VID和PID添加到数组 option_ids[] 中。USB_DEVICE(VID, PID)
diff --git a/device/rockchip/common/ueventd.rockchip.rc b/device/rockchip/common/ueventd.rockchip.rc
old mode
new mode
index 34f7ad1..d82fad3
--- a/device/rockchip/common/ueventd.rockchip.rc
+++ b/device/rockchip/common/ueventd.rockchip.rc
@@ -, +, @@
/dev/i2c- system system
/dev/i2c- system system
/dev/i2c- system system
+
+/dev/ttyACM0 system system
+/dev/ttyACM1 system system
+/dev/ttyACM2 system system
+/dev/ttyACM3 system system
diff --git a/kernel/drivers/usb/serial/option.c b/kernel/drivers/usb/serial/option.c
index e7ecdc3..9f1a6b6
--- a/kernel/drivers/usb/serial/option.c
+++ b/kernel/drivers/usb/serial/option.c
@@ -, +, @@ static const struct usb_device_id option_ids[] = { {USB_DEVICE(0x0E8D,0x00A5)},
{USB_DEVICE(0x05C6,0x9025)},
+ {USB_DEVICE(0x1234,0x5678)},//扫描枪 { } /* Terminating entry */
};
RK3288 添加USB转虚拟串口设备的更多相关文章
- LNMP添加、删除虚拟主机及伪静态使用教程
一般情况下每个虚拟主机就是一个网站,网站一般通过域名进行访问.LNMP 1.2的网站添加过程和LNMP 1.1的基本类似,但是增加了FTP和数据库的创建.LNMP1.2的防跨目录也由原来在php.in ...
- usb gadget虚拟串口【转】
本文转载自:https://blog.csdn.net/luckywang1103/article/details/61917916 配置 配置好之后编译重新烧写到开发板,发现出现了/dev/ttyG ...
- RK3288 控制usb摄像头补光GPIO
正常可以通过添加dts配置,再从设备树中读取gpio号,在这里为了简单,直接使用GPIO号,先通过终端测试gpio, 系统自带GPIO控制驱动: 内核已经自带了通用GPIO驱动,可以直接在用户空间操作 ...
- Linux下使用USB模拟ACM串口设备
这个想法之前就在脑袋里有过,最近公司产品要用到,所以多做了些了解. 1. USB 简介 USB 是 Universal Serial Bus 的缩写,从字面上看,就是通用串行总线的意思.从物理上看,其 ...
- [驱动]内核添加USB转串口驱动支持
转自:http://blog.csdn.net/gatieme/article/details/49491325 目录 1. 问题 2. 驱动源码 3. 内核配置 4. 编译内核和模块驱动 5. 加载 ...
- VirtualBox中虚拟Ubuntu添加新的虚拟硬盘
VirtualBox中装好Ubuntu后,发现硬盘空间不够使用 了.以下是搜集整理的解决办法: 1. 添加新硬盘 设置 -> Storage -> SATA控制器->右击,选择&qu ...
- 嵌入式系统USB CDROM虚拟光驱驱动程序开发
带U盘功能的的USB接口设备已经越来越常见了.如果能够把产品说明书或者产品设备驱动程序做成一个USB CDROM,那该多方便.假设:你已经有了USB mass storage驱动.你的任务是在此基础上 ...
- 为嵌入式全志V3s荔枝派板卡添加USB MT7601U(小米随身WIFI)驱动
折腾了了一天终于scan出环境热点了,感觉本来挺简单的事情,网上教程一大把还费了一天的劲,很丧.不过网上教程虽多,但是还还是有些不同之处的,现在特意总结一下 全志V3s荔枝派板卡 添加该驱动的过程. ...
- Ubuntu下安装VirtualBox并为其添加USB支持
1.下载VirtualBox软件包和USB支持包 下载网址均为官方网站(可在此查看其使用教程):https://www.virtualbox.org/wiki/Downloads (若下载各平台各版本 ...
随机推荐
- 探究JS中的连等赋值问题
一.引子 最近在看别人的博客时无意中看到一个这样的问题 var a = {n: 1}; var b = a; a.x = a = {n:2}; console.log(a.x); //undefine ...
- yum 数据库报错与重构
[root@dhcp yum.repos.d]# cd /var/lib/rpm/ [root@dhcp rpm]# rm __db.* -rf[root@dhcp rpm]# rpm --rebui ...
- IE中的if语句--实现不同版本IE浏览器不同html代码 (转)
在很多html代码中常常可以看到很多的IE的条件语句,有时候很不明白他们的意思,其实这是为了能与低版本浏览器实现更好的兼容,例如在制作纯CSS的级联菜单时,由于在IE6中只有<a>支持伪类 ...
- 高射炮打蚊子丨用Visual Studio 2017写最初级的C语言程序
众所周知,Visual Studio号称全宇宙最强的IDE(集成开发环境),简直可以“秒天秒地秒空气”.我们看着各种技术大会上,大神们在台上用VS演示Demo溜得飞起,然而对于一些非技术专业同学或者是 ...
- 二进制包形式安装mysql5.7.17
mysql5.7与mysql5.5的安装方式有些区别,如果按照5.5的方式来安装5.7就会有很多报错信息,下面介绍mysql5.7.17的二进制安装方式. 首先安装依赖包: yum -y instal ...
- procrdure存储过程
/* 存储过程 在一些语言中,有一个概念叫”过程“ procedure,和”函数“ function 过程:封装了若干条语句,调用时,这些封装体执行 函数:是一个有返回值的“过程” 过程:没有返回值的 ...
- Flask项目中的蓝图简介及使用方式
Blueprint概念 简单来说,Blueprint 是一个存储操作方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask 可以通过Blueprint来组织URL以 ...
- MPAndroidChart Wiki(译文)~Part 6
22. ViewPortHandler ViewPortHandler负责处理图表的视窗.也就是说它负责图表视图中的展示给用户的那部分内容.包括图表位移,缩放级别,图表大小和绘制区域以及当前偏移量.V ...
- history.go(-1)在不同浏览器中的解析
今天遇到个问题: <a href="#" onclick="history.go(-1)">后退</a> 点击"后退" ...
- NuGet 本地服务器 公司组件库搭建 上传下载操作 模块化灵活设计
新年第一更,关于如何搭建NuGet的本地服务器,以及部署IIS,以此搭建公司自己的组件仓库,方便所有的组件更新,管理,测试等等操作. 关于如何在NuGet中下载指定的组件,参考这篇文章:http:// ...