问题标签 [pyudev]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4088 浏览

python - 使用 pyudev 仅查找磁盘驱动器

我希望使用 udev 枚举计算机上的所有硬盘,特别是 pyudev 来枚举所有内容:

这将打印出以下内容:

由于我主要关注的是实际驱动器,而不是光盘驱动器、环回设备或 RAM 设备,我如何过滤我的结果以仅获得真正的物理媒体?

0 投票
0 回答
277 浏览

python - 用 pyudev 检测 USB 键盘?

我一直在通过这个问题来尝试检测 USB 键盘的热插拔,但 ID_INPUT_KEYBOARD 不是代表我的键盘的 udev Device 对象中的键。

如何使用 pyudev 检测热插拔设备是否为键盘?

0 投票
1 回答
1151 浏览

python - TypeError : 方法只需要 2 个参数(给定 3 个)

试图制作一个程序来使用 pyudev 监控 USB 驱动器连接。这是代码:

回溯:

请帮我纠正这个问题。

我正在尝试使用文档页面上给出的代码。正如您将注意到的,该device_connected方法具有参数 -device_connected(observer,device)但代码在这种情况下也不起作用。它返回抛出相同的错误。但我想知道它首先会如何工作。一个类的每个方法不应该有self一个参数吗?

0 投票
1 回答
453 浏览

python - Pyudev:即使属性存在,也会引发 KeyError

我正在尝试在 python 中使用 pyudev 监视和过滤 USB 大容量存储设备。在给定的代码中,如果设备的ID_FS_USAGE属性为None

执行上述代码后显示的回溯是:

我在 USB 大容量存储模式下连接了两个设备,一个 USB 内存驱动器和一个智能手机。对应于 USB 内存驱动器的 /dev 条目是/dev/sdc/dev/sdc1/dev/sdd/dev/sde对应手机。在这里,设备/dev/sdd确实有一个名为的属性ID_FS_USAGE,它不是无。但它仍然会引发 KeyError 。令人惊讶的是,对于/dev/sdc1. 出了什么问题?请帮忙!

0 投票
1 回答
1525 浏览

python - 使用 pyudev 获取硬盘序列号(基于 USB 记忆棒 / ATA)

一直在研究以下示例代码,以使用 pyudev 检索连接的 HDD 详细信息。

我正在尝试探测的设备:

  1. 普通sata硬盘
  2. USB转SATA转换器
  3. U 盘

使用以下脚本,我已经能够检索 U 盘信息。但是,当我连接USB 到 SATA 转换器时,我得到的是转换器的序列号,而不是 HDD。此外,对于我的常规 SATA 硬盘驱动器,“ID_VENDOR”出现异常。

样本输出:

示例代码:

有没有我遗漏的参数。请给我一些指示。

0 投票
1 回答
816 浏览

udev - udev 并不总是报告蓝牙设备上的“功能”

我一直在使用 pyudev 寻找蓝牙设备,然后使用“功能”属性来确定设备是否支持 LE。然而,就在最近的 Ubuntu 最新版本中,udev 不再报告任何“功能”。

这是我得到的详细信息:

然后在另一台继续按我预期工作的设备上:

某处是否存在某种配置更改导致响应不同?

编辑 我发现大多数缺失值现在都在,/sys/kernel/debug/bluetooth/hci0/ 但我不知道为什么会这样。但是文件的格式features是不同的。这是否由配置文件、编译器选项或其他东西控制?

0 投票
1 回答
10223 浏览

python - 使用带有设备名称的 pyudev 检索 USB 信息

我从块子系统中检索第一个设备信息。例如,将 USB 记忆棒分配给 /dev/sdb。这是我可以通过块子系统检索的所有信息:

我想从 USB 子系统获取一些详细信息。但是,如何使用从块子系统中检索到的信息找到我的 USB 设备?

0 投票
1 回答
433 浏览

python - Pyudev - 两次调用函数

我对 pyudev 库的使用有疑问。

我想要一个程序来检测 USB 插入并打印一些东西到控制台。这是我的代码:

问题是当我运行脚本时,似乎 device_event 函数被调用了两次。我插入 USB 设备时得到的输出是:

找遍了,没找到答案,求帮助,谢谢

0 投票
3 回答
805 浏览

python - PyGame 在重新连接时重新初始化 USB MIDI 设备

我正在使用 PyGame 读取 USB MIDI 设备,与此处使用的非常相似,除了我将它作为 Raspberry Pi 上的后台服务运行。

我希望能够断开并重新连接 MIDI 设备,并且仍然能够读取它。

我尝试了两种方法:

  1. 使用 pygame.midi.get_count() 和 info() 定期枚举 MIDI 设备。
  2. 使用 pyudev 监控 USB 事件,类似于示例。

(1) 的问题在于 pygame.midi 似乎总是返回相同的值(get_count 和 info),无论设备是否仍然连接。

(2) 的问题是它永远不会调用我为事件注册的异步函数(尽管独立示例工作正常,只需将子系统更改为 USB)。我认为这可能是线程的问题,所以我调用了所有东西来注册来自专用线程的事件,然后运行 ​​glib.MainLoop.run() 到空闲等待,但发现 pygame 将无法读取 midi 设备如果我在运行我的 AMK 类之前启动了任何线程,甚至只是一个打印一些内容并返回的线程。(我正在使用 glib,因为 Pi repo 中的 pyudev 版本是 0.13,但我猜更新的方法是 gobject 等价的)。

因此,我求助于使用 udevd 来检测连接事件并通过 /etc/udev/rules.d/ 触发器重新启动我的服务,这可以正常工作,但是很笨拙,并且在我的脚本中丢失了状态(我想保存)。

因此,在我浪费更多时间调试 (2) 之前,我希望有人能指出我正确的方向。

0 投票
1 回答
143 浏览

bluetooth - Pyudev 可以检测蓝牙设备吗?

我正在编写一个应用程序来监视连接到计算机的一些设备。我像这样遍历所有设备:

检测到 USB 设备以及大多数内置板(以太网,...),但不知道在蓝牙中连接的设备(在 rfcomm 中配对和连接)。我错过了什么,还是 Pyudev 根本无法发现这些设备?