ubuntu22.04 找不到串口,串口ttyusb时断时续的问题(拔插以后能检测到,过会儿就检测不到了)
1. 问题描述
ubuntu22.04的PC,在连接USB串口的时候,有时能找到ttyUSB0,有时找不到,如下:
base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 16:36 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 16:36 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 16:36 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 16:36 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ lsmod | grep usbserial
usbserial 57344 1 ftdi_sio
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 16:36 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
ls: 无法访问 '/dev/ttyUSB*': 没有那个文件或目录
(base) airs@airs-Precision-3630-Tower:~$ ^C
(base) airs@airs-Precision-3630-Tower:~$ ^C
(base) airs@airs-Precision-3630-Tower:~$ ^C
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
ls: 无法访问 '/dev/ttyUSB*': 没有那个文件或目录
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
ls: 无法访问 '/dev/ttyUSB*': 没有那个文件或目录
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
ls: 无法访问 '/dev/ttyUSB*': 没有那个文件或目录
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 16:37 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 16:37 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 16:37 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 16:37 /dev/ttyUSB0
在重新插拔以后就能找到,过一会儿或者重新输入指令以后就找不到。芯片用的是 FTI232.lsmod | grep usbserial
这个指令是能够看到有驱动的,
(base) airs@airs-Precision-3630-Tower:~$ lsmod | grep ftdi
ftdi_sio 65536 0
usbserial 57344 1 ftdi_sio
这个网站说是驱动被占用,同样的,这个帖子说可以打印相应的log信息可以看一下是否是占用:
(base) airs@airs-Precision-3630-Tower:~$ sudo dmesg|grep -i ftdi*
显示如下,和这个帖子说的问题一样,也是最后disconneted了.
[ 2.055330] usb 1-8: Manufacturer: FTDI
[ 2.055333] usb 1-8: SerialNumber: FTDESKD4
[ 3.413041] usbcore: registered new interface driver ftdi_sio
[ 3.413047] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 3.413065] ftdi_sio 1-8:1.0: FTDI USB Serial Device converter detected
[ 3.419283] usb 1-8: FTDI USB Serial Device converter now attached to ttyUSB0
[ 3.941997] usb 1-8: usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1
[ 3.942590] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 3.942604] ftdi_sio 1-8:1.0: device disconnected
[ 95.934601] usb 1-8: Manufacturer: FTDI
[ 95.934605] usb 1-8: SerialNumber: FTDESKD4
[ 95.940217] ftdi_sio 1-8:1.0: FTDI USB Serial Device converter detected
[ 95.941248] usb 1-8: FTDI USB Serial Device converter now attached to ttyUSB0
[ 116.880705] usb 1-8: usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1
[ 116.882065] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 116.882110] ftdi_sio 1-8:1.0: device disconnected
[ 140.223162] usb 1-8: Manufacturer: FTDI
[ 140.223166] usb 1-8: SerialNumber: FTDESKD4
[ 140.228639] ftdi_sio 1-8:1.0: FTDI USB Serial Device converter detected
[ 140.229643] usb 1-8: FTDI USB Serial Device converter now attached to ttyUSB0
[ 145.335555] usb 1-8: usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1
[ 145.336732] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 145.336777] ftdi_sio 1-8:1.0: device disconnected
[ 2322.200683] usb 1-9: Manufacturer: FTDI
[ 2322.200687] usb 1-9: SerialNumber: FTDDF5EZ
[ 2322.205846] ftdi_sio 1-9:1.0: FTDI USB Serial Device converter detected
[ 2322.207451] usb 1-9: FTDI USB Serial Device converter now attached to ttyUSB0
[ 2344.201004] usb 1-9: usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1
[ 2344.202689] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 2344.202732] ftdi_sio 1-9:1.0: device disconnected
找到问题以后,按照上面两个网站里的说法,执行sudo apt remove brltty
把brltty删掉,发现不管怎么删,还剩一个:
(base) airs@airs-Precision-3630-Tower:~$ sudo dmesg | grep brltty
[ 4.032228] usb 1-9: usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1
于是再次搜索usbfs: interface 0 claimed by等关键词,发现了这个方法: 通过禁用掉该服务的方式,有效解决方法,这里面详细解释了为什么ttyUSB,重新插拔以后能够检测到,过会儿就找不到了,原来是该设备连接到了 ttyUSB0 端口,突然被一个叫 brltty 的进程一脚踹掉了.按照上述网站的方法禁用掉以后,就可以稳定的检测到ttyUSB0了
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 17:57 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 17:57 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 17:57 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 17:57 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 17:57 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 17:57 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 17:57 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 17:57 /dev/ttyUSB0
(base) airs@airs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Aug 17 17:57 /dev/ttyUSB0
相关文章:
ubuntu22.04 找不到串口,串口ttyusb时断时续的问题(拔插以后能检测到,过会儿就检测不到了)
1. 问题描述 ubuntu22.04的PC,在连接USB串口的时候,有时能找到ttyUSB0,有时找不到,如下: base) airsairs-Precision-3630-Tower:~$ ls -l /dev/ttyUSB* crwxrwxrwx 1 root dialout 188, 0 Aug 17 16:36 /dev/ttyUSB0 (base) air…...
Pinia基础教程
Pinia wiki Pinia 起始于 2019 年 11 月左右的一次实验,其目的是设计一个拥有组合式 API 的 Vue 状态管理库。从那时起,我们就倾向于同时支持 Vue 2 和 Vue 3,并且不强制要求开发者使用组合式 API,我们的初心至今没有改变。除了安…...

【NOIP】标题统计
author:&Carlton tags:模拟,字符串 topic:【NOIP】标题统计 language:C website:P5015 [NOIP2018 普及组] 标题统计 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) date:2023年8月20日…...

BOXTRADE-天启量化分析平台 系统功能预览
BOXTRADE-天启量化分析平台 系统功能预览 系统功能预览 1.登录 首页 参考登录文档 2. A股 行情与策略分析 2.1 A股股票列表 可以筛选和搜索 2.2 A股行情及策略回测 2.2.1 行情数据提供除权和前复权,后复权数据;外链公司信息 2.2.2 内置策略执行结果…...

解决Kibana(OpenSearch)某些字段无法搜索问题
背景 最近在OpenSearch查看线上日志的时候,发现某个索引下有些字段无法直接在界面上筛选,搜索到也不高亮,非常的不方便,就像下面这样 字段左侧两个筛选按钮禁用了无法点击,提示 Unindexed fields can not be searched…...
代码随想录训练营day15|102.层序遍历 226.翻转二叉树 101.对称二叉树
TOC 前言 代码随想录算法训练营day15 一、Leetcode 102.层序遍历 1.题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:…...
Nginx 配置https以及wss
一、申请https证书 可以在阿里云申请免费ssl证书,一年更换一次 二、Nginx配置ssl upstream tomcat_web{server 127.0.0.1:8080; }server {listen 443 ssl;server_name www.xxx.com;## 配置日志文件access_log /var/log/nginx/web/xxx-ssl-access.log main;er…...

Log4net在.Net Winform项目中的使用
引言: Log4net是一个流行的日志记录工具,可以帮助开发人员在应用程序中实现高效的日志记录。本文将提供一个详细的分步骤示例,来帮助您在.Net Winform项目中使用Log4net。 目录 一、安装Log4net二、配置Log4net三、在项目中使用Log4net四、初…...
从零到一制作扫雷游戏——C语言
什么是扫雷游戏? 扫雷游戏作为一种老少咸宜的益智游戏, 它的游戏目标十分简单,就是要求玩家在最短的时间内, 根据点击格子之后所出现的数字来找出所有没有炸弹的格子, 同时在找的时候要避免点到炸弹,一…...
Python 数据挖掘与机器学习教程
详情点击链接:Python 数据挖掘与机器学习教程 模块一:Python编程 Python编程入门 1、Python环境搭建( 下载、安装与版本选择)。 2、如何选择Python编辑器?(IDLE、Notepad、PyCharm、Jupyter…ÿ…...
排序小白必读:掌握插入排序的基本原理
一、插入排序是什么? 它是一种简单直观的排序算法。类似于整理扑克牌,想象你手上有一堆未排序的牌,你将它们逐个插入已排序的牌堆中的正确位置。拿起一张牌,与已排序的牌进行比较,将它插入到合适的位置。重复这个过程…...
html常见兼容性问题
1. png24位的图片在iE6浏览器上出现背景 解决方案:做成PNG8,也可以引用一段脚本处理. 2. 浏览器默认的margin和padding不同 解决方案:加一个全局的 *{margin:0;padding:0;} 来统一。 3. IE6双边距bug:在IE6下,如果对…...
Docker实战:docker compose 搭建Redis
1、配置文件准备 redis 配置文件:https://pan.baidu.com/s/1YreI9_1BMh8XRyyV9BH08g2、创建目录并赋权 mkdir -p /home/docker/redis/data /home/redis/logs /home/redis/conf chmod -R 777 /home/docker/redis/data* chmod -R 777 /home/docker/redis/logs*3、re…...

Debian11 Crontab
Crontab用户命令 可执行文件 crontab命令的可执行文件在哪儿? $ which -a crontab /usr/bin/crontab /bin/crontabcrontab命令的可执行文件有2个:/usr/bin/crontab 和 /bin/crontab $ diff /usr/bin/crontab /bin/crontab $diff 发现这两个文件并无区…...

css 文字排版-平铺
序: 1、表格的宽度要有!!!!! 2、容器不能是display:inline 3、扩展---》node全栈框架 代码 text-align-last: justify; width: 70px; display: inline-block; 主要是用于表单左侧文字排序!...

把握潮流:服装定制小程序的发展与趋势
随着互联网的快速发展,小程序成为了人们生活中不可或缺的一部分。尤其在服装行业,定制化已经成为了一种趋势。为了满足消费者个性化的需求,服装定制小程序应运而生。 为了方便开发者的设计和制作,我们可以使用第三方的制作平台来创…...

Go 安装配置
介绍Ubuntu20.04 安装和配置Go 可以参考官网的这个为 Go 开发配置Visual Studio Code - Go on Azure | Microsoft Learn 1.安装Go 去这个地方下载Go https://go.dev/doc/install 如果之前安装过,可以参考这个(没有可以忽略) 下载完成后执…...

镜像底层原理详解和基于Docker file创建镜像
目录 一、镜像底层原理 1.联合文件系统(UnionFS) 2.镜像加载原理 3.为什么Docker里的centos的大小才200M? 二、Dockerfile 1.简介 2.Dockerfile操作常用命令 (1)FORM 镜像 (2)MAINTAINER 维护人信息 (3&…...

k8s扩缩容与滚动更新
使用kubectl run创建应用 kubectl run kubernetes-bootcamp \> --imagedocker.io/jocatalin/kubernetes-bootcamp:v1 \> --port8080 端口暴露出去 kubectl expose pod kubernetes-bootcamp --type"NodePort" --port 8080 使用kubectl create创建应用 kubect…...
4.小程序的运行机制
启动过程 把小程序的代码包下载到本地解析app.json全局配置文件执行app.js小程序入口文件,调用App()创建小程序的实例渲染小程序首页小程序启动完成 页面渲染过程 加载解析页面的.json配置文件加载页面.wxml模板和.scss样式执行页面的.ts文件,调用Pag…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...

Python环境安装与虚拟环境配置详解
本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...
window 显示驱动开发-如何查询视频处理功能(三)
D3DDDICAPS_GETPROCAMPRANGE请求类型 UMD 返回指向 DXVADDI_VALUERANGE 结构的指针,该结构包含特定视频流上特定 ProcAmp 控件属性允许的值范围。 Direct3D 运行时在D3DDDIARG_GETCAPS的 pInfo 成员指向的变量中为特定视频流的 ProcAmp 控件属性指定DXVADDI_QUER…...
codeforces C. Cool Partition
目录 题目简述: 思路: 总代码: https://codeforces.com/contest/2117/problem/C 题目简述: 给定一个整数数组,现要求你对数组进行分割,但需满足条件:前一个子数组中的值必须在后一个子数组中…...
第21节 Node.js 多进程
Node.js本身是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能。 每个子进程总是带有三个流对象:child.stdin, child.stdout和child.stderr。他们可能会共享…...