Descobri que 0x1130 para o atributo idVendor deve ser apenas 1130. Não é necessário sinalizá-lo como hexadecimal. Problema resolvido.
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
Descobri que 0x1130 para o atributo idVendor deve ser apenas 1130. Não é necessário sinalizá-lo como hexadecimal. Problema resolvido.