问题标签 [udev]

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 投票
0 回答
195 浏览

linux - Linux - 两个设备写入同一个设备节点

好的,我的 linux 盒子上连接了两个操纵杆,它们显示为 /dev/js0 和 /dev/js1。我的问题是,我有一个第三方应用程序(我无法更改),它使用操纵杆,它只能听一个节点,(所以一次只能听一个操纵杆)。
我可以确定应用程序将“监听”哪个节点(例如 /dev/js0),但我只能指定一个节点。这意味着我可以确定应用程序将使用哪个操纵杆,但这也意味着它一次只能使用一个操纵杆。我的任务是想出一种方法,该应用程序可以在非此即彼的场景中同时使用两个操纵杆,而不是其中一个。

有没有办法将两个操纵杆节点的输出重定向到第三个节点,然后我可以将应用程序指向该节点?是否有另一种方法可以以某种方式将这两个驱动程序/节点“合并”成一个?

我尝试使用 mknod 创建一个新的第三个节点 (dev/js2),但我不知道如何将 js0 和 js1 的输出重定向到 js2。

我也不反对使用小程序和 udev 来做这件事,但我不知道该怎么做。

谢谢

0 投票
1 回答
4262 浏览

linux - 在 udev 中替换 hal-get-property 和 hal-find-by-capability?

我需要将一个使用过时的 HAL 工具的 bash 脚本移植到 udevhal-get-propertyhal-find-by-capabilityudev。HAL声明 HAL 已合并到 udev,但我找不到有关如何将此脚本正确移植到 udev 的有用信息。

示例:如果我想要所有存储硬件(使用 HAL)的列表,我可以运行

hal-find-by-capability --capability storage

这会给我一个UDI(唯一设备标识符)列表,如下所示:

/org/freedesktop/Hal/devices/storage_model_Virtual_disk
/org/freedesktop/Hal/devices/storage_serial_00000000000000000001
/org/freedesktop/Hal/devices/platform_floppy_0_storage

如果我现在想知道/org/freedesktop/Hal/devices/storage_model_Virtual_disk是否可移动,我可以发出以下查询

hal-get-property --udi /org/freedesktop/Hal/devices/storage_model_Virtual_disk --key storage.removable

它会回答trueor false

所以我的问题是:
没有 HAL,我怎么能做这些事情?
sysfsutils ( systool) 可以工作,但它似乎不是一个合适的替代品。
这适用udevadm info吗?

0 投票
0 回答
214 浏览

notifications - 连接到 kset->uevent_ops 以获取设备通知

在 Linux 内核版本 2.6.34 之前,我曾经挂接到 uevent_ops 以在我的块设备驱动程序的 init_module 中获取设备添加/删除通知。

现在我想将我的驱动程序移植到 3.2 ,但是 kset->uevent_ops 是恒定的,所以我不能加入它。他们有什么方法可以在我的设备驱动程序中获取块设备驱动程序的通知吗?我也可以将通知链用于块设备吗?

提前致谢。

0 投票
2 回答
14949 浏览

shell - 从 udev 规则文件向 shell 脚本传递参数

在规则文件中,通过传递参数“LABEL”和“DEVNAME”来执行脚本以进行挂载

在 usb_mount.sh 文件中,将参数值打印为

一些设备的 LABEL 字段为空,因此 DEVNAME 打印为标签。在 bash 脚本中,我们可以在双引号中传递 args,即使 args 为空,它也会起作用。

将 args 传递给 udev 规则的等效项是什么?

解决此问题的方法可能是切换参数的顺序。有什么可靠的方法吗?

0 投票
1 回答
1947 浏览

c - RHEL 5 libudev.h 中的编译错误没有这样的文件或目录

总而言之,在从“apt-get”获取 udev 库后,我正在尝试编译一些在 Ubuntu 中编译的代码。我试图让它在 RedHat 5 中编译,但出现以下编译错误:

错误:libudev.h:没有这样的文件或目录

问题类似于:QSerialDevice: Compilation error "libudev.h: No such file or directory"

但是,不是在 Ubuntu 上发生故障,而是在 RedHat 5 上发生。我尝试查找 udev 库的 RPM 文件,并从以下链接获得了一个 RPM 文件。当我双击它时,RPM 文件安装不成功,说明:

“无法安装源包”“没有提供安装包”

http://www.linuxquestions.org/questions/linux-software-2/i-need-libudev-or-udev-devel-for-red-hat-5-a-4175422051/

udev-147-2.42.el6.src.rpm 是 RPM 的名称

任何帮助,将不胜感激。在 Google 上进行搜索开始让我相信这个 libudev.h 仅适用于 Ubuntu?这是真的!?

0 投票
1 回答
37202 浏览

linux - 如何知道哪个设备连接在哪个 /dev/ttyUSB 端口

我正在使用两个 Wavecom 16 端口调制解调器。当我将调制解调器连接到我的系统时,我能够列出所有/dev/ttyUSB端口名称,但我也想知道,哪个调制解调器包含端口 0 到 16,哪个调制解调器包含端口 17 到 32?

调制解调器可能在一天内多次连接和移除,所以我还想在调制解调器断开连接并再次连接时保留日志。

知道如何使用 c/c++/php script/node.js 这样做吗?

0 投票
1 回答
1836 浏览

linux - 如何始终如一地从串行端口记录数据?

我需要处理两个自定义硬件,它们都通过两个串行连接发送调试数据。这些串行连接通过两个串行到 USB 转换器。串行转 USB 设备具有相同的供应商编号、设备编号,并且显然具有相同的序列号。

这是问题所在:我想分别记录两个串行端口。自定义硬件需要不断重启,它们是否附加到相同的硬件/dev/ttyUSB*是完全随机的。我怎样才能让他们每次都选择相同的设备路径?我可以让它依赖于它插入的端口,但这似乎有点hacky。

因此,我对 udevadm 的输出进行了比较,如下所示:

diff的输出很长;在这里你可以看到它

Grepping for serial(两者相同):

其他信息:

我正在使用 PuTTY 从串行端口读取数据。
操作系统:

0 投票
1 回答
13202 浏览

linux - udevadm 解决有什么用?

我已经看到了使用 udevadm 解决命令的方法。在 init 脚本中这样的命令有什么用?

0 投票
1 回答
1470 浏览

ubuntu - Stellaris Launchpad 的示例 UDEV 文件

我正在尝试让我的Stellaris LaunchpadEnergia IDE一起使用。我被告知要上传程序并运行我必须创建一个 udev 条目的串行端口。

我对 linux 比较陌生(虽然不是 Ubuntu),所以任何人都可以向我提供一个示例 udev 文件。

我的 Stellaris 板位于端口 /dev/ttyACM0,VID=1cbe 和 PID=00fd。

截至目前我正在使用这个->

提前致谢

0 投票
2 回答
1103 浏览

python - 我的系统需要超过 32 个 USB 声卡

我正在开展一个教育性多座位项目,我们需要将 36 个键盘和 36 个 USB 声卡连接到一台计算机。我们正在运行带有 3.6.3-030603 通用内核的 Ubuntu Linux 12.04。

到目前为止,我们已经设法从 36 个键盘获取输入,并识别了 36 个声卡,而没有出现内核恐慌(在更新内核之前发生)。我们知道 36 声卡已经被识别,因为$ lsusb | grep "Audio" -c输出36

但是,$ aplay -l总共列出了 32 个播放设备(包括“内部”声卡)。另外,$ alsamixer -c 32说“无效的卡片索引:32”(仅从 0 到 31 工作;总共也有 32 个)。

所以我的问题是,如果这些命令甚至没有列出其他声卡,我该如何访问它们?我正在用 python 编写一个应用程序,并且有一些库可供选择,但我担心它们也会因此被限制为总共 32 个设备。任何指导都会很有用。

谢谢。