问题标签 [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.
python - 使用 pyudev 仅查找磁盘驱动器
我希望使用 udev 枚举计算机上的所有硬盘,特别是 pyudev 来枚举所有内容:
这将打印出以下内容:
由于我主要关注的是实际驱动器,而不是光盘驱动器、环回设备或 RAM 设备,我如何过滤我的结果以仅获得真正的物理媒体?
python - 用 pyudev 检测 USB 键盘?
我一直在通过这个问题来尝试检测 USB 键盘的热插拔,但 ID_INPUT_KEYBOARD 不是代表我的键盘的 udev Device 对象中的键。
如何使用 pyudev 检测热插拔设备是否为键盘?
python - TypeError : 方法只需要 2 个参数(给定 3 个)
试图制作一个程序来使用 pyudev 监控 USB 驱动器连接。这是代码:
回溯:
请帮我纠正这个问题。
我正在尝试使用文档页面上给出的代码。正如您将注意到的,该device_connected
方法具有参数 -device_connected(observer,device)
但代码在这种情况下也不起作用。它返回抛出相同的错误。但我想知道它首先会如何工作。一个类的每个方法不应该有self
一个参数吗?
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
. 出了什么问题?请帮忙!
python - 使用 pyudev 获取硬盘序列号(基于 USB 记忆棒 / ATA)
一直在研究以下示例代码,以使用 pyudev 检索连接的 HDD 详细信息。
我正在尝试探测的设备:
- 普通sata硬盘
- USB转SATA转换器
- U 盘
使用以下脚本,我已经能够检索 U 盘信息。但是,当我连接USB 到 SATA 转换器时,我得到的是转换器的序列号,而不是 HDD。此外,对于我的常规 SATA 硬盘驱动器,“ID_VENDOR”出现异常。
样本输出:
示例代码:
有没有我遗漏的参数。请给我一些指示。
udev - udev 并不总是报告蓝牙设备上的“功能”
我一直在使用 pyudev 寻找蓝牙设备,然后使用“功能”属性来确定设备是否支持 LE。然而,就在最近的 Ubuntu 最新版本中,udev 不再报告任何“功能”。
这是我得到的详细信息:
然后在另一台继续按我预期工作的设备上:
某处是否存在某种配置更改导致响应不同?
编辑
我发现大多数缺失值现在都在,/sys/kernel/debug/bluetooth/hci0/
但我不知道为什么会这样。但是文件的格式features
是不同的。这是否由配置文件、编译器选项或其他东西控制?
python - 使用带有设备名称的 pyudev 检索 USB 信息
我从块子系统中检索第一个设备信息。例如,将 USB 记忆棒分配给 /dev/sdb。这是我可以通过块子系统检索的所有信息:
我想从 USB 子系统获取一些详细信息。但是,如何使用从块子系统中检索到的信息找到我的 USB 设备?
python - Pyudev - 两次调用函数
我对 pyudev 库的使用有疑问。
我想要一个程序来检测 USB 插入并打印一些东西到控制台。这是我的代码:
问题是当我运行脚本时,似乎 device_event 函数被调用了两次。我插入 USB 设备时得到的输出是:
找遍了,没找到答案,求帮助,谢谢
python - PyGame 在重新连接时重新初始化 USB MIDI 设备
我正在使用 PyGame 读取 USB MIDI 设备,与此处使用的非常相似,除了我将它作为 Raspberry Pi 上的后台服务运行。
我希望能够断开并重新连接 MIDI 设备,并且仍然能够读取它。
我尝试了两种方法:
- 使用 pygame.midi.get_count() 和 info() 定期枚举 MIDI 设备。
- 使用 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) 之前,我希望有人能指出我正确的方向。
bluetooth - Pyudev 可以检测蓝牙设备吗?
我正在编写一个应用程序来监视连接到计算机的一些设备。我像这样遍历所有设备:
检测到 USB 设备以及大多数内置板(以太网,...),但不知道在蓝牙中连接的设备(在 rfcomm 中配对和连接)。我错过了什么,还是 Pyudev 根本无法发现这些设备?