LINUX.ORG.RU
ФорумAdmin

правило udev'a не работает

 ,


0

1

доброй ночи, ЛОР!

а подскажите, пожалуйста, где косяк во втором листинге?
из коммандной строки это работает как нужно

sudo /bin/sh -c '/etc/acpi/headphones.sh none none `/usr/bin/cat \`/usr/bin/find /sys/devices/ -name i2c-ESSX8336:??\`/jack_status`'


а вот это плавило udev'а не хочет... причем один раз у меня получилось, но результат я не сохранил, а решил улучшить. «улучшил» %)
SUBSYSTEM=="i2c", ACTION=="add", DRIVERS=="es8316",RUN+="/usr/bin/bash -c '/etc/acpi/headphones.sh none none `/usr/bin/cat \`/usr/bin/find /sys/devices/ -name i2c-ESSX8336:??\`/jack_status`'"

Ответ на: комментарий от annulen

etckeeper будет полезен любому, кто хотя бы изредка правит какие-либо системные конфиги руками.

обычно я вручную, «cp /etc/dangerous.rc /etc/dangerous.rc.old» %)

metawishmaster ★★★★★
() автор топика
Последнее исправление: metawishmaster (всего исправлений: 1)
Ответ на: комментарий от metawishmaster

Проблем может быть две - неправильное условие и неправильно написанная команда. Подели задачу, просто вызови какой нибудь гарантированно рабочий скрипт без параметров и станет ясно где твоя проблема, в условии или в команде.

no-dashi-v2 ★★★
()
Последнее исправление: no-dashi-v2 (всего исправлений: 2)
Ответ на: комментарий от no-dashi-v2

Проблем может быть две - неправильное условие и неправильно написанная команда.

или три - в каноникале могли напартачить

ну вот смотрите, куда уж проще:

SUBSYSTEM=="i2c", KERNEL=="i2c-ESSX8336:00", ACTION=="add", RUN+="/home/user/udev-helper.sh"

и
$ udevadm info -q all -a /sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ESSX8336:00
  looking at device '/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ESSX8336:00':
    KERNEL=="i2c-ESSX8336:00"
    SUBSYSTEM=="i2c"
    DRIVER=="es8316"
    ATTR{jack_status}=="plugged"
    ATTR{name}=="ESSX8336:00"
    ATTR{power/async}=="enabled"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_kids}=="0"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_enabled}=="disabled"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{power/runtime_usage}=="0"

metawishmaster ★★★★★
() автор топика
Последнее исправление: metawishmaster (всего исправлений: 2)
Ответ на: комментарий от mky

нет, обычный

user@videoterminal:~$ mount | grep " / "
/dev/sda5 on / type ext4 (rw,relatime,errors=remount-ro)
user@videoterminal:~$

metawishmaster ★★★★★
() автор топика
Последнее исправление: metawishmaster (всего исправлений: 1)
Ответ на: комментарий от metawishmaster

но при загрузке та же фигня

ЕМНИП, в initramfs свои правила udev и они срабатывают первыми. Пересоздание initramfs копирует в него udev-правила, но там нет bash, /home и т.д.

Попробуйте создать правило для ADD вашего устройства, но не RUN, а, допустим LINK. Посмотреть, остаются от этого правила следы при загрузке, если нет, пересоздать initramfs (с распаковкой, чтобы проверить, что правило туда скопировалось).

mky ★★★★★
()