Regras do Udev no Ubuntu / OMAP (Beaglebone)

2

Eu tenho uma estação meteorológica IROX Pro-X e estou executando o software wview weather no Ubuntu 12.04.

Eu o tenho usado no meu velho laptop por alguns meses sem problemas, mas estou tentando executá-lo em uma placa Beaglebone para reduzir o consumo de energia, etc.

No meu laptop eu tenho uma regra do udev que cria um dispositivo tty para ele quando ele é iniciado ou está conectado. Isso porque o programa de configuração precisa ter uma visão consistente de onde o dispositivo está. A regra funciona de maneira perfeita e consistente.

Eu criei wview para o beaglebone, mas a regra do udev não funciona, então estou apontando o software para o dispositivo bruto. Eu preciso da regra do udev para criar um nome de dispositivo consistente, pois ocasionalmente acho que o nome do dispositivo mudou.

O que estou perdendo - ou o udev está quebrado em armários rodando Ubuntu? O fornecedor e o ID do dispositivo estão sendo detectados corretamente, mas o dispositivo não foi criado.

Minha regra em /etc/udev/rules.d/te923.rules é simples.

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

Quando executo o teste do udevadm, obtenho:

    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
    
por Jim 16.07.2012 / 06:54

1 resposta

0

Descobri que 0x1130 para o atributo idVendor deve ser apenas 1130. Não é necessário sinalizá-lo como hexadecimal. Problema resolvido.

    
por 07.08.2012 / 07:26