How to Use Linux CCID driver for PN7462 DEMO Board

Document created by Wigros Sun Employee on Jul 9, 2018Last modified by Wigros Sun Employee on Jul 10, 2018
Version 2Show Document
  • View in full screen mode

Environments & Devices

--Hardware

1PN7462 DEMO Board(PNEV7642B)

--Software

1Ubuntu 16.04 desktop

2Test tools

---libusb

---pcsc-lite

---ccid driver

---opensc

         Before testing, please install above test tools to Ubuntu 16.04 according to document on the link https://community.nxp.com/docs/DOC-334952 !

         Then follow steps below to begin testing PN7462 DEMO board by above test tools.

1Update firmware of PN7462 DEMO board

         Please update firmware of PN7462 DEMO board according to UM10915.pdf, then test it on windows, ensuring PN7462 DEMO board can normally work at CCID protocol on window platform.

2Connecting PN7462 DEMO Board to PC USB via USB OTG Cable.

         On PENV7462B side, X3 connector should be used for USB OTG cable.

3Using lsusb to list USB devices

weidong@ubuntu:~$ lsusb

Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse

Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.

Bus 002 Device 005: ID 1fc9:0117 NXP Semiconductors

         Last line is PN7472 DEMO board.

4Open 2 terminals at the same time on Ubuntu desktop

(1) One terminal is used to run “pcsc” command

weidong@ubuntu:~$ sudo /usr/local/sbin/pcscd -adf

[sudo] password for weidong:

00000000 pcscdaemon.c:345:main() pcscd set to foreground with debug send to stdout

00012288 configfile.l:361:DBGetReaderList() Parsing conf file: /usr/local/etc/reader.conf.d

00000037 pcscdaemon.c:658:main() pcsc-lite 1.8.22 daemon ready.

00023126 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/002/001

00000101 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/002/001

00000113 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0E0F, PID: 0x0003, path: /dev/bus/usb/002/002

00000112 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/002/001

00000160 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0E0F, PID: 0x0002, path: /dev/bus/usb/002/003

00000152 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0E0F, PID: 0x0008, path: /dev/bus/usb/002/004

00000115 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0E0F, PID: 0x0008, path: /dev/bus/usb/002/004

00000165 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0E0F, PID: 0x0002, path: /dev/bus/usb/002/003

00000263 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001

^V56546837 hotplug_libudev.c:651:HPEstablishUSBNotifications() USB Device add

00000101 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1FC9, PID: 0x0117, path: /dev/bus/usb/002/006

00000007 hotplug_libudev.c:436:HPAddDevice() Adding USB device: PN7462 USB Reader

00000045 readerfactory.c:1074:RFInitializeReader() Attempting startup of PN7462 USB Reader (1.00) 00 00 using /usr/local/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so

00127887 readerfactory.c:949:RFBindFunctions() Loading IFD Handler 3.0

00000236 ifdhandler.c:1965:init_driver() Driver version: 1.4.27

00000477 ifdhandler.c:1982:init_driver() LogLevel: 0x0003

00000004 ifdhandler.c:1993:init_driver() DriverOptions: 0x0000

00000165 ifdhandler.c:111:CreateChannelByNameOrChannel() Lun: 0, device: usb:1fc9/0117:libudev:0:/dev/bus/usb/002/006

00000021 ccid_usb.c:302:OpenUSBByName() Using: /usr/local/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist

00000727 ccid_usb.c:320:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau (ludovic.rousseau@free.fr)

00000016 ccid_usb.c:321:OpenUSBByName() ifdProductString: Generic CCID driver

00000004 ccid_usb.c:322: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.

00000433 ccid_usb.c:656:OpenUSBByName() Found Vendor/Product: 1FC9/0117 (PN7462 USB Reader)

00000005 ccid_usb.c:658:OpenUSBByName() Using USB bus/device: 2/6

00000021 ccid_usb.c:717:OpenUSBByName() bNumDataRatesSupported is 0

00128471 ifdhandler.c:382:IFDHGetCapabilities() tag: 0xFB3, usb:1fc9/0117:libudev:0:/dev/bus/usb/002/006 (lun: 0)

00000027 readerfactory.c:396:RFAddReader() Using the reader polling thread

00004709 ifdhandler.c:382:IFDHGetCapabilities() tag: 0xFAE, usb:1fc9/0117:libudev:0:/dev/bus/usb/002/006 (lun: 0)

00000023 ifdhandler.c:477:IFDHGetCapabilities() Reader supports 1 slot(s)

(2)The other terminal is used to run “"testpcsc " in pcsc-lite/src source code

weidong@ubuntu:~/ccid/pcsc-lite-1.8.22/src$ ./testpcsc

 

MUSCLE PC/SC Lite unitary test Program

 

THIS PROGRAM IS NOT DESIGNED AS A TESTING TOOL FOR END USERS!

Do NOT use it unless you really know what you do.

 

Testing SCardEstablishContext        : Command successful.

Testing SCardIsValidContext   : Command successful.

Testing SCardIsValidContext   : Invalid handle. (don't panic)

Testing SCardListReaderGroups      : Command successful.

Group 01: SCard$DefaultReaders

Testing SCardFreeMemory               : Command successful.

Testing SCardListReaders        : Command successful.

Testing SCardListReaders        : Command successful.

Reader 01: PN7462 USB Reader (1.00) 00 00

Waiting for card insertion        :

 

         2 screenshots for above 2 terminals:

5Test cards (All cards are contactless)

(1) MIFARE Plus x 4K card

Re move it:

(2) MIFARE Nano card

         Note: testpcsc should be run again.

Remove it:

(3) MIFARE EV1 card

Remove it:

6Using Opensc-tool to Test cards  

         Open a new terminal for running the command, please!

(1)No cards

(2) MIFARE Plus x 4K card (close to antenna , then run opensc-tool)

(3) MIFARE Nano card

 

(4) MIFARE EV1 card

 

 

   TIC Weidong Sun

2018-07-09

Outcomes