Поддержка hotplug
Здравствуйте!
Rutoken S 203Z
Mandriva 2010.2
Установлены pcsc-lite 1.6.6 и драйвер ifd-RutokenS.bundle (libccid.so.1.3.9).
Рутокен виден, работает, но pcscd в режиме отладки говорит, что драйвер не поддерживает hotplug и вместо него использует постоянный опрос считывателей:
# pcscd -afd
00000000 debuglog.c:277:DebugLogSetLevel() debug level=debug
00000142 configfile.l:287:DBGetReaderList() Parsing conf file: /etc/reader.conf.d
00000012 pcscdaemon.c:553:main() pcsc-lite 1.6.6 daemon ready.
00000624 hotplug_libusb.c:386:HPEstablishUSBNotifications() Driver ifd-RutokenS.bundle does not support IFD_GENERATE_HOTPLUG. Using active polling instead.
00000009 hotplug_libusb.c:395:HPEstablishUSBNotifications() Polling forced every 1 second(s)
09004645 hotplug_libusb.c:478:HPAddHotPluggable() Adding USB device: 1:9
00000021 readerfactory.c:931:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers//ifd-RutokenS.bundle/Contents/Linux/libccid.so
00000106 readerfactory.c:821:RFBindFunctions() Loading IFD Handler 3.0
ifdhandler.c:1323:init_driver() Driver version: 1.3.9
ifdhandler.c:1336:init_driver() LogLevel: 0x0003
ifdhandler.c:1356:init_driver() DriverOptions: 0x0000
ifdhandler.c:81:IFDHCreateChannelByName() lun: 0, device: usb:0a89/0020:libusb-1.0:1:9
ccid_usb.c:236:OpenUSBByName() Manufacturer: Ludovic Rousseau (ludovic.rousseau@free.fr)
ccid_usb.c:246:OpenUSBByName() ProductString: Generic CCID driver
ccid_usb.c:252:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version.
ccid_usb.c:393:OpenUSBByName() Extra field for 001/009 has a wrong length: 0
ccid_usb.c:408:OpenUSBByName() Found Vendor/Product: 0A89/0020 (Aktiv Co. Rutoken S)
ccid_usb.c:410:OpenUSBByName() Using USB bus/device: 001/009
ccid_usb.c:796:get_data_rates() IFD does not support GET_DATA_RATES request: Broken pipe
ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0xFB3
00001717 readerfactory.c:288:RFAddReader() Using the pcscd polling thread
ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0xFAE
ifdhandler.c:353:IFDHGetCapabilities() Reader supports 1 slot(s)
ifdhandler.c:924:IFDHPowerICC() lun: 0, action: PowerUp
00001631 eventhandler.c:259:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000026 Card ATR: 3B 6F 00 FF 00 56 72 75 54 6F 6B 6E 73 30 20 00 00 90 00
ifdhandler.c:924:IFDHPowerICC() lun: 0, action: PowerDown
00400712 eventhandler.c:449:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED
При этом постоянно мигает светодиод на токене (пользователи пугаются), а также раз в секунду заметно обращение к USB-накопителям и жесткому диску.
Если включить опцию IFD_GENERATE_HOTPLUG в /usr/lib/pcsc/drivers/ifd-RutokenS.bundle/Contents/Info.plist
...
<key>ifdCapabilities</key>
<string>0x00000001</string>
...
тогда токен перестает обнаруживаться вообще.
Это ограничение драйвера и ничего с этим не поделать? Или как-то можно победить?
Может адаптацией libccid в ifd-RutokenS.bundle занимался КриптоПро и вопрос нужно адресовать к ним?
Заранее спасибо.