【问题标题】:Udev rule doesn't runUdev 规则不运行
【发布时间】:2013-09-04 01:09:59
【问题描述】:

我正在尝试在我的 Beaglebone White 上编写一个 udev 规则,该规则在 Pantech UML 295 完成启动时运行。

当使用udevadm monitor --environment 时,我得到以下最终输出,我希望以此为基础:

UDEV [3163.454297] add /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-
1:1.0/net/eth1 (net)
ACTION=add
DEVPATH=/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1:1.0/net/eth1
ID_BUS=usb
ID_MODEL=PANTECH_UML295
ID_MODEL_ENC=PANTECH\x20UML295
ID_MODEL_ID=6064
ID_REVISION=0228
ID_SERIAL=Pantech__Incorporated_PANTECH_UML295_UML295692146818
ID_SERIAL_SHORT=UML295692146818
ID_TYPE=generic
ID_USB_DRIVER=cdc_ether
ID_USB_INTERFACES=:020600:0a0000:030000:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=Pantech__Incorporated
ID_VENDOR_ENC=Pantech\x2c\x20Incorporated
ID_VENDOR_ID=10a9
IFINDEX=6
INTERFACE=eth1
SEQNUM=1151
SUBSYSTEM=net
SYSTEMD_ALIAS=/sys/subsystem/net/devices/eth1
TAGS=:systemd:
USEC_INITIALIZED=3163023666

我的 udev 规则版本 1:

ENV{ID_BUS}=="usb", SUBSYSTEM=="net", RUN+="/home/root/rebootInternetConnection.sh", ENV{ID_MODEL}=="PANTECH_UML295", ACTION=="add", INTERFACE=="eth1", ENV{ID_USB_DRIVER}=="cdc_ether"

和版本 2:

ACTION=="add", SUBSYSTEM=="net", RUN+="/home/root/rebootInternetConnection.sh"

版本 2 是一个精简版本,应该运行不止一次,但根本不会运行。版本 1 使用我不确定规则是否可以访问的环境变量。

澄清一下:该规则根本没有运行,并且 shell 脚本有应该显示的回声。我的规则位于名称为 10-local.rules 的 /etc/udev/rules.d/ 目录中。

这里还有一些非功能性的规则,放在 /etc/udev/rules.d/81-pantech.rules:

ACTION=="add", SUBSYSTEM=="net", ATTR{idVendor}=="10a9", RUN+="/home/root/reboot
InternetConnection.sh"

SUBSYSTEM=="net", ATTR{idVendor}=="10a9", ATTR{idProduct}=="6064", RUN+="/home/ro
ot/rebootInternetConnection.sh"

ACTION=="add", SUBSYSTEM=="hid", RUN+="/home/root/rebootInternetConnection.sh"

ACTION=="add", SUBSYSTEM=="usb", RUN+="echo foo > /tmp/foo"

SUBSYSTEM=="usb", ATTR{product}=="PANTECH UML295", RUN +="echo foo > /tmp/foo"

ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="PANTECH UML295", RUN+="/home/ro
ot/rebootInternetConnection.sh"

【问题讨论】:

    标签: beagleboard udev angstrom-linux


    【解决方案1】:

    不确定发生了什么变化,但该规则现在正在文件 /etc/udev/rules.d/81-pantech.rules 中使用

    一种可能是缺少 /run/udev/rules.d/ 目录。我跑的时候

    udevadm test /devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1
    

    我收到一条报告说目录丢失了。

    另一种可能性是我手动运行 udev 守护进程

    /lib/udev/udevd --debug
    

    【讨论】:

      猜你喜欢
      • 2011-01-04
      • 2013-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多