RK3288 固定USB接口接串口线时的ttyUSB节点

当 RK3288 主板接 USB 转串口线时,USB 转串口已经调试 OK,生成的 ttyUSBx 理论上是递增的,但可能拔插一次就会变一次。

如果 ttyUSBx 是变化,会给上层读写数据造成很大麻烦。

此贴实现固定主板上某个 USB 接口为 ttyUSBx,此 USB 接口无论插什么 IC 的 USB转串口线(调试OK),或者任意插拔,生成的节点是不变的。

 

1、在主板上固定的 USB 插两根 USB 转串口线,生成的节点为 ttyUSB0 和 ttyUSB1。

root@RK3288:/ # ls /dev/ttyUSB*
ls /dev/ttyUSB*
/dev/ttyUSB0
/dev/ttyUSB1

 

2、通过指令查看这两个 USB 接口的详细信息,第一个 USB 为 3-1.2,第二个 USB 为 3-1.1.2

root@RK3288:/sys/bus/usb-serial/devices # ls -l ttyUSB0
ls -l ttyUSB0
lrwxrwxrwx root     root              2011-01-01 20:33 ttyUSB0 -> ../../../devices/ff540000.usb/usb3/3-1/3-1.2/3-1.2:1.0/ttyUSB0
root@RK3288:/sys/bus/usb-serial/devices # ls -l ttyUSB1
ls -l ttyUSB1
lrwxrwxrwx root     root              2011-01-01 20:35 ttyUSB1 -> ../../../devices/ff540000.usb/usb3/3-1/3-1.1/3-1.1.2/3-1.1.2:1.0/ttyUSB1

 

3、根据上一步记录的信息增加判断代码,固定第一个 USB 为 ttyUSB5,固定第二个 USB 为 ttyUSB6

复制代码
diff --git a/kernel/drivers/usb/serial/usb-serial.c b/kernel/drivers/usb/serial/usb-serial.c
index 80d689f..a779f9f 100755
--- a/kernel/drivers/usb/serial/usb-serial.c
+++ b/kernel/drivers/usb/serial/usb-serial.c
@@ -89,6 +89,15 @@ static struct usb_serial *get_free_serial(struct usb_serial *serial,
        *minor = 0;
        mutex_lock(&table_lock);
        for (i = 0; i < SERIAL_TTY_MINORS; ++i) {
+               if(strcmp((char*)serial->port[0]->serial->dev->devpath, "1.2") == 0){
+                       i = 5; 
+               }else if(strcmp((char*)serial->port[0]->serial->dev->devpath, "1.1.2") == 0){
+                       i = 6; 
    
                if (serial_table[i])
                        continue;
复制代码

 

此时 USB 已经固定,在第一个 USB 接其中任意一条串口线,生成的节点都是 ttyUSB5,第二个 USB 接其中任意一条串口线,生成的节点都是 ttyUSB6。

posted @   LeeAaron  阅读(1666)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示