Как отключить устройство звука USB с udev

awk путь:

awk -F= 'FNR==NR{v[$1]=$2;next};{for(p in v)gsub("<%= @"p" %>",v[p])};1' config template

Обновленный согласно комментарию Stephane Chazelas для разрешения “=” входит в систему значения:

awk -F= 'FNR==NR{v[$1]=substr($0,length($1)+2);next};{for(p in v)gsub("<%= @"p" %>",v[p])};1' config template

3
18.12.2013, 17:06
2 ответа

Добавьте эту строку:

ACTION=="add", ATTR{idVendor}=="0d8c", ATTR{idProduct}=="000c", RUN+="/bin/sh -c 'echo 1 >/sys/\$devpath/authorized'"

в новый файл (исключая: my.rules) в/etc/udev/rules.d/

2
27.01.2020, 21:28
  • 1
    Хм. Это не работает на меня. Мой путь устройства:/sys/devices/pci0000:00/0000:00:04.0/usb1/1-3/1-3:1.0/sound/card1 И предложенный Вами запись правила, не создает "авторизованный" файл в таком пути. Я думаю, что некоторое правило по умолчанию все еще активирует мое (нежелательное) устройство звука USB, потому что в/usr/lib/udev/rules.d/нет никакого определения для такого Поставщика и Идентификатора продукта. Моя система не использует/etc/udev в качестве определения правил subdir. Таким образом, некоторая модификация необходима. Что сделать? хорошие работы –  mackowiakp 19.12.2013, 10:56
  • 2
    OK. Вы помогаете мне. Но правильным синтаксисом должно быть ДЕЙСТВИЕ ==, "добавляют", ATTR {idVendor} == "0d8c", ATTR {idProduct} == "000c", РАБОТАЮТ = "/bin/sh-c 'эхо 0> / sys/\$devpath/authorized'"---СПАСИБО –  mackowiakp 19.12.2013, 20:33

Правильный ответ (на основе отзыва @mackowiakp )на самом деле это:

Добавить эту строку:

ACTION=="add", ATTR{idVendor}=="0d8c", ATTR{idProduct}=="000c", RUN="/bin/sh -c 'echo 0 >/sys/\$devpath/authorized'`

в новый файл (ex :my.rules )в /etc/udev/rules.d/

Отличия от ответа @user2438863:

  • RUN=вместоRUN+=
  • echo 0вместоecho 1
2
27.01.2020, 21:28

Теги

Похожие вопросы