LINUX.ORG.RU

Помогите побороть udev

 ,


0

2

Есть в системе такой UPS:

Bus 004 Device 002: ID 0d9f:0002 Powercom Co., Ltd Black Knight PRO / WOW Uninterruptible Power Supply (Cypress HID->COM RS232)
По-умолчанию устройство создается так
# ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Apr 19 21:22 /dev/ttyUSB0
Но мне нужна группа nut, поэтому пытаюсь создать что-то вроде
# cat /etc/udev/rules.d/52-nut-usbups.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0d9f", ATTR{idProduct}=="0002", MODE="664", GROUP="nut"
делаю udevadm control --reload-rules, переподключаю упс (или вообще перезагружаюсь - не важно) и ничего не меняется - группа остаётся как dialout. Система - OpenMediaVault на Debian 6.0



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

SUBSYSTEM==«usb», ATTR{idVendor}==«0d9f», ATTR{idProduct}==«0002», MODE=«664», GROUP=«nut»

SUBSYSTEM=="tty", ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="0002", MODE="664", GROUP="nut"

см. udevadm info -a -n /dev/ttyUSB0
udevadm control --reload-rules не нужно.

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

Да, там

    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
Конфиг поправил, но не сработало. Физического доступа пока нет, после редактирования выполнил команду udevadm trigger --subsystem-match=tty
# ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Apr 20 12:15 /dev/ttyUSB0

msk123
() автор топика
Ответ на: комментарий от arson

Да, точно. Поправил, но опять не сработало.

  looking at device '/devices/pci0000:00/0000:00:12.0/usb4/4-5/4-5:1.0/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:12.0/usb4/4-5/4-5:1.0/ttyUSB0':
    KERNELS=="ttyUSB0"
    SUBSYSTEMS=="usb-serial"
    DRIVERS=="cyphidcom"
    ATTRS{port_number}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:12.0/usb4/4-5/4-5:1.0':
    KERNELS=="4-5:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="cypress"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{modalias}=="usb:v0D9Fp0002d0000dc00dsc00dp00ic03isc00ip00"
    ATTRS{supports_autosuspend}=="0"
и т.д.
Почему тут ATTRS{idVendor} и ATTRS{idProduct} отсутствуют?

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

У меня не ИБП, а просто usb-com переходник (067b:2303):

...
looking at parent device '/devices/pci0000:00/0000:00:1d.3/usb5/5-1':
    KERNELS=="5-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ...
    ATTRS{idVendor}=="067b"
    ATTRS{speed}=="12"
    ...
    ATTRS{idProduct}=="2303"
    ATTRS{bDeviceClass}=="00"
    ATTRS{product}=="USB-Serial Controller"
...
Ты переподключаешь устройство после изменения правил?
В каком файле в /lib/udev/rules.d/* у тебя присваивается GROUP=dialout для данного устройства (должно быть раньше чем 52-*, например 50-udev-default.rules)?

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

Да, переподключаю. dialout нашел

# cat /lib/udev/rules.d/91-permissions.rules |grep dialout
SUBSYSTEM=="tty",                               GROUP="dialout"
SUBSYSTEM=="capi",                              GROUP="dialout"
SUBSYSTEM=="slamr",                             GROUP="dialout"
SUBSYSTEM=="zaptel",                            GROUP="dialout"
KERNEL=="mISDNtimer",                           GROUP="dialout"
KERNEL=="mwave",                                GROUP="dialout"
KERNEL=="hvc*|hvsi*",                           GROUP="dialout"
KERNEL=="iseries/vtty*",                        GROUP="dialout"
Мой файлик, как я писал выше, /etc/udev/rules.d/52-nut-usbups.rules

msk123
() автор топика
Ответ на: комментарий от arson

Переименуй в 92-nut-usbups.rules

Не успел я победить - упс накрылся. Найду замену - попробую так.

msk123
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.