ubuntu - 从 Ubuntu WSL 查找事件的 COM 端口(或从 bash 探测设备注册表)

标签 ubuntu windows-subsystem-for-linux

我想以编程方式在 Windows 10 上的 Ubuntu WSL 中发现 USB 串行设备插入的串行端口的名称。例如,Windows 中的 COM9 对应于 Ubuntu WSL 中的/dev/ttyS9。

从 Windows 10,

  • 当手动搜索“端口(COM 和 LPT)”时,设备管理器会在 GUI 中显示设备
  • Windows 命令提示实用程序通过“reg query”命令列出事件的串行设备。具体来说,

reg query \HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM

所以看起来这样做的方法是在 Bash 风格的命令中运行上述查询,假设 Windows 注册表对 Ubuntu WSL 甚至是可见的。是吗?

其他死胡同:

  • 在 Linux 机器上,插入 USB 设备会在/var/log/something(系统日志?)中放入一条消息。在 Ubuntu WSL 上,我没有看到任何插入设备的日志文件更新,这可能意味着插件事件没有从 Windows 传递到 Ubuntu WSL。
  • 通过“ls -l”查看设备/dev/ttyS* 上的日期/时间,插入 USB 设备的端口上没有时间更新。
  • 实际上,USB 设备中有一个 FTDI 芯片。如果规则被识别,则可以将其放入“/etc/udev”,但我看不到支持 udev 的证据。

未探索:

  • 'binfmt_misc' 运行 Windows 二进制文件。这值得追求吗?这不具有内核依赖性吗?当内核实际上是 Windows 内核时,这意味着什么?

最佳答案

如果您安装了正确的端口/串行驱动程序(检查设备管理器),则运行:

$(ls/dev/ttyS*) 中的 tty;做 stty -F $tty -a;完成

任何可识别的设备都不会显示...输入/输出错误

关于ubuntu - 从 Ubuntu WSL 查找事件的 COM 端口(或从 bash 探测设备注册表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57898382/

相关文章:

python - 如何在Win11下显示WSL2中的matplotlib窗口?

ubuntu - 使用 Firewatir 和 Ubuntu 进行下载测试

bash - 如何在ubuntu 10.04的gedit的嵌入式终端中自动运行 "/bin/bash --login"?

linux - 在 Windows 上的 Ubuntu 上的 Bash 上设置 $PATH 的问题(Linux 子系统)

Bash/ffmpeg : How to loop over all wave files that do not have 16bit and 44. 1 khz?

sudo - 无法删除 "permission denied"文件 - 即使使用 "sudo"和正确的用户/组设置

mobile - 如何在 ubuntu Touch 设备上安装应用程序

python - MySQL 连接器不工作 : NO module named Connector

linux - 在一定大小的预文件夹中备份文件

windows - 如何使用 127.0.0.1 从 Windows 主机访问在 WSL2 中运行的服务?