LINUX.ORG.RU

Не работают правила udev

 ,


0

2

Привет ЛОР. Перенес недавно рабочие правила с Arch на VoidLinux. На втором отказываются работать.

Допустим имея в /etc/udev/rules.d/60-battery.rules:

SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_NAME}=="BAT0", ENV{POWER_SUPPLY_TYPE}=="Battery", ENV{POWER_SUPPLY_STATUS}=="Not charging" RUN+="/usr/local/bin/powerrules"

Скрипт powerrules не запускается. В логах ничего нет, хотя указал режим отладки. Куда копать-смотреть?

★★★★

Последнее исправление: Dimez (всего исправлений: 1)

Скрипт powerrules не запускается

А в ручном режиме?


Сколько видел подобных тем на ЛОРе, почти всем приходилось пописывать в udev запуск через systemd, иначе не работало. Но ты пишешь, что в Арче все было норм.

krasnh ★★★★
()
Ответ на: комментарий от krasnh

А в ручном режиме?

В ручном все норм.

Сколько видел подобных тем на ЛОРе, почти всем приходилось пописывать в udev запуск через systemd, иначе не работало. Но ты пишешь, что в Арче все было норм.

Да да, в арче все работает.

xaTa ★★★★
() автор топика
Ответ на: комментарий от anonymous

У меня небыло привязки в правилах к systemd-udev.

Вот событие падающее в монитор.

UDEV  [76970.826422] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:08/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
ACTION=change
DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:08/PNP0C09:00/PNP0C0A:00/power_supply/BAT0
POWER_SUPPLY_CAPACITY=99
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_ENERGY_FULL=76370000
POWER_SUPPLY_ENERGY_FULL_DESIGN=84240000
POWER_SUPPLY_ENERGY_NOW=76240000
POWER_SUPPLY_MANUFACTURER=SANYO
POWER_SUPPLY_MODEL_NAME=42T4799
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_POWER_NOW=0
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_SERIAL_NUMBER=22752
POWER_SUPPLY_STATUS=Not charging
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=10800000
POWER_SUPPLY_VOLTAGE_NOW=12380000
SEQNUM=13594
SUBSYSTEM=power_supply
USEC_INITIALIZED=970809771
xaTa ★★★★
() автор топика
Ответ на: комментарий от anonymous
calling: info
P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:08/PNP0C09:00/PNP0C0A:00/power_supply/BAT0
no db file to read /run/udev/data/+power_supply:BAT0: No such file or directory
E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:08/PNP0C09:00/PNP0C0A:00/power_supply/BAT0
E: POWER_SUPPLY_CAPACITY=99
E: POWER_SUPPLY_CAPACITY_LEVEL=Normal
E: POWER_SUPPLY_CYCLE_COUNT=0
E: POWER_SUPPLY_ENERGY_FULL=76370000
E: POWER_SUPPLY_ENERGY_FULL_DESIGN=84240000
E: POWER_SUPPLY_ENERGY_NOW=75610000
E: POWER_SUPPLY_MANUFACTURER=SANYO
E: POWER_SUPPLY_MODEL_NAME=42T4799
E: POWER_SUPPLY_NAME=BAT0
E: POWER_SUPPLY_POWER_NOW=0
E: POWER_SUPPLY_PRESENT=1
E: POWER_SUPPLY_SERIAL_NUMBER=22752
E: POWER_SUPPLY_STATUS=Not charging
E: POWER_SUPPLY_TECHNOLOGY=Li-ion
E: POWER_SUPPLY_TYPE=Battery
E: POWER_SUPPLY_VOLTAGE_MIN_DESIGN=10800000
E: POWER_SUPPLY_VOLTAGE_NOW=12340000
E: SUBSYSTEM=power_supply
xaTa ★★★★
() автор топика
Ответ на: комментарий от anonymous

Посмотри в выхлопе, читаются ли твои правила в /etc/udev.d

Да, читаются.

Покажи ls -l /usr/local/bin/powerrules

-rwxr-xr-x 1 root root 431 окт 23 00:44 /usr/local/bin/powerrules*
xaTa ★★★★
() автор топика
Ответ на: комментарий от iliyap
udevadm test -a change /sys/class/power_supply/BAT0
calling: test
version 3.2.14
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.

=== trie on-disk ===
tool version:          3
file size:         9785809 bytes
header size             80 bytes
strings            2424713 bytes
nodes              7361016 bytes
Load module index
timestamp of '/etc/udev/rules.d' changed
timestamp of '/usr/lib64/udev/rules.d' changed
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-parts.rules
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /etc/udev/rules.d/60-battery.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-zoned.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/65-libwacom.rules
Reading rules file: /usr/lib/udev/rules.d/66-kpartx.rules
Reading rules file: /usr/lib/udev/rules.d/66-kvm.rules
Reading rules file: /usr/lib/udev/rules.d/68-del-part-nodes.rules
Reading rules file: /usr/lib/udev/rules.d/69-xorg-vmmouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-camera.rules
Reading rules file: /etc/udev/rules.d/70-charger.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-memory.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-plymouth-seat.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-libinput-device-groups.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-name-slot.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /usr/lib/udev/rules.d/90-backlight.rules
Reading rules file: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules
Reading rules file: /usr/lib/udev/rules.d/90-pulseaudio.rules
Reading rules file: /usr/lib/udev/rules.d/90-usbmon.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /etc/udev/rules.d/99-lowbat.rules
rules contain 49152 bytes tokens (4096 * 12 bytes), 16007 bytes strings
2487 strings (32655 bytes), 1669 de-duplicated (17467 bytes), 819 trie nodes used
no db file to read /run/udev/data/+power_supply:BAT0: No such file or directory
RUN '/usr/local/bin/powerrules' /etc/udev/rules.d/60-battery.rules:1
ACTION=change
DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:08/PNP0C09:00/PNP0C0A:00/power_supply/BAT0
POWER_SUPPLY_CAPACITY=99
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_ENERGY_FULL=76370000
POWER_SUPPLY_ENERGY_FULL_DESIGN=84240000
POWER_SUPPLY_ENERGY_NOW=76250000
POWER_SUPPLY_MANUFACTURER=SANYO
POWER_SUPPLY_MODEL_NAME=42T4799
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_POWER_NOW=0
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_SERIAL_NUMBER=22752
POWER_SUPPLY_STATUS=Not charging
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=10800000
POWER_SUPPLY_VOLTAGE_NOW=12377000
SUBSYSTEM=power_supply
USEC_INITIALIZED=6539279156
run: '/usr/local/bin/powerrules'
Unload module index
xaTa ★★★★
() автор топика
Ответ на: комментарий от xaTa

udevadm test говорит, что правило будет запускать твой powerrules. Может он неисполняемый или вообще отсутствует? ls -l /usr/local/bin/powerrules? Или отсутствует в неймспейсе процесса udevd? ls -l /proc/$UDEV_PID/root/usr/local/bin/powerrules? Или в нём кривой шебанг? Или он запускается, но ничего не делает?

iliyap ★★★★★
()