gpg4win pinentry ignores pinpad

Martin Wolters wolters.mar at
Thu Oct 24 22:05:51 CEST 2013

Am 24.10.2013 04:01, schrieb NIIBE Yutaka:
> [...]
> Well, let me explain scdaemon.  The scdaemon works like this:

Thank you very much, it was helpful indeed.

> [...]
> Here, we don't see any log (for the step (1-1)).
> If it fails for CM_IOCTL_GET_FEATURE_REQUEST, we might see something
> like:
>    pcsc_vendor_specific_init: GET_FEATURE_REQUEST failed: ...
> Or else, we should see:
>    feature: code=??, len=??, v=??
> We don't see any log...  It means that the call got success, but it
> returned empty information.  In this situation, pinpad input doesn't
> work.

I just tried again and checked the log. The function you refer to
generates the following messages at the very beginning:

> 2013-10-24 21:07:55 scdaemon[8936] detected reader `SCM Microsystems
Inc. SPRx32 USB Smart Card Reader 0'
> 2013-10-24 21:07:55 scdaemon[8936] pcsc_control failed: invalid PC/SC
error code (0x6)
> 2013-10-24 21:07:55 scdaemon[8936] pcsc_vendor_specific_init:
> 2013-10-24 21:07:55 scdaemon[8936] reader slot 0: not connected
> scdaemon[8936]: chan_00000140 -> OK GNU Privacy Guard's Smartcard
server ready

The return constant has the symbol SW_HOST_GENERAL_ERROR, before anyone
looks it up in hope of finding something useful. The error code of
pcsc_control() is Invalid Handle (0x06), forwarded from SCardControl()
in the Windows Smartcard API, indicating reader_table[slot].pcsc.card
contains an invalid value. Being unable to attach a debugger proves
disadvantageous again. Can anybody supply me with a binary of scdaemon
that doesn't have the symbols stripped?

> [...]
> Could you check your firmware version?

It is 6.01

Thank you for your extensive response. Sorry I couldn't answer sooner.
Have a good time,

More information about the Gnupg-devel mailing list