gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 17:03:57 25 4
gpt4 key购买 nike

我想以编程方式在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com