[sisyphus] Сборка Sane + udev + hotplug

Anton Farygin =?iso-8859-1?q?rider_=CE=C1_altlinux=2Ecom?=
Вт Янв 29 09:11:42 MSK 2008


Vitaly Lipatov пишет:
> On 29 января 2008, Dmitry V. Levin wrote:
>> On Mon, Jan 28, 2008 at 01:08:05PM +0300, Vitaly Lipatov wrote:
>>> В Сизиф отправлена новая сборка Sane. У меня возникли
> ...
>>> - rearranged udev rules (review me!)
>> Можно об этом поподробнее?
<skip>
> 
> Хотя хотелось бы понять окончательно статус hotplug в нашей 
> системе. Например, sane до сих пор кладёт в него файлы и на 
> что-то надеется... Скрипт libscanner запускается из правил для 
> hotplug, меняет права на /proc/bus/usb/*, а вроде как libusb 
> давно использует /dev/bus/usb/...
> Механизм определения оборудования не так сложен в его 
> поверхностном описании. Которого со стороны знающих людей очень 
> не хватает.
> 
> 

hotplug уже не используется, достаточно положить правила для udev и 
проверить их.

Права должны меняться в udev. Для hotplug сейчас _ничего_ паковать уже 
не нужно.

Механизм работы с оборудованием очень простой:
на каждое устройство ядро генерит событие. Данное событие через 
NETLINK_SOCKET получает udevd, который действуя согласно правилам в 
/etc/udev/rules.d/ создаёт файл устройства,выставляет права/симлинки и 
загружает дополнительные модули ядра.

Синтаксис правил udev описан в /usr/share/doc/udev-*/

После создания файла устройства udev через dbus информирует hal о новом 
оборудованиии.

hal, в зависимости от своих правил (/usr/share/hal/fdi/*/* и 
/etc/hal/fdi/*/*) выполняет над устройством определённые действия или 
просто добавляет его в базу данных, соответственно информируя всех, кто 
использует libhal, об изменениях в базе устройств.

Для сканеров вполне достаточно положить корректные правила в udev, 
которые будут выставлять права на устройство в /dev/bus/usb/ для доступа 
к нему через libusb всех, кто входит в группу scanner.




Подробная информация о списке рассылки Sisyphus