Ubuntu/OMAP(Beaglebone)上的 Udev 规则

Ubuntu/OMAP(Beaglebone)上的 Udev 规则

我有一个 IROX Pro-X 气象站,并且在 Ubuntu 12.04 上运行 wview 气象软件。

我已经在我的旧笔记本电脑上运行它几个月了,没有任何问题,但我试图在 Beaglebone 板上运行它以降低功耗等。

在我的笔记本电脑上,我有一个 udev 规则,当笔记本电脑启动或插入时,它会为其创建一个 tty 设备。这是因为配置程序必须对设备所在的位置有一个一致的视图。该规则完美且一致地运行。

我已经为 beaglebone 构建了 wview,但 udev 规则不起作用,所以我将软件指向原始设备。我需要 udev 规则来创建一致的设备名称,因为我偶尔会发现设备名称已更改。

我遗漏了什么 - 或者 udev 在运行 Ubuntu 的 arm 主板上坏了吗?供应商和设备 ID 被正确检测到,但设备未创建。

/etc/udev/rules.d/te923.rules 中的规则很简单。

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0x1130" ATTRS{idProduct}=="6801", SYMLINK+="ttyWeather", MODE:="0666"

当我运行 udevadm test 时我得到:

    root@omap:/sys/bus/usb/devices/1-1/usb_device/usbdev1.5# udevadm test -a -p /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1
    run_command:调用:测试
    adm_test:版本 175
    该程序仅用于调试,它不运行任何程序,
    指定 RUN 键。它可能会显示不正确的结果,因为
    某些值可能不同,或者在模拟运行时不可用。

    parse_file:读取‘/lib/udev/rules.d/40-gnupg.rules’作为规则文件
    ...其他带有标准规则的 parse_file 行已被删除...USB 供应商和设备 ID 是
    parse_file:读取‘/lib/udev/rules.d/95-udev-late.rules’作为规则文件
    parse_file:读取‘/etc/udev/rules.d/te923.rules’作为规则文件
    udev_rules_new:规则使用 33264 字节标记(2772 * 12 字节),17116 字节缓冲区
    udev_rules_new:临时索引使用了 20520 字节(1026 * 20 字节)
    udev_device_new_from_syspath:设备 0x40300748 具有 devpath '/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1'
    udev_device_new_from_syspath:设备 0x402fb6d0 具有 devpath '/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1'
    udev_device_read_db:设备 0x402fb6d0 已填充 db 文件数据
    udev_rules_apply_to_event:模式 0664 /lib/udev/rules.d/50-udev-default.rules:55
    udev_rules_apply_to_event:导入内置‘usb_id’/lib/udev/rules.d/50-udev-default.rules:56
    udev_builtin_add_property:ID_VENDOR=1130
    udev_builtin_add_property:ID_VENDOR_ENC=1130
    udev_builtin_add_property:ID_VENDOR_ID=1130
    udev_builtin_add_property: ID_MODEL=
    udev_builtin_add_property:ID_MODEL_ENC=\x20
    udev_builtin_add_property: ID_MODEL_ID=6801
    udev_builtin_add_property:ID_REVISION=0302
    udev_builtin_add_property:ID_SERIAL=1130_
    udev_builtin_add_property: ID_BUS=usb
    udev_builtin_add_property:ID_USB_INTERFACES =:030000:
    udev_device_new_from_syspath:设备 0x402fc4b0 具有 devpath '/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1'
    udev_device_new_from_syspath:设备 0x402fc970 具有 devpath '/devices/platform/omap/musb-ti81xx/musb-hdrc.1'
    udev_device_new_from_syspath:设备 0x402fcce0 具有 devpath '/devices/platform/omap/musb-ti81xx'
    udev_device_new_from_syspath:设备 0x402fd038 具有 devpath '/devices/platform/omap'
    udev_device_new_from_syspath:设备 0x402fd328 具有 devpath '/devices/platform'
    udev_event_execute_rules:未设置节点名称,将使用内核提供的名称“bus/usb/001/019”
    udev_node_add:创建设备节点‘/dev/bus/usb/001/019’,devnum=189:18,mode=0664,uid=0,gid=0
    udev_node_mknod:保留文件‘/dev/bus/usb/001/019’,因为它具有正确的 dev_t
    udev_node_mknod:保留权限/dev/bus/usb/001/019,020664,uid=0,gid=0
node_symlink:保留已存在的符号链接“/dev/char/189:18”至“../bus/usb/001/019”
    udev_device_update_db:为‘/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1’创建了数据库文件‘/run/udev/data/c189:18’
    动作=-p
    总线号=001
    设备=/proc/bus/usb/001/019
    DEVNAME=/dev/bus/usb/001/019
    设备编号=019
    DEVPATH=/设备/平台/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1
    DEVTYPE=usb_设备
    驱动程序=usb
    ID_BUS=usb
    ID_模型=
    ID_MODEL_ENC=\x20
    模型编号=6801
    ID_REVISION=0302
    ID_SERIAL=1130_
    ID_USB_接口=:030000:
    ID_VENDOR=1130
    ID_VENDOR_ENC=1130
    ID_VENDOR_ID=1130
    主要=189
    次要=18
    产品=1130/6801/302
    子系统=usb
    类型=0/0/0
    UDEV_LOG=6
    USEC_INITIALIZED=83307186210

答案1

我发现 idVendor 属性的 0x1130 应该就是 1130。无需将其标记为十六进制。问题解决了。

相关内容