Hi, and sorry it took so long before I had time to revisit this issue. [NIIBE Yutaka 2016-04-26] > Here are some information and somethings to try. > > (1) Power consumption of smartcard readers/token is small. For > example, it's just a few mA for Gnuk Token. So, I don't think > power consumption matters.
I agree. I borrowed a USB power meter and it could not measure the power consumption from the card as it was too low. > (2) On the other hand, the root hub of RPi matters. It is good idea > to use USB hub with independent power supply to figure out the USB > problem. Or, I found the boot cmdline option of "dwc_otg.speed=1" > for RPi to specify the USB speed to 12Mbps. I tried a powered HUB, without any changes. Did not yet try dwc_otg.speed=1. > (3) We don't need to use pcscd. We can just use internal CCID driver > of GnuPG and I think it is better because software components > become simpler. At least, simpler is better when debugging. Try > with "service pcscd stop" or "apt-get remove pcscd". Right. It is not running on my test RPi. > (4) To debug scdaemon, please have the following configuration file. > Note that it may log your PIN information, so, don't send the log > when you do authenticate the card (or change your PIN before your > experiment and debug). I did this, and got this content in /run/user/1000/scd.log when I ran 'gpg2 --card-status': 2016-06-11 21:46:26 scdaemon[16023] listening on socket `/tmp/gpg-x5maJc/S.scdaemon' 2016-06-11 21:46:26 scdaemon[16023] handler for fd -1 started 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: using CCID reader 0 (ID=08E6:3438:X:0) 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: idVendor: 08E6 idProduct: 3438 bcdDevice: 0200 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: ChipCard Interface Descriptor: 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bLength 54 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bDescriptorType 33 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bcdCCID 1.01 (Warning: Only accurate for version 1.0) 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: nMaxSlotIndex 0 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bVoltageSupport 7 ? 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwProtocols 3 T=0 T=1 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwDefaultClock 4800 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwMaxiumumClock 4800 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bNumClockSupported 0 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwDataRate 12903 bps 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwMaxDataRate 825806 bps 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bNumDataRatesSupp. 53 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwMaxIFSD 254 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwSyncProtocols 00000000 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwMechanical 00000000 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwFeatures 00010230 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: Auto clock change 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: Auto baud rate change 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: NAD value other than 0x00 accepted 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: TPDU level exchange 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwMaxCCIDMsgLen 271 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bClassGetResponse 00 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bClassEnvelope 00 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: wlcdLayout none 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bPINSupport 0 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bMaxCCIDBusySlots 1 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: usb_claim_interface failed: -1 2016-06-11 21:46:26 scdaemon[16023] PC/SC OPEN failed: no service (0x8010001d) scdaemon[16023]: chan_7 -> OK GNU Privacy Guard's Smartcard server ready scdaemon[16023]: chan_7 <- GETINFO socket_name scdaemon[16023]: chan_7 -> D /tmp/gpg-x5maJc/S.scdaemon scdaemon[16023]: chan_7 -> OK scdaemon[16023]: chan_7 <- SERIALNO openpgp 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: using CCID reader 0 (ID=08E6:3438:X:0) 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: idVendor: 08E6 idProduct: 3438 bcdDevice: 0200 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: ChipCard Interface Descriptor: 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bLength 54 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bDescriptorType 33 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bcdCCID 1.01 (Warning: Only accurate for version 1.0) 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: nMaxSlotIndex 0 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bVoltageSupport 7 ? 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwProtocols 3 T=0 T=1 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwDefaultClock 4800 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwMaxiumumClock 4800 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bNumClockSupported 0 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwDataRate 12903 bps 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwMaxDataRate 825806 bps 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bNumDataRatesSupp. 53 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwMaxIFSD 254 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwSyncProtocols 00000000 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwMechanical 00000000 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwFeatures 00010230 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: Auto clock change 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: Auto baud rate change 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: NAD value other than 0x00 accepted 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: TPDU level exchange 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: dwMaxCCIDMsgLen 271 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bClassGetResponse 00 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bClassEnvelope 00 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: wlcdLayout none 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bPINSupport 0 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: bMaxCCIDBusySlots 1 2016-06-11 21:46:26 scdaemon[16023] DBG: ccid-driver: usb_claim_interface failed: -1 2016-06-11 21:46:26 scdaemon[16023] PC/SC OPEN failed: no service (0x8010001d) scdaemon[16023]: chan_7 -> ERR 100663404 Card error <SCD> scdaemon[16023]: chan_7 <- RESTART scdaemon[16023]: chan_7 -> OK scdaemon[16023]: chan_7 <- [eof] 2016-06-11 21:46:26 scdaemon[16023] handler for fd -1 terminated 2016-06-11 21:46:27 scdaemon[16023] scdaemon (GnuPG) 2.0.26 stopped Did not tell me much, but perhaps you see anything wrong with it? > I use Gnuk Token daily with Wandboard (armhf) and Orange PI PC (armhf) > through a USB hub on the USB keyboard. I have been using a variant of > SheevaPlug (armel) for the development of NeuG (when I let the device > generate 64GiB of output) with a USB hub. All work well. Right. Good to know. -- Happy hacking Petter Reinholdtsen

