|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Victor Wagner 2:5020/400 27 Dec 2007 21:19:40 To : All Subject : Вопрос по usbd --------------------------------------------------------------------------------
Система - FreeBSD 6.2 STABLE
Задача - при вставлении некоего USB-устройства (serial converter чип)
cоздать в некоем месте symlink на него с именем, соответствующим
прошитым в эту железяку серийным номером, а при выдергивании симлинк
удалить.
Для эксперимента пишем скрипт вида
#!/bin/sh
logger -t mydev "$*"
и прописываем в /etc/usbd.conf следующее:
device "My Device"
vendor 0xNNNN
product 0xNNNN
attach "/usr/local/bin/mydev attach /dev/${DEVNAME}"
detach "/usr/local/bin/mydev detach /dev/${DEVNAME}"
Получаем следующее - при втыкании устройства скрипт замечательно
вывполняется. При выдергивании в логе - молчок.
Запускаем usbd с параметрами -d -v -v -v
Получаем следующее:
usbd: device-attach event at 1198772848.669364000, MyDevice, MyCompany
vndr=0xNNNN prdct=0xNNNN rlse=0x0400 clss=0x0000 subclss=0x0000 prtcl=0x0000
device names: ucom0
=== match attempt: ucom0
usbd: Found action 'My Device' for MyDevice, MyCompany at ucom0
usbd: action 0: My Device
vndr=0xNNNN prdct=0xNNNN
attach='/usr/local/bin/mydev attach /dev/${DEVNAME}'
detach='/usr/local/bin/mydev detach /dev/${DEVNAME}'
usbd: Setting DEVNAME='ucom0'
usbd: Executing '/usr/local/bin/mydev attach /dev/${DEVNAME}'
usbd: '/usr/local/bin/mydev attach /dev/${DEVNAME}' is ok
usbd: processing event queue on /dev/usb
usbd: device-detach event at 1198772702.863979000, product 0xNNNN, vendor
0xNNNN:
vndr=0xNNNN prdct=0xNNNN rlse=0x0400 clss=0x0000 subclss=0x0000 prtcl=0x0000
И все - ждем некоторое время, а потом
usbd: doing timeout discovery on /dev/usb0
То есть похоже что на detach event оно даже ничего искать и не пытается.
Это как, это почему?
В man и в конфиге ни одного примера обработки detach event тоже не обнаружено.
Исправлено ли это в более новых версиях usbd?
Или лучше через devd работать?
И следующий вопрос - на devfs вызов mkdir не работает.
Под другими системами у нас создаются симлинки вида /dev/mydev/NNNNNN
Hет ли способа сделать также и на FreeBSD?
--
To err is human; to really foul things up requires a computer
--- ifmail v.2.15dev5.4
* Origin: Free Net of Leninsky,45 (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/42324b61975ac.html, оценка из 5, голосов 10
|