Linux 用户 space 上的 USB 插件检测
USB pluggin detection on Linux User space
- 我正在 Linux 用户 space 中为 HMI 编写 C 程序。当笔式驱动器插入我的 SBC 上的 USB 端口时,我想检测它。我是运行 Lubuntu就可以了。所以它没有 udev 库。当我尝试在 SBC 上安装 udev 时,它要求依赖项并且版本兼容性问题即将出现。是否有任何其他方法来检测用户 space.
的 Pendrive 插入
- 当我将设备 ex: /dev/sdc1(pendrive) 安装到特定文件夹 ex: /mnt/vj 时,它被正确安装。如果我在没有卸载的情况下移除 pendrive,那么当下次 pendrive 插入时,它被检测为 /dev/sdd1 。在这种情况下如何修复 pendrive 的逻辑名称。我希望它始终是 /dev/sdc1。可能吗?
感谢期待。
您可以实现自己的事件监听守护进程而不是 udev。您必须创建类型 NETLINK_KOBJECT_UEVENT
的网络链接套接字。通过解析事件,您将能够检测到驱动器的插入。
无法确保名称始终相同,但您可以在检测到事件后创建指向正确块设备的符号链接。
检查 link ubuntu 12.04 libudev-dev won't install because of dependencies 应该主要解决您的 udev installation/dependencies 问题(如果相关)。
udev 是检测硬件插件和获取设备信息的最简单方法之一。检查作为 udev 一部分的 libudev(Linux 内核的设备管理器)。除了在将硬件设备添加到系统或从系统中删除时管理 /dev 目录中的设备节点外,udev 还处理在各种操作期间引发的所有相关用户-space 事件,例如 addition/removal .
libudev 允许访问设备信息,还提供了一个监控接口,如udev_monitor,连接到设备事件源。 udev_monitor_get_fd 提供文件描述符,可与select 系统调用一起使用以进行监控。
检查此 link,其中包含与 libudev 使用相关的信息 http://www.signal11.us/oss/udev/
- 我正在 Linux 用户 space 中为 HMI 编写 C 程序。当笔式驱动器插入我的 SBC 上的 USB 端口时,我想检测它。我是运行 Lubuntu就可以了。所以它没有 udev 库。当我尝试在 SBC 上安装 udev 时,它要求依赖项并且版本兼容性问题即将出现。是否有任何其他方法来检测用户 space. 的 Pendrive 插入
- 当我将设备 ex: /dev/sdc1(pendrive) 安装到特定文件夹 ex: /mnt/vj 时,它被正确安装。如果我在没有卸载的情况下移除 pendrive,那么当下次 pendrive 插入时,它被检测为 /dev/sdd1 。在这种情况下如何修复 pendrive 的逻辑名称。我希望它始终是 /dev/sdc1。可能吗?
感谢期待。
您可以实现自己的事件监听守护进程而不是 udev。您必须创建类型
NETLINK_KOBJECT_UEVENT
的网络链接套接字。通过解析事件,您将能够检测到驱动器的插入。无法确保名称始终相同,但您可以在检测到事件后创建指向正确块设备的符号链接。
检查 link ubuntu 12.04 libudev-dev won't install because of dependencies 应该主要解决您的 udev installation/dependencies 问题(如果相关)。
udev 是检测硬件插件和获取设备信息的最简单方法之一。检查作为 udev 一部分的 libudev(Linux 内核的设备管理器)。除了在将硬件设备添加到系统或从系统中删除时管理 /dev 目录中的设备节点外,udev 还处理在各种操作期间引发的所有相关用户-space 事件,例如 addition/removal .
libudev 允许访问设备信息,还提供了一个监控接口,如udev_monitor,连接到设备事件源。 udev_monitor_get_fd 提供文件描述符,可与select 系统调用一起使用以进行监控。
检查此 link,其中包含与 libudev 使用相关的信息 http://www.signal11.us/oss/udev/