(2011-06-27 02:57:24 отредактировано metawishmaster)

rutoken + embedded linux

скажите, пожалуйста, что нужно для pcscd/opensc кроме dbus и hal?

ридер не находится :(
т.е. 'pkcs11-data --add-provider=/usr/lib/opensc/opensc-pkcs11.so --cmd=tokens' ничего не выдает, но pcsc_scan находит

P.S. в opensc.conf прописаны
reader_drivers = pcsc;
и

reader_driver pcsc {
    provider_library = /usr/lib/libpcsclite.so.1
}

Re: rutoken + embedded linux

Нужно посмотреть, что не так..
поставьте, пожалуйста, в конфигурационном файле /etc/opensc.conf значение debug = 6 и пришлите вывод команды opensc-tool -l.

Re: rutoken + embedded linux

Кирилл, добрый день, у меня получился такой вот вывод:

[opensc-tool] ctx.c:735:sc_context_create: ===================================
[opensc-tool] ctx.c:736:sc_context_create: opensc version: 0.11.13
[opensc-tool] reader-pcsc.c:872:pcsc_detect_readers: called
[opensc-tool] reader-pcsc.c:879:pcsc_detect_readers: Probing pcsc readers
[opensc-tool] reader-pcsc.c:901:pcsc_detect_readers: Establish pcsc context
[opensc-tool] reader-pcsc.c:906:pcsc_detect_readers: SCardEstablishContext failed: 0x8010001d
[opensc-tool] reader-pcsc.c:1015:pcsc_detect_readers: returning with: No readers found
No smart card readers found.
[opensc-tool] ctx.c:765:sc_release_context: called

Re: rutoken + embedded linux

заигравшись с устройством, я довел его до того, что потребовалась  перепрошивка...
теперь pcsc_scan тоже не находит.... (кстати, вывод opensc-tool -l , похоже относится уже к этому переоду...)

все это происходит в месте, где операционка еще не полностью загружена, dbus и hal мне приходится поднимать "насильно"... вот и вопрос, может ему еще какой-нить udev нужен?.. потому что, когда операционка полность загрузилась, то все работает почти как часики :)

Re: rutoken + embedded linux

Да, по умолчанию, в debian, например, работает через udev.
Раньше, насколько я знаю, везде работало через hal напрямую.
Что Вы имеете ввиду под "работает почти как часики"? :) Где то есть еще проблемы :)

(2011-06-27 13:23:39 отредактировано metawishmaster)

Re: rutoken + embedded linux

ок, спасибо, буду пересобирать пакеты без udev'a :)

да там не сразу определяЮтся устройства, подключаемые к n900, но это уже проблема реализации ихнего USB-hostmode
т.е. он пропускает не только токен, простые флешки, например, тоже бывает

Re: rutoken + embedded linux

Кирил, у меня получилось запустить udev, но по-прежнему, 'opensc-tool -l' заканчивается с ошибкой

[opensc-tool] ctx.c:735:sc_context_create: ===================================
[opensc-tool] ctx.c:736:sc_context_create: opensc version: 0.11.13
[opensc-tool] reader-pcsc.c:872:pcsc_detect_readers: called
[opensc-tool] reader-pcsc.c:879:pcsc_detect_readers: Probing pcsc readers
[opensc-tool] reader-pcsc.c:901:pcsc_detect_readers: Establish pcsc context
[opensc-tool] reader-pcsc.c:906:pcsc_detect_readers: SCardEstablishContext failed: 0x80100013
[opensc-tool] reader-pcsc.c:1015:pcsc_detect_readers: returning with: Unknown error
No smart card readers found.
[opensc-tool] ctx.c:765:sc_release_context: called

правда, "SCardEstablishContext failed"  с другим номером ошибки...

Re: rutoken + embedded linux

в pcsc-lite напротив определения этой ошибки, в комментарии, написано "An internal communications error has been detected"
как-то совсем странно...

Re: rutoken + embedded linux

вроде сейчас нормальный запуск udev, dbus и hal, код ошибки опять сменился:

[opensc-tool] reader-pcsc.c:896:pcsc_detect_readers: SCardListReaders failed: 0x8010002e
[opensc-tool] reader-pcsc.c:1015:pcsc_detect_readers: returning with: No readers found
No smart card readers found.

Re: rutoken + embedded linux

pcscd отрабатывает нормально?
pcsc_scan работает?

ошибки при работе с opensc-tool могут быть связаны с тем что Рутокен не отформатирован соответствующим образом.
посмотрите, пожалуйста, http://www.opensc-project.org/opensc/wiki/AktivRutokenS и http://www.opensc-project.org/opensc/wi … RutokenECP

(2011-07-01 12:33:36 отредактировано metawishmaster)

Re: rutoken + embedded linux

да там проблема была с udev - нужно было его заставить перечитать устройства (udevadm trigger && udevadm settle)
спасибо :)