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…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...

21-Oracle 23 ai-Automatic SQL Plan Management(SPM)
小伙伴们,有没有迁移数据库完毕后或是突然某一天在同一个实例上同样的SQL, 性能不一样了、业务反馈卡顿、业务超时等各种匪夷所思的现状。 于是SPM定位开始,OCM考试中SPM必考。 其他的AWR、ASH、SQLHC、SQLT、SQL profile等换作下一个话题…...