How to setup and use a SpringPark as a SmartReader over TCP

The aim of this tutorial is to configure a SpringPark as a Network SmartReader. The SpringPark in this configuration acts as a TCP server (default factory port is 4000) and sends its tags to the client connected to this port.

For this howto, we will assume that:

  • your SpringPark is using a default (from factory) configuration.
  • you have some networking basis.

Our SpringPark will output tag information using the SCRDR format (cf. SCRDR Protocol).

Read More

PC/SC on Linux and Mac OS X with Mono

One the goals of the Mono project is to make Microsoft .NET applications runnable on Unix systems. Using Mono, it is therefore now possible to maintain a single C#/.NET code base, that runs on Linux, Mac OS X and Windows.

In this context, SpringCard's PC/SC SDK (https://www.springcard.com/en/download/find/file/pcsc-sdk) has been updated, so that it now enables developers to write PC/SC applications in C#/.NET, that can execute on Windows, as well as on Linux and Mac OS X platforms.

Read More

HTTP client feature added to FunkyGate-IP/RDR

What is still possible: the Classical Access Control Architecture

SpringCard FunkyGate-IP/RDR is a network-attached wall smart reader, targetting physical Access Control and adopted by modern office buildings, airports, sensitive areas. The FunkyGate-IP+POE/RDR is the powered-by-the-network version. In a classical Access Control Architecture, the FunkyGate-IP/RDR acts as a TCP/IP server, and the Door Controller or the Access Control Central Computer connects to every reader as a client. The communication uses a custom client/server protocol, designed for reliability, security and speed.

Read More

SCardSniffer spies the exchanges between a PC/SC application and PC/SC middleware

SCardSniffer is a new tool used to spy the exchanges between Windows applications and the smart cards or NFC tags that are accessed through a PC/SC reader (or coupler).

SCardSniffer
SCardSniffer main window

On a Windows computer, all card-aware applications communicate with smart cards or NFC tags through the system's PC/SC library, winscard.dll.

Read More

Limitation of 10 smart card readers with SCardListReaders

Many customers have noticed that the Windows' PC/SC subsystem is not able to handle more than 10 readers (or slots in case of multi-slot readers). Actually, the SCardListReaders function -the system call to get the list of available PC/SC readers- is limited to 10 readers max. On old versions of Windows it was possible (although complex) to overcome this limitation by grouping the readers in "reader groups" and querying one group after the other. This is not possible anymore, starting with Windows 8.

Microsoft clearly states in KB #3144446:

Starting in Windows 8, the Windows platform supports a maximum of 10 smartcard readers. If more than 10 smartcard readers are available, APIs such as SCardListReaders return a maximum of 10. All other readers are ignored.

So, sorry, but there's no way to use more than 10 PC/SC readers (or slots) on a Windows 8 or Windows 10 system. To make things clear, if you connect 2 SpringCard CSB HSP or 2 SpringCard CrazyWriter HSP with the +3 SIM/SAM expansion board, you already have reached the limit.

SpringCard NetPCSC for PCSC-Lite

Introduction

In 2016, SpringCard introduces a new family of network-attached NFC/RFID couplers, providing PC/SC functionnality on top of TCP/IP. The family is built from the SpringCard E663 module, the Ethernet-world counterpart of H663 (for USB world) and K663 (for serial world). The two first products of the family are the TwistyWriter-IP PC/SC, made for OEMs, and the FunkyGate-IP PC/SC, targetting access-control applications. The second one is also available as a FunkyGate-IP+POE PC/SC, where 'POE' stands for 'power-over-Ethernet', i.e. the device takes its power from the network cable.

To support all the devices based on the E663 module, SpringCard has developed from scratch a PC/SC driver for Windows (see this page).

Read More

SpringCard NetPCSC for Windows

In 2016, SpringCard introduces a new family of network-attached NFC/RFID couplers, providing PC/SC functionnality on top of TCP/IP. The family is built from the SpringCard E663 module, the Ethernet-world counterpart of H663 (for USB world) and K663 (for serial world). The two first products of the family are the TwistyWriter-IP PC/SC, made for OEMs, and the FunkyGate-IP PC/SC, targetting access-control applications. The second one is also available as a FunkyGate-IP+POE PC/SC, where 'POE' stands for 'power-over-Ethernet', i.e. the device takes its power from the network cable.

To support all the devices based on the E663 module, SpringCard has developed from scratch a PC/SC driver for Windows.

Read More

New SDK for SpringCard's RDR products

The SDK for our RDR products has just been released. It concerns the following devices:

Complete programs are included : for example, a program that monitors a lits of readers, and talk to each one independantly (to set a buzzer, or a LED).

There are also more basic examples, like a command line application to retrieve the badge numbers, read on a specific reader.

The SDK provides both source code (in C, C# and java) and the compiled binaries.

It is available through a zip file, downloadable from our website. It can also be tracked and cloned from our Github repository.

Contact us for technical information or for commercial requests.

 

rfidscan-tool : driving your Prox'N'Roll RFID Scanner's LEDs and buzzer

The rfidscan-tool command line

The rfidscan-tool command line application is available for any OS that supports libusb, HID-API or hidraw.

We've tested it on:

  • Windows XP / Vista / 7 / 8
  • Mac OS X
  • Linux (Ubuntu, Debian, etc)
  • Raspberry Pi (on Raspbian distro)

rfidscan-tool has been inspired by blink1-tool, the command-line application that controls the blink(1) USB notification light. Most of the source code comes from this application. and therefore we use the same licence model.

Note for Mac OS X: currently the tool is able to send commands to the RFID Scanner, but fails to receive its response (IOHIDDeviceGetReport always returns a timeout error -- without waiting). This issue is under investigation.

Binary download

To get rfidscan-tool for your machine, visit our github releases page, and search for a version supported by your OS / target CPU.

Here's 4 direct links to the first public version (v14.11):

Source code download

To compile your own version of rfidscan-tool, just checkout the rfidscan project from github and compile the rfidscan-tool subproject. Something like the below will work 99% of the time:


# git clone https://github.com/springcard/rfidscan-tool.git
# cd rfidscan-tool
# make

For a Windows target, we provide .SLN projects to be opened with the (free of charge) Microsoft Visual C++ 2010 Express IDE.

Usage

On Windows, you may invoke the binary from any command line box without restriction.

On MacOS X and on most versions of Linux (including on Raspberry Pi), you will need to either run as root (sudo rfidscan-tool <...>) or install udev rules as described in https://github.com/springcard/rfidscan-tool/blob/master/51-rfidscan.rules.

When running rfidscan-tool without any argument, it will print a help page like the one below.

rfidscan-tool-win

Here's the detail of all commands:

rfidscan-tool <cmd> [options]

rfidscan-tool --list

List all connected RFID Scanners.

rfidscan-tool --version

Show the RFID Scanner's firmware version.

rfidscan-tool --test

Perform a routine test on the RFID Scanner(s).

rfidscan-tool --leds <red>,<green>,<blue> [--during <time_ms>]

Drive the RFID Scanner's LEDs. Allowed values for the red, green and blue parameters are

  • off : the LED is switched OFF
  • on : the LED is switched ON
  • slow : slow blinking
  • fast : fast blinking
  • heart : "heart beat"
  • slowinv : slow blinking, inverted
  • fastinv : fast blinking, inverted
  • heartinv : "heart beat", inverted

The during parameter is optionnal ans specify how long (in milliseconds) the specified value remains active, before the RFID Scanner goes back to the default sequence.

If this parameter is missing, the LED command lasts forever (at least until another LED command is issued).

rfidscan-tool --leds-default

Let the RFID Scanner drives its LEDs itself as usual.

rfidscan-tool --beep [--during <time_ms>]

Switch ON the RFID Scanner's buzzer for the specified time (in milliseconds).

rfidscan-tool --read <addr>

Read the configuration register at the specified address.

rfidscan-tool --write <addr>=<value>

Write the specified value into the configuration register at the specified address. Leavevalue empty to erase the register.

rfidscan-tool --dump

Dump all the configuration registers.

Note: the "sensitive" registers (keys for the Master Card and password) are hidden by "XX" chars.

rfidscan-tool --write-conf <filename>

Write the configuration registers from the specified file (use a file produced by MultiConf software).

Usage options

Values for [options] are

  • -d <device num> --devices <device num> : perform the command only to this device (from --list), default is all devices (same as -d all)
  • -q --quiet : suppress most output messages
  • -v --verbose : verbose debugging messages
  • -r --reset : reset the RFID Scanner (to apply the new configuration)
  • -p --password <password> : to access a RFID Scanner that is password-protected

Other tool

On this page you will find a Python script used to control the LEDs and Buzzer of a Prox'N'Roll (thanks Armel Esnault)