Автор Тема: Проблем с карточетец ACR38 под Slackware 13.37  (Прочетена 1900 пъти)

glupa4e

  • Напреднали
  • *****
  • Публикации: 22
  • Distribution: Slackware
    • Профил
Здравейте,
инсталирах новата версия на Slackware - 13.37.
Допълнително съм инсталирал:
ccid-1.4.3
opensc-0.12.2
pcsc-lite-1.8.1
pcsc-perl-1.4.12

Ето малко данни:
Код:
bash-4.1$ lsusb
Bus 006 Device 002: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader

Резултатът е:
Код:
bash-4.1$ opensc-tool -l
No smart card readers found.

Какво още трябва да направя, за да проработи електронния подпис?

Благодаря!
Активен

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
Re: Проблем с карточетец ACR38 под Slackware 13.37
« Отговор #1 -: Jan 05, 2012, 10:44 »
Да пуснеш pcscd.
« Последна редакция: Jan 05, 2012, 10:45 от v_badev »
Активен

glupa4e

  • Напреднали
  • *****
  • Публикации: 22
  • Distribution: Slackware
    • Профил
Re: Проблем с карточетец ACR38 под Slackware 13.37
« Отговор #2 -: Jan 05, 2012, 10:59 »
Ето какво съумях да направя:

Код:
bash-4.1$ /etc/rc.d/rc.pcscd start
Starting PC/SC-lite smart card daemon...
bash-4.1$ opensc-tool -a
No smart card readers found.

Пак не тръгна :-(.

Как мога да насторя pcscd да се пуска само когато "бодна" четеца?

Мерси!
Активен

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
Re: Проблем с карточетец ACR38 под Slackware 13.37
« Отговор #3 -: Jan 05, 2012, 11:45 »
Тази версия на демона би трябвало да си стартира автоматично при нужда и да умира след една минута неизползване, но честно казано не вярвам че в Slackware пакета всичко е настроено правилно за да работи автоматичното стартиране. Може да видиш дали pcscd намира четеца, като го пуснеш в debug режим (pcscd -fd) и гледаш за съобщения свързани с твоят четец. Така ще видиш и къде е точно проблема.
Активен

glupa4e

  • Напреднали
  • *****
  • Публикации: 22
  • Distribution: Slackware
    • Профил
Re: Проблем с карточетец ACR38 под Slackware 13.37
« Отговор #4 -: Jan 05, 2012, 19:33 »
До момента правех опити като нормален потребител при стартирането. Сега обаче ми се наложи да направя упражнението като root.

root@computer: ~# pcscd -fd
00000000 debuglog.c:265:DebugLogSetLevel() debug level=debug
00000409 configfile.l:245:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d
00000036 configfile.l:287:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin
00000090 pcscdaemon.c:518:main() pcsc-lite 1.8.1 daemon ready.
00002792 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000284 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/004/001
00000312 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/005/001
00000277 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000273 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/006/001
00000312 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000214 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000232 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x09DA, PID: 0x000E, path: /dev/bus/usb/007/002
00000209 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000230 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x072F, PID: 0x90CC, path: /dev/bus/usb/007/004
00000079 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x072F, PID: 0x90CC, path: /dev/bus/usb/007/004
00000017 hotplug_libudev.c:312:HPAddDevice() Adding USB device: ACS ACR 38U-CCID
00000065 readerfactory.c:934:RFInitializeReader() Attempting startup of ACS ACR 38U-CCID 00 00 using /usr/lib64/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000234 readerfactory.c:824:RFBindFunctions() Loading IFD Handler 3.0
00000059 ifdhandler.c:1732:init_driver() Driver version: 1.4.3
00000791 ifdhandler.c:1750:init_driver() LogLevel: 0x0003
00000020 ifdhandler.c:1771:init_driver() DriverOptions: 0x0000
00000112 ifdhandler.c:79:IFDHCreateChannelByName() lun: 0, device: usb:072f/90cc:libudev:0:/dev/bus/usb/007/004
00000308 ccid_usb.c:244:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau (ludovic.rousseau@free.fr)
00000008 ccid_usb.c:245:OpenUSBByName() ifdProductString: Generic CCID driver
00000006 ccid_usb.c:246:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later
00001051 ccid_usb.c:485:OpenUSBByName() Found Vendor/Product: 072F/90CC (ACS ACR 38U-CCID)
00000008 ccid_usb.c:487:OpenUSBByName() Using USB bus/device: 7/4
00002778 ccid_usb.c:917:get_data_rates() IFD does not support GET_DATA_RATES request: 0
00004006 ifdhandler.c:401:IFDHGetCapabilities() tag: 0xFB3, usb:072f/90cc:libudev:0:/dev/bus/usb/007/004 (lun: 0)
00000011 readerfactory.c:296:RFAddReader() Using the reader polling thread
00002085 ifdhandler.c:401:IFDHGetCapabilities() tag: 0xFAE, usb:072f/90cc:libudev:0:/dev/bus/usb/007/004 (lun: 0)
00000017 ifdhandler.c:489:IFDHGetCapabilities() Reader supports 1 slot(s)
00000387 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/008/001
00000346 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000242 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000245 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x064E, PID: 0xF111, path: /dev/bus/usb/002/003
00000270 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x064E, PID: 0xF111, path: /dev/bus/usb/002/003
00000075 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00
00002329 ifdhandler.c:1151:IFDHPowerICC() action: PowerUp, usb:072f/90cc:libudev:0:/dev/bus/usb/007/004 (lun: 0)
00007784 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00
00010115 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00
00010107 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00
00010110 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00
00010134 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00
00010126 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00
00010086 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00
00003577 eventhandler.c:256:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000013 Card ATR: 3B F2 18 00 02 C1 0A 31 FE 58 C8 08 74
05006018 ifdhandler.c:1151:IFDHPowerICC() action: PowerDown, usb:072f/90cc:libudev:0:/dev/bus/usb/007/004 (lun: 0)
00098000 eventhandler.c:446:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED

Аз не виждам някакъв проблем тук.

После като нормален потребител правя:


bash-4.1$ opensc-tool -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             ACS ACR 38U-CCID 00 00


Сега явно ще тръгне.

Не знам защо трябва да стартирам pcscd като root.

Как може да се направи да се стартира само при нужда или да го добавя към първоначалните стартиращи скриптове?

Сега как да регистрирам подписа в браузъра Firefox-Mozilla?
Активен

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
Re: Проблем с карточетец ACR38 под Slackware 13.37
« Отговор #5 -: Jan 06, 2012, 09:58 »
Здравей, вероятно трябва да създадеш група pcsc и да промениш правата на /var/run/pcscd, както е описано в блога на Ludovic Rousseau. Той е автора на pcscd и на свободният ccid драйвер. Udev правилата от този пост би трябвало да са се инсталирали заедно с ccid някъде, името на файла е 92_pcscd_ccid.rules. След като добавиш групата и настроиш правата, би трябвало с копирането на файла в правилната директория и рестартирането на udev автоматичното стартиране на pcscd да сработи.

Другият вариант е да го добавиш в стартиращ скрипт и pcscd да си работи постоянно. Демона не е тежък и не би трябвало да е проблем. Така или иначе ако настроиш Firefox да използва електронният подпис демона ще работи докато работи и браузъра (вероятно почти постоянно).

За Firefox - ако си клиент на Инфонотари може да си сложиш автоматичният конфигуратор. Той ще настрои всичко необходимо.
За останалите доставчици първо трябва първо да си изтеглиш удостверителната им верига от техният сайта или от диск, ако са ти дали такъв, и да я инсталираш в браузъра. Може да ползваш ръководството на CAcert, но за да може да подписваш в браузъра ще трябва да си отбележиш и втората опция за root-а. След това ще трябва да регистрираш и PKCS#11 модула на opensc във Firefox. За целта може да ползваш това ръководство.
Активен

glupa4e

  • Напреднали
  • *****
  • Публикации: 22
  • Distribution: Slackware
    • Профил
Re: Проблем с карточетец ACR38 под Slackware 13.37
« Отговор #6 -: Jan 06, 2012, 21:46 »
Ето какво направих:

Група pcscd:
bash-4.1$ cat /etc/group | grep pcscd
pcscd:x:257:

Потребител pcscd:
bash-4.1$ cat /etc/passwd | grep pcscd
pcscd:x:257:257::/var/run/pcscd:/bin/false

Ето как са модифицирани правата:
bash-4.1$ ls -rtl | grep pcscd
drwxrwxr-x 2 root      pcscd     4096 яну  5 18:54 pcscd

Четецът е:
bash-4.1$ lsusb | grep ACR38
Bus 006 Device 003: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader

idVendor=072f
idProduct=90cc

udev rule файлът е
/lib/udev/rules.d/92_pcscd_ccid.rules

в него добавям в секцията за ccid, защото моя четец е такъв:

# generic CCID device (bInterfaceClass = 0x0b)
ENV{ID_USB_INTERFACES}=="*:0b0000:*", GROUP="pcscd"
# Advanced Card Systems, Ltd ACR38 SmartCard Reader
ATTRS{idVendor}=="072f", ATTRS{idProduct}=="90cc", GROUP="pcscd"

Рестартирам компютъра и пак не се получава.

Между другото, инсталирах си конфигуратора за Mozilla Firefox  на Инфонотари и пак pcscd не се стартира :(.

Какво ми липсва?
Активен

glupa4e

  • Напреднали
  • *****
  • Публикации: 22
  • Distribution: Slackware
    • Профил
Re: Проблем с карточетец ACR38 под Slackware 13.37
« Отговор #7 -: Jan 06, 2012, 22:15 »
единственото, което ми идва на ума е да добавя потребителя, с който влизам - slacker към групата pcscd?
Активен

glupa4e

  • Напреднали
  • *****
  • Публикации: 22
  • Distribution: Slackware
    • Профил
Re: Проблем с карточетец ACR38 под Slackware 13.37
« Отговор #8 -: Jan 06, 2012, 22:30 »
направих

bash-4.1$ cat /etc/group | grep pcscd
pcscd:x:257:slacker

и пак не помогна :-(

Активен

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
Re: Проблем с карточетец ACR38 под Slackware 13.37
« Отговор #9 -: Jan 09, 2012, 09:34 »
Конфигуратора е само за да настрои Firefox да работи със смарт картата. Той не може да пусне pcscd сам.

Честно казано не знам защо демона не иска да се стартира автоматично. Явно ще трябва да му сложиш страртиращ скрипт, така че да се стартира със системата или да го пускаш ръчно, когато ти дотрябва.

Не е необходимо да добавяш своят потребител в тази група. Поне в Ubuntu и Debian работи и без да си член на групата pcscd. Мися че тази група ти трябва само за да има достъп демона до usb четеца.
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Slackware 8.1
Настройка на програми
rip_darkman 1 3515 Последна публикация Aug 21, 2003, 08:59
от dafo
Slackware help
Хардуерни и софтуерни проблеми
Emooo 2 3589 Последна публикация Oct 02, 2003, 10:14
от
Slackware 9.1 и кирилица?
Настройка на програми
pantalej 8 5294 Последна публикация Oct 02, 2003, 21:11
от nikoni
slackware 8.1
Настройка на програми
Roni 2 3257 Последна публикация Nov 25, 2003, 12:51
от sebastianz55
Четец за карти ACR38 и KMail
Хардуерни и софтуерни проблеми
Uvigii 5 2587 Последна публикация Sep 04, 2010, 17:14
от nov_chovek