In order to retrieve the firmware version of your SpringCard PC/SC reader, please use the Springcard PC/SC Diagnostic Tool, available in our PC/SC SDK (PcscDiag2.exe).

Once launched, the tool should display your smart card reader (in these snapshots, we use a SpringCard Prox’N’Roll PC/SC, but it would be the same for any other SpringCard PC/SC reader). Right click on it, and choose Reader Info :

A pop-up window will then appear, indicating the firmware version (1-64 in this example):

Note: Instead of right clicking on the reader, you can also press Ctl+R to get the same information.

Retrieving the firmware version of your SpringCard PC/SC reader

In order to retrieve the firmware version of your SpringCard PC/SC reader (CSB6Prox’N’Roll PC/SCEasyFinger and CrazyWriter), you’ll need the Springcard PC/SC Diagnostic Tool, available in our SDK (PcscDiag2.exe).

Once launched, the tool should display your smart card reader. In the following snapshots, the reader is a Prox’N’Roll PC/SC, but it would be same for other PC/SC readers (CSB6, CrazyWriter, CrazyWriter-HSP, CSB-HSP, H663, …).

Right click on it, and choose Reader Info :

A pop-up window will then appear, indicating the firmware version (1-64 in this example):

Note: Instead of right clicking on the reader, you can also press Ctl+R to get the same information.

Products in the SpringCard CSB6 Family (CSB6, Prox’N’Roll PC/SC, EasyFinger and CrazyWriter) are smartcard readers, compliant with both standards PC/SC and CCID.

This makes those products usable on non-Windows operating systems thanks to PCSC-Lite CCID driver.

Introduction

PC/SC standard

PC/SC is the de-facto standard to interface Personal Computers with Smart Cards (and smartcard readers of course). Even if PC/SC has been initialy promoted by Microsoft -and has been implemented for long in Windows-, the standard is not limited to MS’ operating systems.

PCSC-Lite is an open source implementation of PC/SC, part of a global project named MUSCLE (Movement for the Use of Smart Cards in a Linux Environment). Despite its name, the PC/SC stack offered by MUSCLE is not limited to GNU/Linux anymore. Their compatibility list now includes other popular UNIXes, including Apple Mac OS X and Solaris.

CCID standard

The USB CCID specification published by the USB Workgroup aims to normalize USB smartcard readers, in order to have a single driver (supplied once for all with the operating system) for virtually any reader from any manufacturer.

PCSC-Lite project includes an open source CCID driver. This driver has been tested with SpringCard CSB6 on GNU/Linux, and should work on the other operating systems targetted by the project.

Disclaimer and warning

There’s no relationship between SpringCard and the developers involved in the open source PCSC-Lite project.

Apart from this explanation page, SpringCard can’t provide any technical support related to PCSC-Lite middleware nor PCSC-Lite CCID driver.

CSB6 Family on GNU/Linux

In this part we’re going to install PCSC-Lite and CSB6‘s drivers on Ubuntu 8.04.1 (Hardy). Some parts of the procedure may vary a little, depending on the GNU/Linux distribution you’re working with.

Do not connect the device to your computer now ! You must download and install the driver before connecting the product.

Download

Go to pcsclite.alioth.debian.org to download both PCSC-Lite and its CCID Driver :

PCSC-Lite : file named pcsc-lite-x.y.z.tar.bz2, “x.y.z” being the version number,
CCID driver : file named ccid-x.y.z.tar.bz2, “x.y.z” being the version number.

Installation

Connect as root.

Uncompress both archives.

N.B. : On Ubuntu (and on some other Linuxes), connecting as root is not possible. In this case, one must prefix every command by “sudo”, to gain root’s priviledges temporary.

Installing PCSC-Lite

Warning, on some Linux distributions, like Raspbian for example, the system comes with a pre installed lib but in an old version of pcsc-lite (for example an 1.8.3 or 1.8.5 version).

First uninstall the current version then install a new one, for example use the 1.8.11 version). Without an update, you should have some problems to run the daemon.

Before to install pcsc-lite you should also verify that libusb is up to date and if necessary install the dev version.

Open a terminal and go to the directory where you have uncompressed the PCSC-Lite archive. Enter the commands :

./configure
make
make install
Troubleshooting

If the configure step fails with message error: usb.h not found, check that you have the libusb library installed. If needed, please install it, and then give the path to this library to the configuration script: ./configure LIBUSB_CFLAGS=....

On Ubuntu or Debian, you may alternatively use apt-get to download and install the libusb-dev package :
apt-get install libusb-dev

Installing CCID driver

Open a terminal and go to the directory where you have uncompressed the CCID Driver archive. Enter the commands :

./configure
make
make install

Change Info.plist

With some old Linux distributions, the file called info.plist is not up to date so you may have to change it to work with our readers.

Locate the file called Info.plist, for example with a command like this one :

sudo find / -name Info.plist

You will, for example, find it in /usr/local/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist

Edit the file to add your product’s IDs.

You can refer to the section dedicated to Mac Os X to see what you need to change.

Enabling PCSC-Lite daemon

PCSC-Lite’s pcscd process must be running in the background.

If you have some problems with the daemon you can launch it this way to see some error messages : pcscd -fd

If you see some error messages related to “permission denied”, try to launch make fix-rights from the folder where you have downloaded pcsc-lite (use sudo if necessary).

Starting pcscd manually

Open a terminal and go to the directory where PCSC-Lite has been installed. Typically, this is /usr/local/sbin/pcscd.

In this directory, enter the command ./pcscd.

Configuring pcscd to be launched on startup

It is better to have pcscd automatically started when the computer starts. To do so, you must add pcscd in the list of processes started in rc.local or equivalent startup script.

Connecting the device

Plug the device onto an unused USB connector.

In a terminal, use the command lsusb to verify device’s information.

lsusb result

In the above screenshot, we have a CSB6 connected : Vendor ID=0x1C34 (Pro Active and SpringCard), Product ID=0x7124 (CSB6 Ultimate, PC/SC mode).
Other devices will have different ProductIDs ; all products in the CSB6 PC/SC family have a ProductID in the 0x7100 to 0x71FF range.

Validating the installation

To test the newly installed reader, we’ll use gscriptor, an open source PERL software, able to exchange APDUs with smartcards through the PCSC-Lite stack.

Installing PCSC-Perl

Go to ludovic.rousseau.free.fr/softwares/pcsc-perl and download pcsc-perl-x.y.z.tar.gz, “x.y.z” being the version number.

Uncompress the archive. Install the package as follow :

perl Makefile.PL
make
make install

Go to ludovic.rousseau.free.fr/softwares/pcsc-tools and download pcsc-tools-x.y.z.tar.gz, “x.y.z” being the version number.

Uncompress the archive. Launch the gscriptor program.

gscriptor windows

Card connect

Select the contactless slot of your CSB6 reader (usually the first reader in the the list),

Put any compliant contactless card on the reader,

Connect to the card (Reader -> Connect).

APDU exchange

Write the APDU command in the script panel. You may use the command FF CA 00 00 00 (get card serial number) as a test.

Click Run. Observe card’s response in the result panel.

Well, in this test this not actually a response from the card… The command FFCA000000 is interpreted by the reader (CLA=FF is reserved for the embedded APDU interpreter), so it is the reader that actually answers. The returned data are the serial number of the contactless card. Remember, we’ve put ‘any’ contactless card on the reader, and querying the serial number is more or less the only command that is available for any kind of card…

Troubleshooting

If invoking gscriptor fails with message Can't locate Chipcard/PCSC.pm, re-install PCSC-Perl and/or verify PERL’s include directories.

Other tools

If you are not using a graphical user interface, you can still use pcsc scan to test your reader with some cards. From the command line, juste type pcsc_scan.

CSB6 Family on Mac OS X

Starting with MacOS X version 10.4, the PCSC-Lite package and the CCID driver are included in the system. We just need to add entries for SpringCard readers into the configuration file of the CCID driver to have them supported.

Configuring CCID driver to support our readers

Open CCID driver’s Info.plist

Open a Terminal window and enter this command :

sudo nano /usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/Info.plist

Note : the command may be splited into a few lines if your screen is too narrow. You must enter it at once, with only a single <Enter> at the end, after Info.plist

Enter your password if prompted to do so.

Note, if you can’t modify (or save) this file :

  • Turn off your Mac
  • Boot into recovery (when you press power button, you should be already holding cmd R keys, hold them as long as the display is clear white)
  • In the recovery system, go in the menubar to Utilities > Terminal
  • Terminal window will pop-up. Enter:
    • csrutil disable
  • Confirm with enter
  • Close Terminal, restart the computer through Apple logo in top left corner
  • From here on, the SIP is disabled and you can edit your file. It should be noted, that after you are done with your modifications, you should definitely re-enable the SIP. The method is same as above, the only difference is that you will type into Terminal:
    • csrutil enable

Add SpringCard’s USB Vendor ID

Scroll down, locate the block beginning by <key>ifdVendorID</key>,

Scroll down until you reach the end of the block,

Add 3 occurences of the line <string>0x1C34</string>.

Note : We need to add our Vendor ID 3 times, because we are to support 3 different Product IDs.

Add the Product IDs of SpringCard’s readers

Scroll down, locate the block beginning by <key>ifdProductID</key>,

Scroll down until you reach the end of the block,

Add the following lines :

<string>0x7113</string>
<string>0x7124</string>
<string>0x7141</string>

Add the names of SpringCard’s readers

Scroll down, locate the block beginning by <key>ifdFriendlyName</key>,

Scroll down until you reach the end of the block,

Add the following lines :

<string>CrazyWriter</string>
<string>CSB6 Ultimate</string>
<string>Prox'N'Roll</string>

Save and restart

Save the modified file. Exit nano and restart the computer.

Validation

Plug the reader onto a computer’s USB port,

Open a Terminal window and enter the command pcsctest,

pcsctest displays the list of connected readers (in the following snapshots, only one Prox’N’Roll is connected),

Enter the number of the reader you want to test (in our case, only ‘1’ is allowed).

Put a card on the reader, and check that everything is running as expected.

In case of trouble

If you are experiencing problem(s), you can, in a terminal, launch this command to see if the daemon reports any error message :

sudo /usr/sbin/pcscd --apdu --debug --foreground

For example you could have a syntax error inside your Info.plist file.

You may also check in the activity monitor that you have a process called pcscd (you can use the search on the top right corner). If that’s the case, then the daemon is running.

If you have a problem with OS X 10.8 Mountain Lion, consult this forum (reported here) :

For all on OS X Mountain Lion.

There is an issue with the pcscd where when you boot OS X with your reader connected and card inserted, the daemon will not get launched properly.
Did not delve deeper yet but running pcsctest will say “Service not available”.
Manually killing it so it gets relaunched will do the trick or just not connecting your reader while booting.

For all the eid applets out there, the result is the applet getting stuck on a “Please connect your reader” message.

A bugreport has been filed with apple, also hinting that it would be nice for em to update the ccid-driver and pcsc-lite for a change :)
As Ludovic states, the ccid-driver for example is 3 years old and by consequence is missing possibly bad support for 97 readers since t hat version :)

source: http://ludovicrousseau.blogspot.be/2012/08/mac-os-x-mountain-lion-and-smart-card.html

SpringCard CSB6 Family is a group of contactless smartcard readers, offering various functions and three different operating modes : PC/SC (CCID), Legacy (virtual communication port), RFID scanner (keyboard emulation). All these products share a common hardware platform, based on the same microcontroller. This document explains how to upgrade the firmware, using the flash upgrade software provided by the manufacturer of the microcontroller.

At the date of writing, this document refers to the four products in the CSB6 Family :

  • CSB6,
  • Prox’N’Roll (all version),
  • CrazyWriter,
  • EasyFinger.

Please read the datasheet of every product for specifications and the detailed list of features.

For the Prox’N’Roll you can also look at this vidéo:

Important disclaimer:

Please note that SpringCard is not responsible for any procedure that end user performs. Please note that not products can be recovered from improper firmware upgrade or mis-configuration !! YOU’RE FOLLOWING THIS PROCEDURE AT YOUR OWN RISK.

Getting started

The microcontroller used by SpringCard CSB6 Family is Renesas H8S/2212UF. This microcontroller is upgradeable on the field, through its USB link, thanks to the software ‘Flash Development Toolkit’ (FDT) version 4 or newer, provided by Renesas.

FDT works on 32-bit versions of Windows 2000/XP/Vista/7. You can’t use in on a 64-bit machine. There’s no equivalent tool for other operating systems.

Locate and download the firmware for your device

PC/SC (and Legacy)

The firmware files for PC/SC (and Legacy) products are located under https://files.springcard.com/firmwares/springprox/. The subdirectories are named after the version (for instance https://files.springcard.com/firmwares/springprox/1-70 stores all the firmware in the 1.70 branch).

In the subdirectories, the files targeting this family of products are named 2212_rc632_(product name and code)_(product version).mot. Always check that the product name and code field matches the product you actually have.

RFID Scanner

The firmware files for RFID Scanner products are located under https://files.springcard.com/firmwares/iwm2_scan/. The subdirectories are named after the version (for instance https://files.springcard.com/firmwares/iwm2_scan/1-40 stores all the firmware in the 1.40 branch).

In the subdirectories, the files targeting this family of products are named 2212_rc632_(product name and code)_rfid-scanner_(product version).mot. Always check that the product name and code field matches the product you actually have.

Quickly download latest firmware’s version

The links below will enable you to download directly the latest version of each firmware :

Important disclaimer:

Generally speaking, putting the wrong firmware in any product is possible, and may appear to work, but this is not the way the product is intend to operate. Please make sure to always put the appropriate firmware in the actual product you have. Flashing a PC/SC reader with a RFID Scanner firmware (and vice versa) is not supported.

Download and install Renesas FDT

Latest version of FDT is available free of charge at Renesas’ :

  • Go to www.renesas.com .
  • Navigate to Development Tools & Flash and PROM Programming & Flash Development Kit.
  • Choose « Download the latest version of FDT free of charge ».

You’ll be prompted for your company details before accessing the download.

Note : Renesas’ web site changes frequently, and its URLs are not « user friendly », therefore preventing us to give the actual link here.

Alternatively, we provide for convenience download FDT 4.09 (R03) at https://files.springcard.com/misc/fdtv409r03.exe but please check whether a newer version has been made available at Renesas’.

Create a workspace

Launch FDT from Start Menu.

Choose « create a new project workspace », and click « OK ».

FDT Start Menu

Enter a name for your new project workspace (for instance, CSB6 Family), and click « OK ». If left blank, the project name defaults to the same value as the workspace name.

WorkSpace Name

Enter 2212U in the filter field, and choose H8S/2212UF in the list. Click « Next » to continue.

Kernel Selection.

Choose port « USB Direct », and click « Next ».

Port selection

In the following pages, click « Next » (leaving all options to their default value), until « Finished ».

Add a firmware to your workspace

In the tree on the left, right click on the project. Then, in the popup menu, click on « Add Files… »

Adding Firmware to WorkSpace

Browse to the firmware file you want to download in the product (firmware files have the « .mot » extension).

You may later on add other firmware files to your project if you have different products or if you re-use the same project with a future version.

Put the device in flash upgrade mode

Every product in the CSB6 Family has either a switch or a push-button to go to the firmware upgrade mode.

All products but Prox’N’Roll

CSB6, CrazyWriter and EasyFinger have 4 configuration switches. Switch number 2 is devoted to firmware upgrade.

Unplug your device.

Open the casing (CSB6 and EasyFinger: there are a few PZ3 screws to unscrew).

Note the current position of the switches.

Move all the switches to ON.

4 switchs ON

Plug the device to the computer’s USB port again. For EasyFinbger, plug the external power supply as well.

The device is now enumerated as an “USB Direct” device and handled by the driver that has been installed together with FDT.

Prox’N’Roll (prior to version EAN8I9P-FD)

Warning

The top sticker (lexan) must be removed in order to unscrew the cover, before being able to access the firmware upgrade switch. As the sticker is glued, this is likely to destroy it. Please contact our sales team should you need to buy spare stickers.

You’ll have to insert a sharp blade (cutter) under the sticker to remove it. PLEASE BE CAREFUL NOT TO GET HURT.

Opening Tools

Unplug your Prox’N’Roll.

Remove the top sticker.

Removing Top Sticker

Use your stanley knife carefully.

Stanley Knife

There’s a PZ3 screw underneath the sticker.

Main Screw

Unscrew the main screw.

Unscrewing

You now have access to the PCB. There’s only one switch (with a blue body), the firmware upgrade switch.

Opened Prox'N'Roll

Move the switch to the ON position.

switch ON

Plug the Prox’N’Roll to the computer’s USB port again. It is now enumerated as an “USB Direct” device and handled by the driver that has been installed together with FDT.

Prox’N’Roll (new versions after EAN8I9P-FD)

The new version of Prox’N’Roll has got a push-button. This button is accessed via a tiny hole hidden under the reader’s bottom label. You need a paper clip to push the button and don’t have to open the reader.

Unplug your Prox’N’Roll.

If you manage to sense the hole through the bottom label, you may insert the paper clip through the label. Overwise, remove the bottom label using a stanley knife.

Removing Rear Sticker

Underneath the label, you find a tiny hole.

Tiny hole

Insert a paper-clip in the hole and push firmly until you feel or hear the button. Keep the button pressed.

paperclip pushing button

While keeping the button pressed, plug the Prox’N’Roll to the computer’s USB port again. It is now enumerated as an “USB Direct” device and handled by the driver that has been installed together with FDT. Once the driver is loaded (this may take up to 30 seconds on the first time, but normally less than 5 seconds afterwards) you may depress the button, removing the paper-clip from the hole.

Load the firmware into the device

Back to FDT screen, right-click on the file you want to load in the device.

Downloading File

In the popup menu, click « Download File ».

FDT now prompts you to select the target USB device. If you’ve plugged only one product at a time, there must be only one target!

Choosing target

Select the only target, and click « OK ».

Wait during the flash operation (this takes 20 to 60 seconds).

Flashing

When done, FDT displays this message:

Flash completed

Terminate the procedure by clicking « Disconnect » in the « Device » menu.

Disconnect

Put the device back in operation mode

All products but Prox’N’Roll

Put back the switches in the position you’ve noted in before flashing.

4 switch off

Unplug/plug the device again.

Help with switch position
  • Switch 1 must always be ON
  • Switch 2 must be OFF for normal operation
  • Switch 3 must be ON for USB-powered devices (no external power supply) and OFF for devices that have an external power-supply (EasyFinger for instance).
  • Switch 4 must be OFF for normal operation. Set it to ON only when instructed to do so by SpringCard’s support or R&D team.

Prox’N’Roll (prior to version EAN8I9P-FD)

Move the switch back to the OFF position.

switch OFF

Close the casing and put the sticker back in position.

Closing Prox'N'Roll

Screwing

Top Sticker Back

Unplug/plug the device again.

Prox’N’Roll (new versions after EAN8I9P-FD)

Unplug/plug the device again (without the paper-clip).

Optional step

It’s possible, for example if your product’s LEDs are RED that you need to follow an additional step to configure your product. See this page for more information.

If you’ve flashed a Prox’N’Roll RFID Scanner with a PC/SC firmware, or vice-versa a Prox’N’Roll PC/SC with a RFID Scanner firmware, the device will not run as expected until the firmware has been correctly configured. Until so, the firmware is in ’emergency’ mode, seen on the USB as a virtual communication port (USB CDC-ACM profile). You need to install the corresponding driver in order to access the device through a terminal program (HyperTerminal for instance) to be able to configure it.

Make sure your PC runs a 32-bit version of Windows

The driver is not WHQL-certified, therefore it can’t be installed on any 64-bit version of Windows. Should you need help there, we do support only Windows XP Pro 32 bits.

Download and install sdd470 driver

Download SDD470 driver setup.

Install the driver.

Go to Control Panel, Device Manager, and check that your device is now seen under “Communication ports”. Note the COM number that has been assigned to it by the system.

Launch HyperTerminal

Connect to the COM port you’ve identified in the device manager, using the following configuration:

  • 38400bps,
  • 8 data bits,
  • 1 stop bit,
  • no parity,
  • no flow control.

Once connected, enter “info” to check that you have the correct firmware (“Prox’N’Roll RFID Scanner” in one case, “CSB6 Prox’N’Roll” in the other).

If you need a replacement for Hyper Terminal, you can use Putty.

First command

From firmware version 1.56 (for the Prox’N’Roll) the first command you type in your Hyper Terminal session needs to start by an escape char. So for example, if your first command is info, you need to type

^info and not info

Set the new configuration

  • Enter “cfgC0=02” to put the firmware “CSB6 Prox’N’Roll” into PC/SC mode
  • Enter “cfgC0=03” to put the firmware “Prox’N’Roll RFID Scanner” into keyboard emulation mode

Check configuration

Close HyperTerminal (important !!!).

Unplug the device.

Plug the device again.

Check in Device Manager:

  • The PC/SC reader is listed under “Smartcard readers”
  • The keyboard emulation reader is listed under “Human interface devices”

New WHQL-certified PC/SC driver

Edited 24/04/2012: an updated version has been published to correct a few bugs. Please read this article.

Our new PC/SC driver is now online and ready for download! This driver (code name : SDD480-BA) has been certified my Microsoft’s Windows Hardware Qualification Labs (WHQL) for both 32 and 64 bits operating systems.

It targets all SpringCard USB CCID readers :
CSB6
CrazyWriter
EasyFinger
Prox’N’Roll PC/SC

Note: as the Prox’N’Roll has only one smartcard slot (its contactless card interface), it is not required to use our driver since the default CCID driver supplied by Microsoft also does the job.

The SDD480-BA driver is also ready for the new generation of USB CCID products that will be launched in a near future.

To download the driver, please go to http://www.springcard.com/download/find.php?file=sdd480

Choose either
sdd480_x86-ba.exe for 32 bits targets (certified and signed for Windows 2000, XP, Vista and Seven on i386 core)
sdd480_x64-ba.exe for 64 bits targets (certified and signed for Windows XP, Vista and Seven on amd64 or intel64 core)

The setup package uncompress the driver in Program Files\SpringCard\SDD480_x86-ba (or Program Files\SpringCard\SDD480_x64-ba depending on the target) and then installs the driver into Windows’ system directory. Of course you must run the setup with administrative priviledges.

The driver will also be available through Windows Update very soon.

A few more details for integrators and developers

Should you need to redistribute this driver with your own software or to recreate a setup package bundled with yours, just copy the uncompressed files and invoke DPInst.exe when you want the installation to take place.

Although we’ve done our best to ensure full compatibility with our previous (unsigned) driver and with Microsoft’s default CCID driver, please pay attention that the naming of the slots may be a little different in some cases. In fact slot naming and numbering has been designed to show clearly which slots belongs to which reader. Let’s suppose we have 2 CrazyWriter and 1 CSB6 connected to the PC. The 1st CrazyWriter instanciates 3 slots: CrazyWriter Contactless 0, CrazyWriter SAM A 0, CrazyWriter SAM B 0; the 2nd CrazyWriter instanciates 3 slots as well: CrazyWriter Contactless 1, CrazyWriter SAM A 1, CrazyWriter SAM B 1. Then the CSB6 instanciates 5 slots : CSB6 Contactless 2, CSB6 Contact 2, CSB6 SAM A 2, CSB6 SAM B 2, CSB6 SAM C 2. You see that the number is the same for all slots of one reader. This is the best approach to know which SAM (or contact interface) comes with whatever contactless interface.