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…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
