So what's the semantics behind the function pointer returned
for TAG_IFD_POLLING_THREAD_WITH_TIMEOUT, well call this LongPoll() for our
discussion.

Essentially I have a working IFD without this capabiltiy and am now trying
to add this in.

In my implementation the LongPoll() function always sleeps on the timeout,
and returns either at timeout or immedatley on smart card insert. If a
smart card is present on return it returns IFD_SUCCESS, else it
returns IFD_ICC_NOT_PRESENT.

IFDHPresence() returns IFD_ICC_SUCCESS on smart card present
or IFD_ICC_NOT_PRESENT

However, I see in the logs that my card gets powered down, looks like for
some power saving thing, however, when I try to run an opensc command like
pkcs15-tool -c, it says no card inserted.


See attached logs.


-- 
Respectfully,

William C Roberts
00000000 pcscdaemon.c:263:main() pcscd set to foreground with debug send to stdout
00000158 configfile.l:284:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d/
00000039 configfile.l:318:DBGetReaderListDir() Skipping non regular file: ..
00000013 configfile.l:356:DBGetReaderList() Parsing conf file: /etc/reader.conf.d//pascbtbridge
00000071 configfile.l:213:evaluatetoken() Add reader: Generic Java BT IFD
00000027 configfile.l:356:DBGetReaderList() Parsing conf file: /etc/reader.conf.d//libccidtwin
00000042 configfile.l:318:DBGetReaderListDir() Skipping non regular file: .
00000027 readerfactory.c:1016:RFInitializeReader() Attempting startup of Generic Java BT IFD 00 00 using /home/w2.roberts/workspace/smartcard/linux-ifd/out/lib/libpascbtbridge.so
00003199 readerfactory.c:901:RFBindFunctions() Loading IFD Handler 3.0
00340909 readerfactory.c:347:RFAddReader() Result code 0
00000010 readerfactory.c:348:RFAddReader() Result dwsize 8
00000002 readerfactory.c:349:RFAddReader() Result fct 8
00000011 readerfactory.c:350:RFAddReader() Result fn 0x7f098739efa1
00000002 readerfactory.c:358:RFAddReader() Using the reader polling thread
00000370 pcscdaemon.c:569:main() pcsc-lite 1.8.13 daemon ready.
00001714 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000107 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000136 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/001/002
00000162 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/003/001
00000113 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/003/001
00000112 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x046D, PID: 0xC05A, path: /dev/bus/usb/003/002
00000130 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0003, path: /dev/bus/usb/004/001
00000123 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000112 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000119 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
00000104 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x18D1, PID: 0x4EE0, path: /dev/bus/usb/002/018
00000093 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
00000104 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x0A12, PID: 0x0001, path: /dev/bus/usb/002/004
00000096 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x0A12, PID: 0x0001, path: /dev/bus/usb/002/004
00000091 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
00000098 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x03F0, PID: 0x0324, path: /dev/bus/usb/002/006
00000094 hotplug_libudev.c:296:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
08501834 eventhandler.c:403:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000012 eventhandler.c:418:EHStatusHandlerThread() Card inserted into Generic Java BT IFD 00 00
00000009 Card ATR: 3B 80 80 01 01 
02274771 winscard_msg_srv.c:253:ProcessEventsServer() Common channel packet arrival
00000041 winscard_msg_srv.c:265:ProcessEventsServer() ProcessCommonChannelRequest detects: 22
00000006 pcscdaemon.c:134:SVCServiceRunLoop() A new context thread creation is requested: 22
00000131 winscard_svc.c:331:ContextThread() Authorized PC/SC client
00000023 winscard_svc.c:335:ContextThread() Thread is started: dwClientID=22, threadContext @0x1c7a6d0
00000017 winscard_svc.c:353:ContextThread() Received command: CMD_VERSION from client 22
00000008 winscard_svc.c:365:ContextThread() Client is protocol version 4:2
00000003 winscard_svc.c:374:ContextThread() Client protocol is 4:2
00000003 winscard_svc.c:376:ContextThread() Server protocol is 4:3
00000004 winscard_svc.c:385:ContextThread() CMD_VERSION rv=0x8010001D for client 22
00002248 winscard_msg_srv.c:253:ProcessEventsServer() Common channel packet arrival
00000031 winscard_msg_srv.c:265:ProcessEventsServer() ProcessCommonChannelRequest detects: 23
00000005 pcscdaemon.c:134:SVCServiceRunLoop() A new context thread creation is requested: 23
00000125 winscard_svc.c:331:ContextThread() Authorized PC/SC client
00000023 winscard_svc.c:335:ContextThread() Thread is started: dwClientID=23, threadContext @0x1c7aa50
00000015 winscard_svc.c:353:ContextThread() Received command: CMD_VERSION from client 23
00000008 winscard_svc.c:365:ContextThread() Client is protocol version 4:2
00000003 winscard_svc.c:374:ContextThread() Client protocol is 4:2
00000003 winscard_svc.c:376:ContextThread() Server protocol is 4:3
00000003 winscard_svc.c:385:ContextThread() CMD_VERSION rv=0x8010001D for client 23
00000607 winscard_svc.c:345:ContextThread() Client die: 22
00000012 winscard_svc.c:345:ContextThread() Client die: 23
00000045 winscard_svc.c:978:MSGCleanupClient() Thread is stopping: dwClientID=22, threadContext @0x1c7a6d0
00000008 winscard_svc.c:984:MSGCleanupClient() Freeing SCONTEXT @0x1c7a6d0
00000002 winscard_svc.c:978:MSGCleanupClient() Thread is stopping: dwClientID=23, threadContext @0x1c7aa50
00000007 winscard_svc.c:984:MSGCleanupClient() Freeing SCONTEXT @0x1c7aa50
02722430 eventhandler.c:477:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED
_______________________________________________
Pcsclite-muscle mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle

Reply via email to