Выбор и настройка HardWare
Модератор: Модераторы разделов
FlySnake
Сообщения: 992
ОС: openSUSE
Сообщение
FlySnake » 15.08.2012 01:56
Есть такое правило:
Код: Выделить всё
KERNEL=="hiddev[0-9]", SUBSYSTEM=="usb", SYSFS{idProduct}=="0100", SYSFS{idVendor}=="04d8", MODE="0666"
В таком виде всё работает. Но при загрузке udev говорит что SYSFS скоро depricated и просит заменить его на ATTR. Меняю:
Код: Выделить всё
KERNEL=="hiddev[0-9]", SUBSYSTEM=="usb", ATTR{idProduct}=="0100", ATTR{idVendor}=="04d8", MODE="0666"
Ворнинг udev проходит, но железка не работает ибо создаётся hiddev с правами 600, а не 666 т.е. правило не работает.
openSUSE 11.4 2.6.37.6-0.20-desktop
vr13
Сообщения: 885
ОС: gentoo
Сообщение
vr13 » 18.08.2012 20:51
ATTR - атрибуты добавленного node sysfs, а ATTRS - все атрибуты иерархии sysfs для данного устройства
вполне вероятно, что файлов idProduct или idVendor нет в добавленном node (udev, согласно правилу, ищет добавленном ядром node). например, тут нет желаемого:
Код: Выделить всё
$ ls /sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.0/usb/hiddev0
dev device power subsystem uevent
а выше по иерархии - есть:
Код: Выделить всё
$ ls /sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/
7-2:1.0 bDeviceSubClass configuration idProduct remove
authorized bmAttributes descriptors idVendor serial
avoid_reset_quirk bMaxPacketSize0 dev manufacturer speed
bcdDevice bMaxPower devnum maxchild subsystem
bConfigurationValue bNumConfigurations devpath power uevent
bDeviceClass bNumInterfaces driver product urbnum
bDeviceProtocol busnum ep_00 quirks version
причем поиск идет вверх по иерархии, что позволяет на одной шине иметь зарегистрированными в системе несколько разных устройств
FlySnake
Сообщения: 992
ОС: openSUSE
Сообщение
FlySnake » 23.08.2012 19:26
Спасибо за ответ!
Выходит именно как Вы пишите
QUOTE писал(а): ls ls /sys/devices/pci0000:00/0000:00:02.0/usb2/2-1
2-1:1.0 bDeviceProtocol bNumInterfaces devpath maxchild subsystem
authorized bDeviceSubClass busnum driver power uevent
avoid_reset_quirk bmAttributes configuration ep_00 product urbnum
bcdDevice bMaxPacketSize0 descriptors idProduct quirks version
bConfigurationValue bMaxPower dev idVendor remove
bDeviceClass bNumConfigurations devnum manufacturer speed
idProduct и idVendor содержат ID моего устройства.
Но
QUOTE писал(а): ls /sys/devices/pci0000:00/0000:00:02.0/usb2/2-1/2-1:1.0/usb/hiddev1
dev device power subsystem uevent
Заменил ATTR на ATTRS и всё заработало.