Skip to content

Zebra DS9908R Hybrid Scanner

What It Is

The Zebra DS9908R is a hybrid presentation scanner that reads both barcodes and RFID tags in a single scan operation. It connects via USB and uses Zebra's CoreScanner SDK (SNAPI protocol). It is the only scanner in GateKeeper that combines barcode and RFID reading in one device, eliminating the need for a separate RFID reader.

Which Sites Use It

  • Teasdale Carrollton (Line 7 and Line 9)

Connection Details

Detail Value
Protocol USB (SNAPI)
Connection string SNAPI (auto-discovered via CoreScanner SDK)
Required software Zebra CoreScanner SDK must be installed on the PC
Configuration tool 123Scan (Zebra utility)

No IP address or port is needed. The scanner is auto-discovered when connected via USB.

How to Tell If It Is Working

  1. Diagnostics panel: Camera shows "Connected" with a green indicator.
  2. Scanner indicator lights: Green LED on scanner indicates ready state.
  3. Log message: Look for [DS9908] entries in the log file.
  4. Scan progress: During a scan, the UI shows a progress indicator with checkmarks for each component (barcode, UCC-128, RFID).

How Scanning Works

The DS9908R collects multiple data types in one scan session:

  1. Operator presents a case to the scanner.
  2. The scanner reads barcodes and RFID tag simultaneously.
  3. GateKeeper collects all reads within a correlation timeout window (default 5000ms).
  4. The scan fires immediately when 2+ barcodes are collected, or after the timeout with whatever was read.
  5. RFID data arrives as a URN format barcode event (symbology "Type225").
  6. GateKeeper correlates barcodes with the RFID tag for Teasdale validation.

Scan Progress Indicators

During scanning, the UI shows progress: - HasDataMatrix: Checkmark when 2D barcode is read - HasUcc128: Checkmark when UCC-128 barcode is read - HasRfid: Checkmark when RFID tag is read - Timer: Countdown showing time remaining in the correlation window

RFID Reading

The DS9908R has a built-in RFID reader. RFID data appears as: - Symbology: Type225 - Format: URN (e.g., urn:epc:tag:sgtin-96:2.0031400.009808.2910328) - GateKeeper converts the URN to raw hex for matching against DataMatrix barcodes

Common Problems and Solutions

Problem Symptoms Solution
Scanner not discovered Log shows [DS9908] No scanners discovered, but staying connected for hot-plug Check USB cable, try different USB port, verify CoreScanner SDK installed
CoreScanner SDK error Log shows [DS9908] Failed to open CoreScanner. Status: {X} Reinstall CoreScanner SDK, reboot PC
No RFID reads Barcodes read but no RFID tag Check RFID is enabled in 123Scan, verify Country of Operation set
Barcode not reading RFID reads but barcodes do not Check label quality, scanner alignment
URN parse error Log shows [DS9908] Invalid URN format or Unsupported tag type Tag is not SGTIN-96 format -- check label/tag encoding
Trigger failure Log shows [DS9908] Software trigger failed. Status: {X} Restart application, reconnect USB

Error Messages

Error Message What It Means
[DS9908] Empty connection string Configuration error -- connection string should be SNAPI
[DS9908] Failed to open CoreScanner. Status: {X} CoreScanner SDK could not initialize
[DS9908] No scanners discovered, but staying connected for hot-plug Scanner not found on USB -- check cable
[DS9908] Cannot trigger - not connected Trigger attempted but scanner is offline
[DS9908] Software trigger failed. Status: {X} Trigger command rejected by scanner
[DS9908] No barcode data in event Scanner fired event but had no data
[DS9908] Invalid URN format (not enough parts): {Urn} RFID tag URN could not be parsed
[DS9908] Unsupported tag type '{Type}', expected sgtin-96 Tag is not the expected SGTIN-96 type
[DS9908] Failed to parse configuration JSON, using defaults Scanner configuration in appsettings is malformed

Setup Requirements

Before using the DS9908R: 1. Install Zebra CoreScanner SDK on the PC 2. Configure scanner with 123Scan software: - Set RFID Country of Operation - Enable SNAPI USB mode (not HID wedge mode) - Verify RFID reading is enabled 3. Connect scanner via USB 4. Set connection string to SNAPI in appsettings.json

Common Mistakes

  • Using a TCP connection string instead of SNAPI
  • Forgetting to install CoreScanner SDK
  • Configuring the DS9908R as a separate camera + RFID reader (it is one device)
  • Using HID wedge mode instead of SNAPI mode

When to Escalate

  • CoreScanner SDK fails to initialize after reinstall and reboot
  • Scanner discovered but never reads RFID (firmware issue)
  • URN conversion consistently fails (tag encoding mismatch)
  • Scanner works in 123Scan but not in GateKeeper