[Pcsclite-muscle] Not enough reader entries on CentOS 7.0 with pcsc-lite 1.8.8

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[Pcsclite-muscle] Not enough reader entries on CentOS 7.0 with pcsc-lite 1.8.8

Daniel Abson
Hi there

I've got 60 OmniKey 3121 readers attached to a server running CentOS 7.0 (x86_64). I have the latest OmniKey drivers installed (ifdokccid-lnx_x64-3.9.0). All devices are listed by lusb, but only 16 readers are showing up in my Java client (which is using javax.smartcardio).

Running systemctl status pcscd -l shows the following output:

pcscd.service - PC/SC Smart Card Daemon
   Loaded: loaded (/usr/lib/systemd/system/pcscd.service; static)
   Active: active (running) since Wed 2014-09-24 17:04:07 BST; 14s ago
 Main PID: 4986 (pcscd)
   CGroup: /system.slice/pcscd.service
           └─4986 /usr/sbin/pcscd --foreground --auto-exit

Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000258 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000267 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000463 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000260 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000246 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000244 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000473 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000243 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000251 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000248 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers


I have also tried manually setting --max-thread, --max-card-handle-per-thread, --max-card-handle-per-reader to 200 in pcscd.service, with no effect, but the default for pcsclite at this version should be 200 anyway. I'm not sure what I'm missing - can you help?

Best regards,


Daniel Abson | System Administrator

T: +44(0)1355 813 492 | E: [hidden email] |W: www.ecebs.com

Ecebs Limited

A member of the Bell ID Group


_______________________________________________
Pcsclite-muscle mailing list
[hidden email]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
Reply | Threaded
Open this post in threaded view
|

Re: [Pcsclite-muscle] Not enough reader entries on CentOS 7.0 with pcsc-lite 1.8.8

Ludovic Rousseau
2014-09-24 18:09 GMT+02:00 Daniel Abson <[hidden email]>:
> Hi there

Hello,

> I've got 60 OmniKey 3121 readers attached to a server running CentOS 7.0 (x86_64). I have the latest OmniKey drivers installed (ifdokccid-lnx_x64-3.9.0). All devices are listed by lusb, but only 16 readers are showing up in my Java client (which is using javax.smartcardio).
>
> Running systemctl status pcscd -l shows the following output:
>
> pcscd.service - PC/SC Smart Card Daemon
>    Loaded: loaded (/usr/lib/systemd/system/pcscd.service; static)
>    Active: active (running) since Wed 2014-09-24 17:04:07 BST; 14s ago
>  Main PID: 4986 (pcscd)
>    CGroup: /system.slice/pcscd.service
>            └─4986 /usr/sbin/pcscd --foreground --auto-exit
>
> Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000258 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
> Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000267 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
> Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000463 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
> Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000260 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
> Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000246 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
> Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000244 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
> Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000473 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
> Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000243 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
> Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000251 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
> Sep 24 17:04:11 eceliveisas2-ecebs-com pcscd[4986]: 00000248 hotplug_libudev.c:337:HPAddDevice() Not enough reader entries. Already found 16 readers
>
>
> I have also tried manually setting --max-thread, --max-card-handle-per-thread, --max-card-handle-per-reader to 200 in pcscd.service, with no effect, but the default for pcsclite at this version should be 200 anyway. I'm not sure what I'm missing - can you help?

It is a known limitation
https://alioth.debian.org/tracker/index.php?func=detail&aid=313579&group_id=30105&atid=410088

You need to edit pcsc-lite/src/PCSC/pcsclite.h.in and change the definition:

/** Maximum readers context (a slot is count as a reader) */
#define PCSCLITE_MAX_READERS_CONTEXTS            16


If you want definitely fix the problem just contact me.

Bye

--
 Dr. Ludovic Rousseau

_______________________________________________
Pcsclite-muscle mailing list
[hidden email]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
Reply | Threaded
Open this post in threaded view
|

Re: [Pcsclite-muscle] Not enough reader entries on CentOS 7.0 with pcsc-lite 1.8.8

Daniel Abson
Thanks so much for your help. I pulled the RHEL distro, updated the PCSCLITE_MAX_READER_CONTEXTS, and repackaged it to install on my system.

Now I have a different error from systemctl status, which appears to be an issue with the ifdokccid driver bundle for the OmniKey readers:

00000009 readerfactory.c:741:RFSetReaderName() Driver /usr/lib64/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so does not support more than 16 reader(s). Maybe the driver should support TAG_IFD_SIMULTANEOUS_ACCESS

Is libccid.so something that I can replace or rebuild in this case, or would I have to raise this with the manufacturer in your opinion?

Best regards,


Daniel Abson | System Administrator

T: +44(0)1355 813 492 | E: [hidden email] |W: www.ecebs.com

Ecebs Limited


_______________________________________________
Pcsclite-muscle mailing list
[hidden email]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
Reply | Threaded
Open this post in threaded view
|

Re: [Pcsclite-muscle] Not enough reader entries on CentOS 7.0 with pcsc-lite 1.8.8

Ludovic Rousseau
2014-09-26 9:25 GMT+02:00 Daniel Abson <[hidden email]>:
> Thanks so much for your help. I pulled the RHEL distro, updated the PCSCLITE_MAX_READER_CONTEXTS, and repackaged it to install on my system.
>
> Now I have a different error from systemctl status, which appears to be an issue with the ifdokccid driver bundle for the OmniKey readers:
>
> 00000009 readerfactory.c:741:RFSetReaderName() Driver /usr/lib64/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so does not support more than 16 reader(s). Maybe the driver should support TAG_IFD_SIMULTANEOUS_ACCESS
>
> Is libccid.so something that I can replace or rebuild in this case, or would I have to raise this with the manufacturer in your opinion?

Now you need to update the CCID driver.
Edit the file ccid/src/ccid_ifdhandler.h and change the line:
/*
 * Maximum number of CCID readers supported simultaneously
 *
 * The maximum number of readers is also limited in pcsc-lite (16 by default)
 * see the definition of PCSCLITE_MAX_READERS_CONTEXTS in src/PCSC/pcsclite.h
 */
#define CCID_DRIVER_MAX_READERS 16

Bye

--
 Dr. Ludovic Rousseau

_______________________________________________
Pcsclite-muscle mailing list
[hidden email]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
Reply | Threaded
Open this post in threaded view
|

Re: [Pcsclite-muscle] Not enough reader entries on CentOS 7.0 with pcsc-lite 1.8.8

Daniel Abson
Thanks again, Ludovic, I appreciate your patient assistance.

I pulled down the ccid source, updated CCID_DRIVER_MAX_READERS, and repackaged the rpm. That all seemed to work fine, but now the output from systemctl status pcscd reports that the HID driver ifdokccid.so doesn't support more than 16 readers. I'll get onto HID support about updating their drivers to allow a larger number of readers. Thanks for all your help!

Best regards,

Daniel Abson | System Administrator

T: +44(0)1355 813 492 | E: [hidden email] |W: www.ecebs.com

Ecebs Limited


_______________________________________________
Pcsclite-muscle mailing list
[hidden email]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
Reply | Threaded
Open this post in threaded view
|

Re: [Pcsclite-muscle] Not enough reader entries on CentOS 7.0 with pcsc-lite 1.8.8

javialcobendas
This post has NOT been accepted by the mailing list yet.
Dear Daniel

We have the same issue in an installation with 20 readers on a Red Hat Enterprise Linux server. Did you finally solve the problem?.
Any help would be very appreciated.

Best regards

Javier Saralegui