Grabba Driver for iOS
Unified driver for Grabba devices on the iOS operating system
Release Notes for v2.0.0-alpha-11

This page contains details of this release:

Release Information

This release supports all Grabba devices manufactured for Android or iOS phones/tablets from 2013 onwards, and all Grabba devices manufactured for Windows phones/tablets from 2015 onwards.

Note, however, that this release has some limitations in terms of hardware support:

  • Fingerprint reading is not supported on -IBC or -IBS devices
  • Magnetic stripe reading is not supported on Q-series devices
  • Proximity/RFID card reading is not supported on xxx3-SE, xxx4, xxx5, xxx6 or xxx7 devices
  • Proximity/RFID card reading on xxx2-V2 and xxx2-GA devices does not support higher-speed operating modes or iClass cards
  • The proximity/RFID card reader in xxx3 devices require configuration, which is not possible using this driver
    • However, the Android 1.x series and iOS 1.0 series do allow it
  • Only the iClass card type is presently supported by the proximity/RFID card reader in xxx3 devices

The following features are not included in this release, but are slated for inclusion later in this release series:

  • Firmware uploading and upgrading
  • Driver configuration (preferences)
  • Supplemental charging
  • Proximity card APIs for specific card types (e.g. ISO 14443)
  • Fingerprint database manipulation (enrolment and identification)
  • Support for debug bridge applications, or a suitable replacement
  • Improved BER-TLV query methods
APIs for this series have not yet been finalised. There may still be compatibility-breaking changes to existing APIs prior to the 2.0.0-stable release, although those will be avoided if possible. Any such changes will be clearly documented in the release notes for subsequent alpha and beta releases in this series, and any modified APIs will be retained (and marked deprecated) for a transitional period.

As this is an alpha-quality release, it has only been lightly tested, and bugs and limitations are to be expected. If you encounter any issues with the driver or its documentation, please visit or email to notify Grabba and/or request assistance.

Firmware Compatibility

This driver is intended for use with the following firmware versions:

  • G1 (ATR-Series, H-Series, S-Series and Z-Series): v2.1.204 or v2.1.206
  • G2 (GT-Series and S2-Series): v1.0.26
  • Q (Q-Series): v1.0.22

Newer firmware releases, when available, should also be compatible; new drivers will be released along with future firmware if there are any incompatibilities.

Firmware uploads of compatible releases are available via the following applications and libraries:

  • Grabba Driver for Android v1.164
  • Grabba Driver for iOS v1.0.10
  • Grabba Browser for iOS v1.8.24
  • Grabba Keyboard for iOS v1.6.18
  • GRCatalog for iOS v2.20

No Windows-based firmware upload application is available at this time; as a workaround, Windows users may use an Android phone or tablet to update where needed. To do this, connect the Grabba device to an Android phone or tablet via USB, then run the Grabba Driver for Android application; it will then connect to the Grabba device (if device is in sleep mode, press one of the side buttons to wake it up), and will automatically upload the latest firmware.

Comparison to Previous Release

API/protocol changes (see migration guide for details):

  • Addition of new button APIs for barcode and/or proxcard press-to-scan behaviour
  • Addition of new APIs and a new listener class to support keyboard wedge implementations

New features:

  • Addition of driver support for barcode and/or proxcard press-to-scan behaviour
  • Addition of driver suppport for keyboard wedge applications
  • Increased the duration of the post-connect flash of the blue LED, so it is easier to distinguish from other device events (e.g. USB enumeration)

Bugs fixed:

  • Several fixes to driver/device communications
  • MRZ parser erroneously rejected document numbers which contained uppercase alphabetic characters

Other changes:

  • Significant enhancements to driver/device communications performance and reliability
  • Clarified 2.0 series scope and system requirements
  • Addition of support for Visual Studio 2017 IDE with Windows library SDK
    • Visual Studio 2017 is now the recommended option for Windows library SDK users
    • Visual Studio 2015 update 3 is still supported, but will no longer be Grabba's Windows testing environment

Upgrade Recommendations

This upgrade is required for Visual Studio 2017 users, and for anyone wishing to use the new features. Other users should not need to urgently upgrade unless their existing version is nearing the end of its support lifetime.

Support Lifetimes

Each alpha release in the 2.0 series will be supported for at least four months in total, and for at least three months after the following release in the series.

The releases which are currently supported are:

  • v2.0.0-alpha-11: supported until at least September 2017
  • v2.0.0-alpha-10: supported until at least August 2017

Users of older 2.0-series releases should upgrade if they wish to receive ongoing support.

Limitations and Known Issues

Grabba Protocol:

  • The protocol does not yet support fingerprint user records

Contact smart cards:

  • Warm resets are not supported
  • Grabba's S- and Z-series devices do not support card Fi/Di ratios below 31. GT- and S2-Series devices, however, can support all card speeds.
    • Consequently, any card which boots in specific mode and selects an Fi/Di ratio below 31 will not be usable from an S- or Z-Series device.
    • Note: no ATR-, C- or Q-Series devices include contact smart card support at this time.

Fingerprint reading:

  • Fingerprint image capture performance is slower than expected on S- and Z-Series devices
  • Preview images may have graphical glitches on S- and Z-Series devices (final images are OK though)
  • Intermittent failures have been observed on some fingerprint reader modules
    • If these are encountered, try disconnecting and reconnecting the Grabba device; this should reset the fingerprint reader.

H-Series devices:

  • The devices attached to the internal USB hub in H-Series devices (e.g. contact smart card and fingerprint reader modules in H-4440-3 model) are not accessible to the Grabba device firmware, and consequently may not be accessed via the Grabba Driver.
    • Grabba will supply software support only to the extent of hardware accessible to the Grabba Driver
    • MorphoSmart USB drivers are needed to access the fingerprint reader in H-xxxx-1 and H-xxxx-3 devices
    • PC/SC-compatible software is needed to access the smart card reader in H-xxxx-2 and H-xxxx-3 devices

Application suspension:

  • The Grabba Driver does not request from the operating system that it not be suspended between a deferred-close request and the subsequent timeout or cancellation.
    • This is likely to only be a significant problem for Android users; as a workaround, an application may start a Service prior to switching activities (so as to ensure the Grabba Driver is not suspended), then stop that service once switching completes.
    • A fix for this issue is planned for the next release.

Coexistence with 1.x-series Android drivers:

  • The 2.0-series Grabba Driver for Android operates as a separate, standalone library; each application using it must acquire access to the Grabba device, and may need to be set as Android's default app for that device
  • If the 1.x-series Grabba Driver app is installed, it may be necessary to stop it and ensure it does not start up again. To do this, either uninstall the app, or go to Android's application settings for the app, click the 'Force Stop' button, then click the 'Clear Defaults' button (or equivalents for your Android version).

System Requirements

System requirements for developer machines:

  • To target Android platform:
    • OS: Any current 64-bit OS which can run Android Studio
    • IDE: 64-bit Android Studio v2.2 or later
  • To target iOS platform:
    • OS: 64-bit OS X 10.11 (El Capitan) or MacOS 10.12 (Sierra)
    • IDE: XCode v8.0 or later
  • To target Windows platform:
    • OS: 64-bit Windows 10 Professional (recommended) or Windows 10 Home
    • IDE: Visual Studio 2017 (recommended), or Visual Studio 2015 update 3

Recommended specification for phones and tablets running the Grabba Driver (as provided in library SDKs):

  • Android platform:
    • Hardware: 64-bit CPU (ARMv8 architecture, e.g. Samsung Galaxy S6) is preferred but not required
    • OS: Android 5.0 or later
  • iOS platform:
    • Hardware: 64-bit device, such as:
      • iPhone: 5S (but not 5C), any 6-series or newer
      • iPad: 5th generation (Air, Mini 2, Pro) and newer
      • iPod: 6th generation and newer
    • OS: iOS 9.0 or later
  • Windows platform:
    • Hardware: 64-bit CPU (ARMv8 or x86-64 architectures) is preferred but not required
    • OS: Windows 10 (any variant) with Anniversary Update (v1607 / 10.0.14393) or later

Minimum specification for phones and tablets running the Grabba Driver (as provided in library SDKs):

  • Android: OS v4.4.2 or later
  • iOS: 64-bit device running iOS 8.0 or later; 32-bit devices may also work but their use is discouraged
    • Support for iOS versions earlier than 9.0 is deprecated, and will be removed in a later release
  • Windows: Windows 10 (any version)

System requirements for machines running the Grabba Server:

  • Android platform (pending) - same as for Grabba Driver
  • iOS platform (pending) - same as for Grabba Driver
  • Windows platform:
    • Device type: desktop, laptop or tablet. Support for Windows phones is under consideration for the future.
    • Hardware: x86-64 CPU recommended; x86 also supported. Support for ARM CPUs is planned for a future release.
    • OS: Windows 10 Professional or Windows 10 Home; Anniversary Update (v1607 / 10.0.14393) or later recommended
      • Support for Windows 10 S is under consideration for the future.

Note that, in addition to meeting the specification, the hardware must be compatible with the selected device model(s) - e.g. the Grabba S2-4572nc device is designed to work with the Samsung Galaxy S7 phone.

In addition, any application using the driver must be granted the necessary privileges to access connected Grabba devices, typically via USB or Lightning ports.