Ubuntu 22.04 中不存在 /dev/ttyUSB0

Ubuntu 22.04 中不存在 /dev/ttyUSB0

我刚刚全新安装了 Ubuntu 22.04,它破坏了对基于 CH340 USB 转串行适配器的设备的支持。(支持在 20.04 中是原生的)
当我这样做时,/$ ls /dev列表中没有 ttyUSB0 条目。
如果我这样做,/$ lsusb我会得到:Bus 003 Device 002: ID 1a86:7523 QinHeng Electronics CH340 serial converter

如果我这样做,/$ lsmod我可以看到正确的模块已被加载:ch34x 24576 0

我尝试手动创建节点并将mknod /dev/ttyUSB0 c 188 0其 chmod 设置为 777,但它也不起作用。

欢迎任何帮助:)

答案1

除非你使用盲文显示器,否则这应该可以解决问题:

sudo apt remove brltty 

不要忘记拔下和打开你的加密狗。

答案2

发生这种情况是因为产品 ID(盲文屏幕阅读器和我的基于 CH340 的芯片)之间发生冲突。解决方案如下:

  1. 编辑/usr/lib/udev/rules.d/85-brltty.rules
  2. 搜索此行并将其注释掉:
    ENV{PRODUCT}=="1a86/7523/*", ENV{BRLTTY_BRAILLE_DRIVER}="bm", GOTO="brltty_usb_run"
    
  3. reboot

更多关于https://unix.stackexchange.com/questions/670636/unable-to-use-usb-dongle-based-on-usb-serial-converter-chip

答案3

我遇到这个问题是因为内核问题。

5.4.0-99-通用模块包中没有 USB 串行驱动程序,而4.15.0-96-通用他们也Linux 模块-5.4.0-99-低延迟。由于模块格式不同,这些模块无法使用。几乎所有模块都可以使用,但似乎有一个模块打包错误,当然未经检查就发布了。

简而言之,在这种情况下采取的步骤

  1. 检查驱动程序是否可用

$ find /lib/modules/$( uname -r ) | grep usb/serial

  1. 尝试重新安装 -generic
  2. 仍然无法运作
  3. 后悔一切
  4. 删除 5.4 版内核,它似乎是从 18.04 向前移植的?!然后切换到 4.15.0 / linux-generic
  5. 发现它仍然不起作用并手动加载 ftdi_sio 驱动程序。
  6. 发现它仍然无法工作,因为驱动程序没有完全连接到内核中的设备
  7. 记得在 Windows 95 Rel2.0 上有一个非常有用的解决方法,它引入了 USB 支持,但仍然有很多小问题
  8. 尝试解决方法:重新插入 USB 设备
  9. 看到它现在可以加载并且完全正常运行
  10. 我想知道,如果我仍然可以超频 MMX 奔腾处理器、玩 Quake 或 Falcon 4.0 并处理与 1997 年相同的问题,那么从事 IT 工作的意义何在,从 PC 销售员和组装工,到服务台,到二级,到三级,到咨询!

答案4

Ubuntu 23.04 带有 PlatformIO... 我遇到过同样的问题,并在不同时间成功应用了上述所有修复。它又坏了。即使 d1-mini 连接和断开连接,相同的端口不存在错误消息...并且设置了权限/组!

我的解决方案...问题似乎在于端口的指定方式... ttyUSB0 不再起作用。请改用 /dev/ttyUSB0。

在 platformio 之外进行测试是使用以下命令安装 esptool:

sudo apt 安装 esptool

然后尝试使用各种端口字符串:

esptool --port /dev/ttyUSB0 read_mac

对于 platformio,将以下行添加到 platformio.ini 文件的 [env] 部分:

上传端口 = /dev/ttyUSB0

相关内容