AnsweredAssumed Answered

Mifare Plus SE and Pegoda operation

Question asked by Casey Tickes on Oct 16, 2017
Latest reply on Oct 20, 2017 by Kan_Li

Hello, I am attempting to implement the Mifare Plus SE card into our application that makes use of the Pegoda reader. We are currently reading and writing Mifare Classic and Ultralight cards with the Pegoda and we are able to read Mifare Plus SE cards using a different reader (Identive Multi ISO). However, using the exact same code that works on the Identive reader does not work on the Pegoda. Looking at the logs, the card seems to connect and disconnect rapidly. The reader makes initial contact with the card and then fails on subsequent commands. Following is the full log output when tapping a Mifare Plus card to the Pegoda reader. Please, I could really use any help anyone can provide. Thank you.

 

44953625 ccid_usb.c:1132:InterruptRead() after (0) (0)
00000164 NotifySlotChange: 50 03
00000078 ifdhandler.c:1695:IFDHICCPresence() usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0)
00003472 -> 000000 65 00 00 00 00 00 13 00 00 00
00012248 <- 000000 81 00 00 00 00 00 13 00 00 00
00000149 ifdhandler.c:1813:IFDHICCPresence() Card present
00000078 ifdhandler.c:1695:IFDHICCPresence() usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0)
00000086 -> 000000 65 00 00 00 00 00 14 00 00 00
00011853 <- 000000 81 00 00 00 00 00 14 00 00 00
00001754 ifdhandler.c:1813:IFDHICCPresence() Card present
00000151 ifdhandler.c:1114:IFDHPowerICC() action: PowerUp, usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0)
00000099 -> 000000 62 00 00 00 00 00 15 01 00 00
00020451 <- 000000 80 0C 00 00 00 00 15 00 00 00 3B 87 80 01 C1 05 21 30 00 77 C1 65
00001760 eventhandler.c:372:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00001563 eventhandler.c:387:EHStatusHandlerThread() Card inserted into NXP Pegoda 2 N (1105FF10) 00 00
00000846 winscard_svc.c:731:MSGSignalClient() Signal client: 9
00000499 winscard_svc.c:734:MSGSignalClient() SIGNAL rv=0x0 for client 9
00000541 winscard_svc.c:315:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000493 winscard_svc.c:315:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00001970 winscard_svc.c:731:MSGSignalClient() Signal client: 10
00000138 winscard_svc.c:734:MSGSignalClient() SIGNAL rv=0x0 for client 10
00000479 winscard_svc.c:315:ContextThread() Received command: CMD_GET_READERS_STATE from client 10
00006148 winscard_svc.c:315:ContextThread() Received command: CMD_GET_READERS_STATE from client 10
00002759 Card ATR: 3B 87 80 01 C1 05 21 30 00 77 C1 65
00000127 ifdhandler.c:282:IFDHPolling() usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0) 5000 ms
00000061 ccid_usb.c:1090:InterruptRead() before (0)
00003206 winscard_svc.c:315:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 10
00015388 winscard_msg_srv.c:230:ProcessEventsServer() Common channel packet arrival
00000345 winscard_msg_srv.c:242:ProcessEventsServer() ProcessCommonChannelRequest detects: 11
00000073 pcscdaemon.c:93:SVCServiceRunLoop() A new context thread creation is requested: 11
00007584 winscard_svc.c:297:ContextThread() Thread is started: dwClientID=11, threadContext @0xcb6d0
00001872 winscard_svc.c:315:ContextThread() Received command: CMD_VERSION from client 11
00000724 winscard_svc.c:327:ContextThread() Client is protocol version 4:2
00000924 winscard_svc.c:347:ContextThread() CMD_VERSION rv=0x0 for client 11
00000574 winscard_svc.c:315:ContextThread() Received command: ESTABLISH_CONTEXT from client 11
00000503 winscard.c:193:SCardEstablishContext() Establishing Context: 0x33A66535
00000058 winscard_svc.c:408:ContextThread() ESTABLISH_CONTEXT rv=0x0 for client 11
00001530 winscard_svc.c:315:ContextThread() Received command: CONNECT from client 11
00000170 winscard.c:235:SCardConnect() Attempting Connect to NXP Pegoda 2 N (1105FF10) 00 00 using protocol: 3
00000043 winscard.c:328:SCardConnect() powerState: POWER_STATE_INUSE
00000034 prothandler.c:87:PHSetProtocol() Attempting PTS to T=1
00000042 ifdhandler.c:663:IFDHSetProtocolParameters() protocol T=1, usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0)
00000072 towitoko/atr.c:329:ATR_GetDefaultProtocol() default protocol: T=0
00000036 PPS: Sending request: FF 01 FE
00000047 -> 000000 6F 03 00 00 00 00 16 00 00 00 FF 01 FE
00806672 <- 000000 80 00 00 00 00 00 16 40 FE 00
00002169 commands.c:1393:CCID_Receive Card absent or mute
00002055 ifdhandler.c:887:IFDHSetProtocolParameters() PPS_Exchange Failed
00000625 prothandler.c:103:PHSetProtocol() PTS failed (605), using T=0
00000109 winscard_svc.c:449:ContextThread() CONNECT rv=0x80100066 for client 11
00020293 ccid_usb.c:1132:InterruptRead() after (0) (0)
00000186 NotifySlotChange: 50 02
00000081 ifdhandler.c:1695:IFDHICCPresence() usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0)
00000087 -> 000000 65 00 00 00 00 00 17 00 00 00
00013515 <- 000000 81 00 00 00 00 00 17 02 00 00
00000161 ifdhandler.c:1813:IFDHICCPresence() Card absent
00000069 eventhandler.c:325:EHStatusHandlerThread() Card Removed From NXP Pegoda 2 N (1105FF10) 00 00
00000066 winscard_svc.c:731:MSGSignalClient() Signal client: 9
00000052 winscard_svc.c:734:MSGSignalClient() SIGNAL rv=0x0 for client 9
00000173 winscard_svc.c:731:MSGSignalClient() Signal client: 10
00000062 winscard_svc.c:734:MSGSignalClient() SIGNAL rv=0x0 for client 10
00000143 ifdhandler.c:282:IFDHPolling() usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0) 600000 ms
00000061 ccid_usb.c:1090:InterruptRead() before (0)
00000831 winscard_svc.c:315:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000564 winscard_svc.c:315:ContextThread() Received command: CMD_GET_READERS_STATE from client 10
00001546 winscard_svc.c:315:ContextThread() Received command: CMD_GET_READERS_STATE from client 10
00000344 winscard_svc.c:315:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00005804 winscard_svc.c:315:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 10
00160101 ccid_usb.c:1132:InterruptRead() after (0) (0)
00000169 NotifySlotChange: 50 03
00000076 ifdhandler.c:1695:IFDHICCPresence() usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0)
00000087 -> 000000 65 00 00 00 00 00 18 00 00 00
00012658 <- 000000 81 00 00 00 00 00 18 00 00 00
00000152 ifdhandler.c:1813:IFDHICCPresence() Card present
00000074 ifdhandler.c:1695:IFDHICCPresence() usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0)
00000085 -> 000000 65 00 00 00 00 00 19 00 00 00
00012103 <- 000000 81 00 00 00 00 00 19 00 00 00
00000162 ifdhandler.c:1813:IFDHICCPresence() Card present
00000079 ifdhandler.c:1114:IFDHPowerICC() action: PowerUp, usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0)
00000089 -> 000000 62 00 00 00 00 00 1A 01 00 00
00020201 <- 000000 80 0C 00 00 00 00 1A 00 00 00 3B 87 80 01 C1 05 21 30 00 77 C1 65
00000169 eventhandler.c:372:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000063 eventhandler.c:387:EHStatusHandlerThread() Card inserted into NXP Pegoda 2 N (1105FF10) 00 00
00000057 winscard_svc.c:731:MSGSignalClient() Signal client: 9
00000051 winscard_svc.c:734:MSGSignalClient() SIGNAL rv=0x0 for client 9
00000505 winscard_svc.c:315:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000481 winscard_svc.c:315:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00001944 winscard_svc.c:731:MSGSignalClient() Signal client: 10
00000115 winscard_svc.c:734:MSGSignalClient() SIGNAL rv=0x0 for client 10
00000691 winscard_svc.c:315:ContextThread() Received command: CMD_GET_READERS_STATE from client 10
00003856 winscard_svc.c:315:ContextThread() Received command: CMD_GET_READERS_STATE from client 10
00003806 winscard_svc.c:315:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 10
00000879 Card ATR: 3B 87 80 01 C1 05 21 30 00 77 C1 65
00000099 ifdhandler.c:282:IFDHPolling() usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0) 5000 ms
00000058 ccid_usb.c:1090:InterruptRead() before (0)
00003742 winscard_svc.c:315:ContextThread() Received command: CONNECT from client 11
00000155 winscard.c:235:SCardConnect() Attempting Connect to NXP Pegoda 2 N (1105FF10) 00 00 using protocol: 3
00000068 winscard.c:328:SCardConnect() powerState: POWER_STATE_INUSE
00000061 prothandler.c:87:PHSetProtocol() Attempting PTS to T=1
00000074 ifdhandler.c:663:IFDHSetProtocolParameters() protocol T=1, usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0)
00000070 towitoko/atr.c:329:ATR_GetDefaultProtocol() default protocol: T=0
00000060 PPS: Sending request: FF 01 FE
00000088 -> 000000 6F 03 00 00 00 00 1B 00 00 00 FF 01 FE
00806487 <- 000000 80 00 00 00 00 00 1B 40 FE 00
00000159 commands.c:1393:CCID_Receive Card absent or mute
00000076 ifdhandler.c:887:IFDHSetProtocolParameters() PPS_Exchange Failed
00000069 prothandler.c:103:PHSetProtocol() PTS failed (605), using T=0
00000064 winscard_svc.c:449:ContextThread() CONNECT rv=0x80100066 for client 11
00030148 ccid_usb.c:1132:InterruptRead() after (0) (0)
00000161 NotifySlotChange: 50 02
00000077 ifdhandler.c:1695:IFDHICCPresence() usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0)
00000086 -> 000000 65 00 00 00 00 00 1C 00 00 00
00013661 <- 000000 81 00 00 00 00 00 1C 02 00 00
00000162 ifdhandler.c:1813:IFDHICCPresence() Card absent
00000073 eventhandler.c:325:EHStatusHandlerThread() Card Removed From NXP Pegoda 2 N (1105FF10) 00 00
00000065 winscard_svc.c:731:MSGSignalClient() Signal client: 9
00000050 winscard_svc.c:734:MSGSignalClient() SIGNAL rv=0x0 for client 9
00000185 winscard_svc.c:731:MSGSignalClient() Signal client: 10
00000059 winscard_svc.c:734:MSGSignalClient() SIGNAL rv=0x0 for client 10
00000145 ifdhandler.c:282:IFDHPolling() usb:1fc9/0107:libudev:0:/dev/bus/usb/001/002 (lun: 0) 600000 ms
00000061 ccid_usb.c:1090:InterruptRead() before (0)

Outcomes