【发布时间】:2014-09-17 03:18:27
【问题描述】:
我使用的是通常连接在 /dev/ttyUSB0 上的 USB 设备
有时当有更多 USB 设备时,它会转到 /dev/ttyUSB1 或其他设备
我在 /etc/udev/rules.d/myrule.rules 下添加了一条规则,其中包含以下行:
SUBSYSTEM=="usb", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy", MODE="0666", SYMLINK="MyUSB"
这很好,当我插入我的 USB 设备时,我准备好 /dev/MyUSB 文件。
问题是,当我尝试使用我的 C++ 程序访问此文件时,它无法发送消息:“设备的 ioctl 不合适”。 如果我使用 /dev/ttyUSB0,它也可用,一切正常。
我必须修改我的 C++ 代码来处理 SYMLINKS 吗?
提前致谢,
卡尔斯。
【问题讨论】:
-
我想你可以在这里找到答案(从文件描述符中检索设备信息):stackoverflow.com/questions/16070737/… 你可以使用 fstat 从文件描述符中获取设备