2

У меня есть метеостанция IROX Pro-X и я использую программное обеспечение wview для погоды на Ubuntu 12.04.

Я уже несколько месяцев без проблем запускаю его на своем старом ноутбуке, но пытаюсь запустить его на плате Beaglebone, чтобы снизить энергопотребление и т.д.

На моем ноутбуке есть правило udev, которое создает для него tty-устройство, когда оно запускается или подключается. Это потому, что программа конфигурации должна иметь согласованное представление о том, где находится устройство. Правило работает отлично и последовательно.

Я создал wview для beaglebone, но правило udev не работает, поэтому я указываю программное обеспечение на необработанное устройство. Мне нужно правило udev, чтобы создать непротиворечивое имя устройства, так как иногда я обнаруживаю, что имя устройства изменилось.

Чего мне не хватает - или udev сломан на досках под управлением Ubuntu? Идентификатор поставщика и устройства определяются правильно, но устройство не создано.

Мое правило в /etc/udev/rules.d/te923.rules простое.

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

Когда я запускаю тест udevadm, я получаю:

    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: calling: test
    adm_test: version 175
    This program is for debugging only, it does not run any program,
    specified by a RUN key. It may show incorrect results, because
    some values may be different, or not available at a simulation run.

    parse_file: reading '/lib/udev/rules.d/40-gnupg.rules' as rules file
    ... other parse_file lines with standard rules deleted ... THe USB Vendor and device ID are bei
    parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
    parse_file: reading '/etc/udev/rules.d/te923.rules' as rules file
    udev_rules_new: rules use 33264 bytes tokens (2772 * 12 bytes), 17116 bytes buffer
    udev_rules_new: temporary index used 20520 bytes (1026 * 20 bytes)
    udev_device_new_from_syspath: device 0x40300748 has devpath '/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1'
    udev_device_new_from_syspath: device 0x402fb6d0 has devpath '/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1'
    udev_device_read_db: device 0x402fb6d0 filled with db file data
    udev_rules_apply_to_event: MODE 0664 /lib/udev/rules.d/50-udev-default.rules:55
    udev_rules_apply_to_event: IMPORT builtin '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: device 0x402fc4b0 has devpath '/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1'
    udev_device_new_from_syspath: device 0x402fc970 has devpath '/devices/platform/omap/musb-ti81xx/musb-hdrc.1'
    udev_device_new_from_syspath: device 0x402fcce0 has devpath '/devices/platform/omap/musb-ti81xx'
    udev_device_new_from_syspath: device 0x402fd038 has devpath '/devices/platform/omap'
    udev_device_new_from_syspath: device 0x402fd328 has devpath '/devices/platform'
    udev_event_execute_rules: no node name set, will use kernel supplied name 'bus/usb/001/019'
    udev_node_add: creating device node '/dev/bus/usb/001/019', devnum=189:18, mode=0664, uid=0, gid=0
    udev_node_mknod: preserve file '/dev/bus/usb/001/019', because it has correct dev_t
    udev_node_mknod: preserve permissions /dev/bus/usb/001/019, 020664, uid=0, gid=0
node_symlink: preserve already existing symlink '/dev/char/189:18' to '../bus/usb/001/019'
    udev_device_update_db: created db file '/run/udev/data/c189:18' for '/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1'
    ACTION=-p
    BUSNUM=001
    DEVICE=/proc/bus/usb/001/019
    DEVNAME=/dev/bus/usb/001/019
    DEVNUM=019
    DEVPATH=/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1
    DEVTYPE=usb_device
    DRIVER=usb
    ID_BUS=usb
    ID_MODEL=
    ID_MODEL_ENC=\x20
    ID_MODEL_ID=6801
    ID_REVISION=0302
    ID_SERIAL=1130_
    ID_USB_INTERFACES=:030000:
    ID_VENDOR=1130
    ID_VENDOR_ENC=1130
    ID_VENDOR_ID=1130
    MAJOR=189
    MINOR=18
    PRODUCT=1130/6801/302
    SUBSYSTEM=usb
    TYPE=0/0/0
    UDEV_LOG=6
    USEC_INITIALIZED=83307186210

1 ответ1

0

Я обнаружил, что 0x1130 для атрибута idVendor должно быть просто 1130. Не нужно помечать его как гекс. Задача решена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .