Environments & Devices
--Hardware
1、PN7462 DEMO Board(PNEV7642B)
--Software
1、Ubuntu 16.04 desktop
2、Test 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.
1、Update 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.
2、Connecting PN7462 DEMO Board to PC USB via USB OTG Cable.
On PENV7462B side, X3 connector should be used for USB OTG cable.
3、Using 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.
4、Open 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:
5、Test 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:
6、Using 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
Here is related to reference about ccid driver.
1. How to install related tools
2. ccid website