Windows GPG 2.22.2: ERR 100663354 No data <SCD>

Ave Milia avemilia at protonmail.com
Mon Aug 31 23:03:42 CEST 2020


Windows, GPG 2.22.2 from chocolatey (choco install gnupg)

While trying to setup gpg-agent to work with SSH key on Yubikey on Windows I have noticed (perhaps unrelated) issue:

PS C:\Users\avemilia> gpgconf.exe --kill all
PS C:\Users\avemilia> gpgconf.exe --launch all
PS C:\Users\avemilia> echo "scd getinfo reader_list" | gpg-connect-agent.exe --decode
ERR 100663354 No data <SCD>
PS C:\Users\avemilia> gpgconf.exe --kill all

On Linux this gives:
❯ echo "scd getinfo reader_list" | gpg-connect-agent --decode
D 1050:0407:X:0
OK

I found two mentions of this issue [0][1]. It seems like this issue was addressed in 2.3.0?

Why do I care? I am configuring gpg and ssh on Windows and was reading [2] which mentions this command to determine reader-port value in order to operate only on one smartcard. I am struggling to understand what this error means -- gpg cannot determine the smartcard to use? If so, why does gpg --card-status work? If not, what does the error imply? Can it be one of the reasons why agent forwarding over ssh fails (this is what I was debugging before I met this error)?

gpg-agent.conf:
enable-ssh-support
enable-putty-support
default-cache-ttl 60
max-cache-ttl 120
verbose
debug-level advanced
log-file C:\Users\avemilia\AppData\Roaming\gnupg\gpg-agent.log

scdaemon.conf:
#reader-port Yubico Yubikey 4 OTP+U2F+CCID 0
card-timeout 5
verbose
debug-level advanced
log-file C:\Users\avemilia\AppData\Roaming\gnupg\scdaemon.log

Notice that reader-port is commented out, but it the error is the same when it is set as well. I have looked up this value from Device Manager according to some guide on the internet that recommended setting reader-port so that scdaemon doesn't choke on virtual smartcards generated by 365 Office, or something.

Below are the logs of gpg-agent and scdaemon based on (only) 4 commands provided at the beginning of this email.

agent:
2020-08-31 22:59:54 gpg-agent[7220] listening on socket 'C:\Users\avemilia\AppData\Roaming\gnupg\S.gpg-agent'
2020-08-31 22:59:54 gpg-agent[7220] listening on socket 'C:\Users\avemilia\AppData\Roaming\gnupg\S.gpg-agent.extra'
2020-08-31 22:59:54 gpg-agent[7220] listening on socket 'C:\Users\avemilia\AppData\Roaming\gnupg\S.gpg-agent.browser'
2020-08-31 22:59:54 gpg-agent[7220] listening on socket 'C:\Users\avemilia\AppData\Roaming\gnupg\S.gpg-agent.ssh'
2020-08-31 22:59:54 gpg-agent[7220] gpg-agent (GnuPG) 2.2.22 started
2020-08-31 22:59:54 gpg-agent[7220] putty message loop thread started
2020-08-31 22:59:54 gpg-agent[7220] DBG: chan_0x000002a8 -> OK Pleased to meet you
2020-08-31 22:59:54 gpg-agent[7220] DBG: chan_0x000002a8 <- RESET
2020-08-31 22:59:54 gpg-agent[7220] DBG: chan_0x000002a8 -> OK
2020-08-31 22:59:54 gpg-agent[7220] DBG: chan_0x000002a8 <- NOP
2020-08-31 22:59:54 gpg-agent[7220] DBG: chan_0x000002a8 -> OK
2020-08-31 22:59:54 gpg-agent[7220] DBG: chan_0x000002a8 <- [eof]
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002b8 -> OK Pleased to meet you
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002b8 <- RESET
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002b8 -> OK
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002b8 <- scd getinfo reader_list
2020-08-31 23:00:06 gpg-agent[7220] no running SCdaemon - starting it
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002cc <- OK GNU Privacy Guard's Smartcard server ready
2020-08-31 23:00:06 gpg-agent[7220] DBG: first connection to SCdaemon established
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002cc -> GETINFO socket_name
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002cc <- D C:\Users\avemilia\AppData\Roaming\gnupg\S.scdaemon
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002cc <- OK
2020-08-31 23:00:06 gpg-agent[7220] DBG: additional connections at 'C:\Users\avemilia\AppData\Roaming\gnupg\S.scdaemon'
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002cc -> OPTION event-signal=0x000002a4
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002cc <- OK
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002cc -> getinfo reader_list
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002cc <- ERR 100663354 No data <SCD>
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002b8 -> ERR 100663354 No data <SCD>
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002b8 <- [eof]
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002cc -> RESTART
2020-08-31 23:00:06 gpg-agent[7220] DBG: chan_0x000002cc <- OK
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000000b0 -> OK Pleased to meet you
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000000b0 <- RESET
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000000b0 -> OK
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000000b0 <- GETINFO scd_running
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000000b0 -> OK
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000000b0 <- scd killscd
2020-08-31 23:00:09 gpg-agent[7220] new connection to SCdaemon established (reusing)
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000002cc -> killscd
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000002cc <- OK closing connection
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000000b0 -> OK
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000000b0 <- [eof]
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000002cc -> RESTART
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000002cc <- [eof]
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000002d4 -> OK Pleased to meet you
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000002d4 <- RESET
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000002d4 -> OK
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000002d4 <- KILLAGENT
2020-08-31 23:00:09 gpg-agent[7220] DBG: chan_0x000002d4 -> OK closing connection
2020-08-31 23:00:09 gpg-agent[7220] secmem usage: 0/32768 bytes in 0 blocks


scd:
2020-08-31 23:00:06 scdaemon[12216] listening on socket 'C:\Users\avemilia\AppData\Roaming\gnupg\S.scdaemon'
2020-08-31 23:00:06 scdaemon[12216] handler for fd -1 started
2020-08-31 23:00:06 scdaemon[12216] DBG: chan_0x00000100 -> OK GNU Privacy Guard's Smartcard server ready
2020-08-31 23:00:06 scdaemon[12216] DBG: chan_0x00000100 <- GETINFO socket_name
2020-08-31 23:00:06 scdaemon[12216] DBG: chan_0x00000100 -> D C:\Users\avemilia\AppData\Roaming\gnupg\S.scdaemon
2020-08-31 23:00:06 scdaemon[12216] DBG: chan_0x00000100 -> OK
2020-08-31 23:00:06 scdaemon[12216] DBG: chan_0x00000100 <- OPTION event-signal=0x000002a4
2020-08-31 23:00:06 scdaemon[12216] DBG: chan_0x00000100 -> OK
2020-08-31 23:00:06 scdaemon[12216] DBG: chan_0x00000100 <- getinfo reader_list
2020-08-31 23:00:06 scdaemon[12216] DBG: chan_0x00000100 -> ERR 100663354 No data <SCD>
2020-08-31 23:00:06 scdaemon[12216] DBG: chan_0x00000100 <- RESTART
2020-08-31 23:00:06 scdaemon[12216] DBG: chan_0x00000100 -> OK
2020-08-31 23:00:09 scdaemon[12216] DBG: chan_0x00000100 <- killscd
2020-08-31 23:00:09 scdaemon[12216] DBG: chan_0x00000100 -> OK closing connection

Thank you in advance for the reply (and replies on my previous thread, on which I replied with own solution).

[0] <https://dev.gnupg.org/T4620>
[1] <https://dev.gnupg.org/T1081>
[2] <https://www.gnupg.org/documentation/manuals/gnupg/Scdaemon-Options.html>



More information about the Gnupg-users mailing list