vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Разобрался наконец, как в solaris 10 реализуется hotplug USB-устройств (в чем по результатам двух предыдущих постов на эту тему никто из читателей данного журнала не мог мне помочь).

Есть там такой сервис sysevent (соответственно демоны syseventd и syseventconfd и к ним утилита syseventadm)

В родных скриптах от OpenCT это делается так:

в скрипте openct-fabric который является скриптом управления сервисом и ставится в /lib/svc/method при старте делается
syseventadm add куча-всяких-условий ${prefix}/sbin/openct-hotplug '${di.path}'


А при stop соответсвенно
syseventadm remove то же самое


Логика примерно понятна - чтобы если сервис openct остановлен, зря не дергали hotplug-скрипт.
Засада в том, что это не работает. Внимательное чтение man syseventd на свежую голову в понедельник утром (в пятницу вечером я этого там не нашел) привела к нахождению там следующего абзаца.

     The syseventadm restart command informs the syseventd daemon
     to reread the sysevent registry after a change has been made
     by adding or removing one or more sysevent handler  specifi-
     cations.


В скрипте этого НЕ ДЕЛАЕТСЯ. Стоило добавить - заработало.

Вот теперь сижу и думаю - то ли в более древних версиях solaris оно по-другому себя вело и при добавлении-удалении хэндлера делало рестарт автоматически, то-ли этот скрипт вообще никто не тестировал.

Впрочем, в openct-hotplug тоже была обнаружена ошибка. Там openct-control attach вызывается с совсем неправильными параметрами.

А багзилла у openct без регистрации постить баги не позволяет, а регистрация на сайте не работает.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

June 2025

S M T W T F S
1 234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 2nd, 2025 07:17 pm
Powered by Dreamwidth Studios