Usage

Feitian readers developed based on global standard, there have lots of open source tool can be use to do test our readers, you can search PCSC tools on Google, and then use these tools to do test with Feitian readers. But for mobile readers, you will need to download our application or write your own App to do the test.

Product Functions and Interfaces

USB-A Lightning BT 3.0 BT 4.0 Micro-USB USB-C Contact NFC
R301
R502-CL
R502-Dual
bR301(Halted production)
bR301BLE
bR500
oR301
R100
BioR502
iR301

System supported

Android iOS Windows Linux macOS Embeded OS
USB
Lightning
Bluetooth 3.0
Bluetooth 4.0

On Windows

All feitian reader has USB port, you can connect to your Windows easily, or if you are using Bluetooth reader, you also can test connect reader based on Bluetooth connection(make sure your PC also support Bluetooth 3.0 and Bluetooth 4.0), otherwise, you need buy a Bluetooth adapter to start your test.

Before do the test, you need first download APDU tool from our repo.

Install driver

Reader with USB interface

All feitian standard smart card readers based on CCID(Chip Card Interface Device) driver, which defined by USB group, and the Windows system already integrated CCID driver since Vista, if you are using Windows XP, you need install CCID driver

Reader with Bluetooth Interface

Check your bluetooth version of the reader

  • if your reader is Bluetooth 3.0 reader which is bR301 with C18 casing(Blue color), you need install bR301 driver, and follow this manual to install driver on Windows. The bR301 reader had been halted production.

  • If your reader is Bluetooth 4.0 reader which is bR301BLE with C45 casing(bloack color) and bR500, you need install bR301BLE driver from our repo, and follow guide to do install.

Test on Windows

The reader is just a communication channel between the application and the card.
We can test Feitian readers' functions listed below:

List reader, connect reader, disconnect reader, transmit data to reader and get response data from reader.

Insert reader, click "Refresh" button will list the reader.
After insert your smart card, click "Card Connect" to do power on your smart card.

To do test data communication, input APDU(Application Protocol Data Unit), the APDU seems a whole HEX number sequence, it will talk to card (the card has a COS, Chip Operating System, in it and will process the APDU) to return appropriate response. For example, below command is to get 8 bytes random number from smart card.

0084000008

You can type into input filed, and click "Transmit", send the APDU command to card, if your smart card support get random number function, it will return data, followed by a 2 byte-size status words SW1-SW2 code. The status codes are defined in ISO-7816 standard. And the success status code is: 90 00.

To disconnect the card, click "Card Disconnect" to power off your smart card.

On Linux

Install driver

On Linux platform, there have open source driver, almost all Linux system already installed CCID drvier by default.

You also can build the driver by yourself, if your linux system is arm based, you may need build by your own, here is cross build driver manual. if you don't have enough IT knowledge, better use the system default driver.

Check your CCID driver version:

$ grep -A 1 CFBundleShortVersionString /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist 
  <key>CFBundleShortVersionString</key>
  <string>1.3.11</string>

Feitian reader supported by CCID version

CCID version Added Date
R301 1.3.11+ 28 July 2009
R502-CL 1.4.17+ 11 June 2014
R502-Dual 1.4.17+ 11 June 2014
OR301 1.3.11+ 28 July 2009
bR301(Halted production) 1.4.15+ 14 February 2014
bR301BLE 1.4.21+ 21 October 2015
bR500 1.4.25+ 30 September 2016
iR301 1.4.21+ 21 October 2015
BioR502 1.4.17+ 11 June 2014

Test on Linux

To do test, you can use pcsctest command to do test, run below command on your shell to do test.

testpcsc

If you cannot find this command on your Linux, install a tool to do test.

sudo apt-get install pcsc-tools
pcsc_scan

The pcsc_scan command will print reader and card information for reference.

These pcsc tools are used to test a PC/SC driver, card or reader or send commands in a friendly environment (text or graphical user interface).

On macOS

Install driver

The macOS integrated CCID 1.3.11 version from macOS Mountain Lion(10.6.8), and the latest macOS Mojava version supported CCID(1.4.27). If you want use latest ccid driver, you may download open source driver from osx-ccid-insatller.

Test on macOS

Insert reader to your macOS, running below command to do test

pcsctest

On iOS

There only lightning connector and Bluetooth reader can be supported on iOS platform, the reader implement with CCID protocol, our iOS SDK can support Bluetooth and lightning reader in one SDK.

For some customer who wants write their own SDK, they can do it easily, since the protocol based on CCID, you just work with CoreBluetooth framework or ExternalAccessory Framework to do communication with reader follow the CCID standard.

Install iReader App

We released our iReader application to Appstore, it supported Feitian lightning and Bluetooth reader. you also can download source code from our repo.

Below readers supported:

  • iR301

  • bR301 (Halted production)

  • bR301BLE

  • bR500

Test on iOS

After download the application, below functions can be tested.

"Connect reader", "Disconnect reader", "Send data to reader", "Get reader SN", "Get Reader UID(User/Private ID)".

On Android

For android platform, only USB and Bluetooth reader can be supported by Android platform, we release our combo SDK, which implement based USB framework and Bluetooth framework.

We release the demo App to our repo on github and open the demo code to customer for reference.

Install iReader App

You may download our iReader APK from Git repo and install by third part tool.

Test on Android

After download the application, below functions can be testd.

On android plaform, we provide PC/SC API and Private API.

Connect reader", "Disconnect reader", "Send data to reader", "Get reader SN", "Get Reader UID(User/Private ID)".