Accueil  Support  Produits CompactFlash : informations et FAQ

CompactFlash products : information and FAQ

Nous sommes désolés, mais cette page n'est pas encore disponible en français.

SpringCard-CF, SpringProx-CF and SpringProx-CF-UP, SpringProx-RC and SpringProxBIO-RC are peripherals for handheld computers - Pocket PC, or rugged Pocket PC. They share the same CompactFlash interface (CompactFlash type I or type II depending on the product).

This page gives a list of Pocket PC that are compliant with our products, and contains interesting information if you want to operate the products with another PDA.

Technical background

Hardware

SpringCard's CompactFlash products are made of two blocks : a functionnal block (smartcard reader, contactless coupler, etc) and a CF interface block. The CF interface is the ELAN Digital VPU16551 chipset, that is basically a standard serial UART with a CF-bus interface.

Compatibility issues between the CF interface and the host PDA are regulary investigated -and fixed when possible- by ELAN Digital. Please always refer to their support pages to get up-to-date and detailed information regarding most interoperability issues.

Here's a list of useful links :

Driver and software

The standard UART integrated in SpringCard's CompactFlash products is supported by the native OS drivers, supplied in all versions of Windows CE / Pocket PC / Windows Mobile, and also in Linux (tested on Sharp Zaurus). Therefore, we don't have a driver for our CF products, because the driver is already in the OS.

Our products may be operated either at low level (commands sent directly to the device through the serial port) or more commonly and more easily through an high level API (springcard.dll for the SpringCard group, springprox.dll for the SpringProx group). The documentation of both API is available in the corresponding SDK.

Featured software (QuickStart for SpringCard and QuickStart for SpringProx) come with latest version of the API and sample applications to evaluate the products.

Recommended CompactFlash-capable handhelds

A few years ago, there were hardly no other format than CompactFlash for external memory, and therefore there were a wide range of handhelds on the market featuring this interface. Nowadays, external memory have became smaller (SD, mini-SD...) and for this reason most Pocket PC now lack the CompactFlash interface.

This paragraph contains a list of today's Pocket PC, that feature a CompactFlash slot, and have been tested and approved with our products.

Note : the information contained in this support page is accurate to the best of our knowledge and belief, however we cannot accept responsibility for non-operation in any specific configuration.

Socket Mobile SoMo® 650

Socket logo
Socket Mobile SoMo 650

The SoMo 650 is a long life cycle PDA, running Windows Mobile 5 or 6 Classic. SpringCard's CompactFlash products run succesfully on this platform after applying a software patch. SpringCard-CF and both SpringProx-CF and SpringProx-CF-UP fit correctly in the device.

TDS Recon

TDS logo
TDS Recon

The Tripod Data System (TDS) Recon is a rugged and waterproof handheld computer, running Windows Mobile 6. SpringProx-RC and SpringProxBIO-RC were designed specifically for this device.

Psion Teklogix Workabout Pro

Psion Teklogix logo
Workabout Pro G2

The Workabout Pro by Psion Teklogix is a family of rugged handheld computers, available in two hardware (long / short) and numerous OS (Windows Embedded CE 5.0, Windows Mobile 6 Classic, Windows Mobile Professional). SpringCard-WAP was designed specifically for those devices.

Note : the SpringWAP is also designed for the same device, but connects to USB instead of CompactFlash.

Using our CompactFlash products on other platforms

Windows CE (not Pocket PC / Windows Mobile)

Windows CE supports ELAN Digital UART with native drivers, but SpringCard's API (springcard.dll and springprox.dll) are maintained and tested only for the ARMv4 target (every Pocket PC / Windows Mobile PDA has an ARM core, whatever the actual « marketing »name of the CPU : Intel XScale, Freescale i.MX, Texas Instrument OMAP, Samsung xxx, etc).

Contact us to get the source code of the corresponding API to build it for your specific target.

Windows 2000/XP/Vista on i86

The Windows NT family supports ELAN Digital UART with native drivers. The devices are generally connected through a PCMCIA (PC-Card) to CompactFlash adaptor, yet some custom Tablet PC seem to have a CompactFlash slot.

SpringProx-CF and SpringProx-CF-UP will run immediately through SpringProx API (springprox.dll for Win32/i86 and CSB Quickstart to be found in CSB4 related material).

Regarding SpringCard-CF, the API (springcard.dll) is not maintained for the Win32/i86 platform. Contact us to get the source code or a specific built.

Linux

Hardware and driver

Please read ELAN Digital page regarding Linux here.

SpringCard-CF and SpringProx-CF have been tested under Sharp Zaurus. Unfortunately, this product is no longer in production, but new handheld computers running Linux still exist and must be able to operate our products.

Depending on the platform, it may be necessary to implement a small hack in order to have the product work correctly :

  • fix /etc/pcmcia/serial to not 'carctl suspend' when device is inserted (just comment it out).
  • due to power management, there needs to be a 'cardctl reset' sent to that bus prior activation of the reader :
int open_sock(int sock);

void send_cardctl_reset()
{ 
  int i=0, fd=0, ret;
  for(i=0;i<1; i++) {
    fd = open_sock(i);
    if (fd < 0) continue;
    ret = ioctl(fd, _IO('d', 8));
    close(fd);
  }
}

int major = 253;
int open_sock(int sock)
{
  static char *paths[] = {
    "/var/lib/pcmcia",
    "/var/run",
    "/dev",
    "/tmp",
    NULL };
  int fd;
  char **p, fn[64];
  dev_t dev = (major<<8) + sock;

  for (p = paths; *p; p++)
  {
    sprintf(fn, "%s/cc-%d", *p, getpid());
    if (mknod(fn, (S_IFCHR|S_IREAD|S_IWRITE), dev) == 0) {
      fd = open(fn, O_RDONLY);
      unlink(fn);
      if (fd >= 0) return fd;
      if (errno == ENODEV) break;
    }
  }
  return -1;
}

Software

Contact us to get the source code of the corresponding API (springprox or springcard) and sample C source code.

Note : the core of SpringCard-CF is Axalto (formerly Gemplus) GemCore chipset. Using the MUSCLE pcsc-lite framework together with the open source driver for Gemplus GCR410 smartcard reader is also a possible option.