IROX Pro-Xウェザーステーションがあり、Ubuntu12.04でwviewウェザーソフトウェアを実行しています。
古いラップトップで数か月問題なく実行していますが、電力などを削減するためにBeagleboneボードで実行しようとしています。
私のラップトップには、起動時またはプラグイン時にttyデバイスを作成するudevルールがあります。これは、構成プログラムがデバイスの位置を一貫して表示する必要があるためです。ルールは完全かつ一貫して機能します。
Beaglebone用にwviewを作成しましたが、udevルールが機能しないため、ソフトウェアをrawデバイスに向けています。時々デバイス名が変更されていることに気付くので、一貫したデバイス名を作成するためにudevルールが必要です。
何が欠けていますか?またはUbuntuを実行しているアームボードでudevが壊れていますか?ベンダーとデバイスIDは正しく検出されていますが、デバイスは作成されていません。
/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:呼び出し:test adm_test:バージョン175 このプログラムはデバッグ専用であり、RUNキーで指定されたプログラム を実行しません。 一部の値が異なるか、シミュレーションの実行時に使用できないため、誤った結果が表示される場合があります。 parse_file:reading '/ lib/udev/rules.d/40 -gnupg.rules'as rules file ...標準ルールが削除された他のparse_file行... USBベンダーとデバイスIDはbei parse_file:reading '/ 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:dbファイルデータで満たされたデバイス0x402fb6d0 udev_rules _apply_to_event:MODE 0664 /lib/udev/rules.d/50-udev-default.rules:55 udev_rules_apply_to_event:IMPORTビルトイン '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 [.____。\x20 [。 =:030000: udev_device_new_from_syspath:デバイス0x402fc4b0にはdevpathがあります '/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1' udev_device_new_from_syspath:デバイス0x402fc970にはdevpathがあります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:device 0x 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のdbファイル '/ run/udev/data/c189:18'を作成しました/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
IdVendor属性の0x1130は1130である必要があることがわかりました。16進数としてフラグを立てる必要はありません。問題が解決しました。