(hardware?) problem using "lindy" reader

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

(hardware?) problem using "lindy" reader

Thomas Capricelli

Hello,

(technical details at bottom)

I just bought a reader on amazon. Some people in comments reported that
it was working on ubuntu, and it's supposed to be CCID compliant, so I
was pretty optimistic.

Unfortunately, i haven't been able to do much yet. I'm suspecting a
hardware problem, but I wanted to be sure, so here's a full report.

The problem is the following : the card is found by pcsc_scan, but when
i insert a card, it always report:

Reader 0: Generic Smart Card Reader Interface [Smart Card Reader
Interface] (20070818000000000) 00 00
   Card state: Card inserted, Unresponsive card,

I've tried:
     * two different bank cards
     * transportation card (French Navigo)
     * (French) driving license card
     * Health card (French Carte Vitale)
(yes, I'm French

And I got the same answer for each.

Then I've tried a SIM Card, and quite surprisingly, it works well,
totally reproducible:

Reader 0: Generic Smart Card Reader Interface [Smart Card Reader
Interface] (20070818000000000) 00 00
   Card state: Card inserted,
   ATR: 3B 16 94 71 01 01 06 02 00
   ....

So now i'm confused. I would say that most of the stack is working (usb,
ccid driver, pcsc), and it even confirms i know how to put the card in
(ths is not obvious, the connection pins could be either up or down).

So either something is broken in hardware, or I'm missing some nifty
configuration stuff for the driver.

I'm suspecting something related to voltage, so I've tried to change
Info.plist as described in /usr/share/doc/ccid-1.4.15/README.bz2,
unfortunately I've had no success so far. Actually, I'm not even sure my
changes are taken into account. The documentation says that I need to
unplug the (only one) driver i have and replug it, but I haven't seen
any visual confirmation that something was reloaded.

This file Info.plist has weird documentation. parameters are in hexa,
like <string>0x0009</string>, but comments mention decimal numbers such
as 16, 32 (so that they probably really are decimals).

The only Windows OS I got is Windows 7 in a virtualbox. I tried this
(you can route a physical usb device to the virtual machine). Windows
installs some driver (CCID i guess) and then using python/pyscard i have
the same kind of error (card present, but not answering)

pcscd mentions to report but to "lists.musclecard.com", but this name
doesn't resolve.

That's where I am. Any hint about what's happening or what I could try
next ?

I'm available on irc/freenode as 'orzel' if needed.

best regards,
--
Thomas Capricelli <[hidden email]>
http://www.freehackers.org/thomas/


Technical information / detailed "bug report"

Versions:
ccid-1.4.20 (I tried ccid-1.4.15 as well)
pcsc-lite-1.8.14 (I tried pcsc-lite-1.8.12 too)
My reader is called "Lindy 42768", which is based on the Realtek stuff
that seems pretty common
in this kind of reader :
     http://www.amazon.fr/gp/product/B003SW1IL2

% pcscd --version
pcsc-lite version 1.8.12.
Copyright (C) 1999-2002 by David Corcoran <[hidden email]>.
Copyright (C) 2001-2011 by Ludovic Rousseau <[hidden email]>.
Copyright (C) 2003-2004 by Damien Sauveron <[hidden email]>.
Report bugs to <[hidden email]>.
Enabled features: Linux x86_64-pc-linux-gnu serial usb libudev
usbdropdir=/usr/lib64/readers/usb ipcdir=/run/pcscd
configdir=/etc/reader.conf.d

Platform:
uptodate linux/gentoo on a pretty standard amd64 system
No idea what the "SmartCard middleware" is. Isn't it pcsc-lite ?
% uname -a:
Linux berlioz 4.2.3 #208 SMP PREEMPT Sat Oct 3 19:04:19 CEST 2015 x86_64
AMD Athlon(tm) II X4 620 Processor AuthenticAMD GNU/Linux

ccid-parse.output.txt, pretty much what found on
https://pcsclite.alioth.debian.org/ccid/readers/Dectel_CI692.txt
  idVendor: 0x0BDA
   iManufacturer: Generic
  idProduct: 0x0165
   iProduct: Smart Card Reader Interface
  bcdDevice: 61.23 (firmware release?)
  bLength: 9
  bDescriptorType: 4
  bInterfaceNumber: 0
  bAlternateSetting: 0
  bNumEndpoints: 3
   bulk-IN, bulk-OUT and Interrupt-IN
  bInterfaceClass: 0x0B [Chip Card Interface Device Class (CCID)]
  bInterfaceSubClass: 0
  bInterfaceProtocol: 0
   bulk transfer, optional interrupt-IN (CCID)
  iInterface: Smart Card Reader Interface
  CCID Class Descriptor
   bLength: 0x36
   bDescriptorType: 0x21
   bcdCCID: 1.10
   bMaxSlotIndex: 0x00
   bVoltageSupport: 0x07
    5.0V
    3.0V
    1.8V
   dwProtocols: 0x0000 0x0003
    T=0
    T=1
   dwDefaultClock: 3.750 MHz
   dwMaximumClock: 7.500 MHz
   bNumClockSupported: 0 (will use whatever is returned)
    IFD does not support GET CLOCK FREQUENCIES request: Resource
temporarily unavailable
   dwDataRate: 10080 bps
   dwMaxDataRate: 312500 bps
   bNumDataRatesSupported: 0 (will use whatever is returned)
    IFD does not support GET_DATA_RATES request: Resource temporarily
unavailable
   dwMaxIFSD: 254
   dwSynchProtocols: 0x00000000
   dwMechanical: 0x00000000
    No special characteristics
   dwFeatures: 0x00010030
    ....10 Automatic ICC clock frequency change according to parameters
    ....20 Automatic baud rate change according to frequency and Fi, Di
params
    01.... TPDU level exchange
   dwMaxCCIDMessageLength: 271 bytes
   bClassGetResponse: 0x00
   bClassEnvelope: 0x00
   wLcdLayout: 0x0000
   bPINSupport: 0x00
   bMaxCCIDBusySlots: 1

% sudo LIBCCID_ifdLogLevel=0x000F pcscd --foreground --debug --apdu:

(nothing in reader)

00000000 debuglog.c:295:DebugLogSetLevel() debug level=debug
00000040 debuglog.c:324:DebugLogSetCategory() Debug options: APDU
00000092 configfile.l:358:DBGetReaderList() Parsing conf file:
/etc/reader.conf.d
00000012 pcscdaemon.c:571:main() pcsc-lite 1.8.12 daemon ready.
00005435 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/001/001
00000140 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/001/001
00000130 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x046D, PID: 0xC31D, path: /dev/bus/usb/001/004
00000153 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x046D, PID: 0xC31D, path: /dev/bus/usb/001/004
00000168 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/002/001
00000120 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/002/001
00000143 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x045E, PID: 0x076C, path: /dev/bus/usb/002/003
00000176 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/006/001
00000121 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/006/001
00000130 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x046D, PID: 0x0807, path: /dev/bus/usb/006/002
00000131 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x046D, PID: 0x0807, path: /dev/bus/usb/006/002
00000126 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x046D, PID: 0x0807, path: /dev/bus/usb/006/002
00000127 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x046D, PID: 0x0807, path: /dev/bus/usb/006/002
00000174 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000168 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/004/001
00000167 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/007/001
00000117 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/007/001
00000128 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x0BDA, PID: 0x0165, path: /dev/bus/usb/007/006
00000010 hotplug_libudev.c:438:HPAddDevice() Adding USB device: Generic
Smart Card Reader Interface
00000099 readerfactory.c:1015:RFInitializeReader() Attempting startup of
Generic Smart Card Reader Interface [Smart Card Reader Interface]
(20070818000000000) 00 00 using
/usr/lib64/readers/usb/ifd-ccid.bundle/Contents/Linux/libccid.so
00000228 readerfactory.c:900:RFBindFunctions() Loading IFD Handler 3.0
00000037
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1910:init_driver()
Driver version: 1.4.15
00000624
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1927:init_driver()
LogLevel: 0x000F
00000010
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1938:init_driver()
DriverOptions: 0x0020
00000121
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1951:init_driver()
LogLevel from LIBCCID_ifdLogLevel: 0x000F
00000007
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:83:CreateChannelByNameOrChannel()
Lun: 0, device: usb:0bda/0165:libudev:0:/dev/bus/usb/007/006
00000007
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:233:OpenUSBByName()
Reader index: 0, Device: usb:0bda/0165:libudev:0:/dev/bus/usb/007/006
00000018
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:265:OpenUSBByName()
interface_number: 0
00000003
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:281:OpenUSBByName()
Using: /usr/lib64/readers/usb/ifd-ccid.bundle/Contents/Info.plist
00000568
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:299:OpenUSBByName()
ifdManufacturerString: Ludovic Rousseau ([hidden email])
00000009
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:300:OpenUSBByName()
ifdProductString: Generic CCID driver
00000008
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:301:OpenUSBByName()
Copyright: This driver is protected by terms of the GNU Lesser General
Public License version 2.1, or (at your option) any later version.
00006503
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:426:OpenUSBByName()
Checking device: 7/6
00000024
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:488:OpenUSBByName()
Trying to open USB bus/device: 7/6
00053582
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:589:OpenUSBByName()
Found Vendor/Product: 0BDA/0165 (Generic Smart Card Reader Interface)
00000012
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:591:OpenUSBByName()
Using USB bus/device: 7/6
00000007
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:643:OpenUSBByName()
bNumDataRatesSupported is 0
00030857
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:1202:InterruptRead()
before (0)
00002862
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:1244:InterruptRead()
after (0) (0)
00000050 NotifySlotChange: 50 02
00000014 -> 000000 65 00 00 00 00 00 00 00 00 00
00000292 <- 000000 81 00 00 00 00 00 00 02 80 03
00000019 -> 000000 65 00 00 00 00 00 01 00 00 00
00000354 <- 000000 81 00 00 00 00 00 01 02 80 03
00000033
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:362:IFDHGetCapabilities()
tag: 0xFB3, usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000026 readerfactory.c:358:RFAddReader() Using the reader polling thread
00000008
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1770:IFDHICCPresence()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000011 -> 000000 65 00 00 00 00 00 02 00 00 00
00000297 <- 000000 81 00 00 00 00 00 02 02 80 03
00000013
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1891:IFDHICCPresence()
Card absent
00002089
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:362:IFDHGetCapabilities()
tag: 0xFAE, usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000036
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:450:IFDHGetCapabilities()
Reader supports 1 slot(s)
00000089
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1770:IFDHICCPresence()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000063 -> 000000 65 00 00 00 00 00 03 00 00 00
00000599 <- 000000 81 00 00 00 00 00 03 02 80 03
00000018
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1891:IFDHICCPresence()
Card absent
00000013
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1770:IFDHICCPresence()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000011 -> 000000 65 00 00 00 00 00 04 00 00 00
00000086 hotplug_libudev.c:299:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/005/001
00000279 <- 000000 81 00 00 00 00 00 04 02 80 03
00000019
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1891:IFDHICCPresence()
Card absent
00000021
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:291:IFDHPolling()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0) 600000 ms
00000007
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:1202:InterruptRead()
before (0)

(inserting card, failure:)

04714696
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:1244:InterruptRead()
after (0) (0)
00000031 NotifySlotChange: 50 03
00000013
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1770:IFDHICCPresence()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000012 -> 000000 65 00 00 00 00 00 05 00 00 00
00000376 <- 000000 81 00 00 00 00 00 05 01 80 03
00000013
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1891:IFDHICCPresence()
Card present
00000006
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1770:IFDHICCPresence()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000010 -> 000000 65 00 00 00 00 00 06 00 00 00
00000344 <- 000000 81 00 00 00 00 00 06 01 80 03
00000012
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1891:IFDHICCPresence()
Card present
00000007
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1122:IFDHPowerICC()
action: PowerUp, usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000010 -> 000000 62 00 00 00 00 00 07 03 00 00
00142147 <- 000000 80 00 00 00 00 00 07 40 FE 00
00000029
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/commands.c:237:CmdPowerOn
Card absent or mute
00000005
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/commands.c:264:CmdPowerOn()
Power up with 1.8V failed. Try with 3V.
00000008 -> 000000 62 00 00 00 00 00 08 02 00 00
00142184 <- 000000 80 00 00 00 00 00 08 40 FE 00
00000048
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/commands.c:237:CmdPowerOn
Card absent or mute
00000007
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/commands.c:264:CmdPowerOn()
Power up with 3V failed. Try with 5V.
00000012 -> 000000 62 00 00 00 00 00 09 01 00 00
00142167 <- 000000 80 00 00 00 00 00 09 40 FE 00
00000044
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/commands.c:237:CmdPowerOn
Card absent or mute
00000007
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1189:IFDHPowerICC()
PowerUp failed
00000007 eventhandler.c:413:EHStatusHandlerThread() powerState:
POWER_STATE_UNPOWERED
00000006 eventhandler.c:422:EHStatusHandlerThread() Card inserted into
Generic Smart Card Reader Interface [Smart Card Reader Interface]
(20070818000000000) 00 00
00000006 eventhandler.c:438:EHStatusHandlerThread() Error powering up card.
00000009
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:291:IFDHPolling()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0) 600000 ms
00000016
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:1202:InterruptRead()
before (0)

(removing card:)

03427839
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:1244:InterruptRead()
after (0) (0)
00000036 NotifySlotChange: 50 02
00000012
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1770:IFDHICCPresence()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000019 -> 000000 65 00 00 00 00 00 0A 00 00 00
00001389 <- 000000 81 00 00 00 00 00 0A 02 80 01
00000037
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1891:IFDHICCPresence()
Card absent
00000010 eventhandler.c:361:EHStatusHandlerThread() Card Removed From
Generic Smart Card Reader Interface [Smart Card Reader Interface]
(20070818000000000) 00 00
00000013
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:291:IFDHPolling()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0) 600000 ms
00000007
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:1202:InterruptRead()
before (0)

(inserting sim card, works:)

05693561
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:1244:InterruptRead()
after (0) (0)
00000053 NotifySlotChange: 50 03
00000011
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1770:IFDHICCPresence()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000012 -> 000000 65 00 00 00 00 00 0B 00 00 00
00000470 <- 000000 81 00 00 00 00 00 0B 01 80 01
00000026
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1891:IFDHICCPresence()
Card present
00000011
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1770:IFDHICCPresence()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000012 -> 000000 65 00 00 00 00 00 0C 00 00 00
00000303 <- 000000 81 00 00 00 00 00 0C 01 80 01
00000013
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1891:IFDHICCPresence()
Card present
00000008
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:1122:IFDHPowerICC()
action: PowerUp, usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0)
00000012 -> 000000 62 00 00 00 00 00 0D 03 00 00
00142123 <- 000000 80 00 00 00 00 00 0D 40 FE 00
00000034
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/commands.c:237:CmdPowerOn
Card absent or mute
00000004
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/commands.c:264:CmdPowerOn()
Power up with 1.8V failed. Try with 3V.
00000007 -> 000000 62 00 00 00 00 00 0E 02 00 00
00142251 <- 000000 80 00 00 00 00 00 0E 40 FE 00
00000039
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/commands.c:237:CmdPowerOn
Card absent or mute
00000008
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/commands.c:264:CmdPowerOn()
Power up with 3V failed. Try with 5V.
00000013 -> 000000 62 00 00 00 00 00 0F 01 00 00
00085222 <- 000000 80 09 00 00 00 00 0F 00 80 00 3B 16 94 71 01 01 06 02 00
00000044 eventhandler.c:407:EHStatusHandlerThread() powerState:
POWER_STATE_POWERED
00000004 eventhandler.c:422:EHStatusHandlerThread() Card inserted into
Generic Smart Card Reader Interface [Smart Card Reader Interface]
(20070818000000000) 00 00
00000007 Card ATR: 3B 16 94 71 01 01 06 02 00
00000005
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ifdhandler.c:291:IFDHPolling()
usb:0bda/0165:libudev:0:/dev/bus/usb/007/006 (lun: 0) 5000 ms
00000005
/var/tmp/portage/app-crypt/ccid-1.4.15/work/ccid-1.4.15/src/ccid_usb.c:1202:InterruptRead()
before (0)


_______________________________________________
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: (hardware?) problem using "lindy" reader

Ludovic Rousseau
2015-10-20 16:27 GMT+02:00 Thomas Capricelli <[hidden email]>:

Hello,

Hello,



(technical details at bottom)

I just bought a reader on amazon. Some people in comments reported that it was working on ubuntu, and it's supposed to be CCID compliant, so I was pretty optimistic.

Unfortunately, i haven't been able to do much yet. I'm suspecting a hardware problem, but I wanted to be sure, so here's a full report.

The problem is the following : the card is found by pcsc_scan, but when i insert a card, it always report:

Reader 0: Generic Smart Card Reader Interface [Smart Card Reader Interface] (20070818000000000) 00 00
  Card state: Card inserted, Unresponsive card,

I've tried:
    * two different bank cards
    * transportation card (French Navigo)
    * (French) driving license card
    * Health card (French Carte Vitale)
(yes, I'm French

And I got the same answer for each.

Then I've tried a SIM Card, and quite surprisingly, it works well, totally reproducible:

Reader 0: Generic Smart Card Reader Interface [Smart Card Reader Interface] (20070818000000000) 00 00
  Card state: Card inserted,
  ATR: 3B 16 94 71 01 01 06 02 00
  ....

So now i'm confused. I would say that most of the stack is working (usb, ccid driver, pcsc), and it even confirms i know how to put the card in (ths is not obvious, the connection pins could be either up or down).

So either something is broken in hardware, or I'm missing some nifty configuration stuff for the driver.

I would suspect a very limited hardware/firmware.
 

I'm suspecting something related to voltage, so I've tried to change Info.plist as described in /usr/share/doc/ccid-1.4.15/README.bz2, unfortunately I've had no success so far. Actually, I'm not even sure my changes are taken into account. The documentation says that I need to unplug the (only one) driver i have and replug it, but I haven't seen any visual confirmation that something was reloaded.

This file Info.plist has weird documentation. parameters are in hexa, like <string>0x0009</string>, but comments mention decimal numbers such as 16, 32 (so that they probably really are decimals).

Now fixed. Thanks.
 

The only Windows OS I got is Windows 7 in a virtualbox. I tried this (you can route a physical usb device to the virtual machine). Windows installs some driver (CCID i guess) and then using python/pyscard i have the same kind of error (card present, but not answering)

pcscd mentions to report but to "lists.musclecard.com", but this name doesn't resolve.


Now fixed. Thanks.
 
That's where I am. Any hint about what's happening or what I could try next ?

Buy another model of reader.
Choose a reader from the "supported" list https://pcsclite.alioth.debian.org/ccid/supported.html


I'm available on irc/freenode as 'orzel' if needed.

best regards,
--
Thomas Capricelli <[hidden email]>
http://www.freehackers.org/thomas/


Technical information / detailed "bug report"

Versions:
ccid-1.4.20 (I tried ccid-1.4.15 as well)
pcsc-lite-1.8.14 (I tried pcsc-lite-1.8.12 too)
My reader is called "Lindy 42768", which is based on the Realtek stuff that seems pretty common
in this kind of reader :
    http://www.amazon.fr/gp/product/B003SW1IL2


From one customer comment on Amazon I read:
" Il est possible de lire des cartes à puces, mais pour celui qui veut lire sa carte Vitale, bancaire ou autres, il faut s'abstenir, ce n'est pas ce produit qu'il lui faut. "

The best I can do is moved the reader from the "Should work but untested by me" list to the "Unsupported or partly supported CCID readers" list.
Done.

Bye,

--
 Dr. Ludovic Rousseau

_______________________________________________
Pcsclite-muscle mailing list
[hidden email]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle