gpt4 book ai didi

c - 没有 udev 或 libusb 的 linux 上的 usb 连接事件

转载 作者:太空狗 更新时间:2023-10-29 11:09:14 26 4
gpt4 key购买 nike

我需要找到一种方法来检测何时将 USB 设备插入旧的嵌入式 Linux (CentOs 4) 中的 C 中。

libudevlibusb 不可用,所以我对这里的选项有点无能为力。有 dbus,但是我不能使用 udisks,因为我需要检测的设备不是存储设备。

谢谢。

最佳答案

您可以尝试编写自定义脚本并将其注册到/proc/sys/kernel/hotplug。当 uevent 发生时,内核将调用您的脚本并将子系统(在您的情况下为 usb)作为参数传递。然后你必须匹配设备(我不知道该怎么做,这可能是最棘手的部分)。

与 USB 子系统匹配的自定义热插拔脚本的框架:

$ cat my_hotplug.sh #!/bin/sh[ "$1" = usb ] || exit 0echo "Do something here"

将您的热插拔脚本注册为 uevent 助手:

echo /path/to/my_hotplug.sh > /proc/sys/kernel/hotplug

关于c - 没有 udev 或 libusb 的 linux 上的 usb 连接事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22157797/

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