XFS-сервис класса IDC. Модели SANKYO (ICT3K5, ICT3K7, ICT3K9, ICT3Q8)

Файлы

Sankyo ICT3K5:

  • shqPS.IDC.ICT3K5.exe;

  • shqSPIDC.dll.

Sankyo ICT3K7:

  • shqPS.IDC.ICT3K7.exe;

  • shqSPIDC.dll.

Sankyo ICT3K9:

  • shqPS.IDC.ICT3K7.exe;

  • shqSPIDC.dll.

Sankyo ICT3Q8:

  • shqPS.IDC.ICT3Q8.exe;

  • shqSPIDC.dll.

Настройки XFS-провайдера

Sankyo ICT3K5 — IDC-ICT3K5

Раздел реестра: [HKLM\Software\XFS\PHYSICAL_SERVICES\IDC-ICT3K5]

Параметры драйвера:

  • PORT — номер порта, к которому подключено устройство. Значение USB указывает на то, что картридер подключен к USB-порту.

  • BAUD — скорость обмена данных с устройством (бит/c) по указанному порту. Возможные значения: 9600, 19200, 38400, 115200. Если параметр не указан, по умолчанию используется 38400.

  • AntiskimmingControl — включить/отключить режим встроенного противодействия скиммингу. Возможные значения: 1, 0. Антискимминг обеспечивается за счет измененного поведения приема карты устройством. При данном режиме создаются помехи для скимминговых устройств, которые пытаются прочитать данные с карты. Внешне может показаться, что устройство не хочет читать карту.

    Внимание

    По умолчанию режим встроенного противодействия скиммингу отключен. Используйте параметр AntiskimmingControl очень аккуратно и осознанно.

  • LedCtrl — управление встроенным световым индикатором картридера. Возможные значения: 1 (включить), 0 (отключить). По умолчанию данный параметр отключен.

  • LedOrangeIfCardInside — встроенный индикатор картридера. Включать оранжевую индикацию, если карта внутри. Возможные значения: 1 (включить), 0 (отключить). По умолчанию данный параметр отключен.

    Внимание

    Возможно подключение внешней системы антискимминга.

  • AUTOMATIC_SIU_LED_CONTROL — автоматическое управление световой индикацией модуля специальной электроники (SIU). Возможные значения: 1, 0.

  • InitialCardAction — действие с картой в момент запуска XFS-провайдера.

    Возможные значения:

    • EJECT — выдать карту наружу;

    • RETAIN — сбросить карту в лоток задержанных карт;

    • LEAVE_INSIDE — оставить карту внутри (значение треков не будет доступно).

    Любое другое значение или его отсутствие трактуется в пользу LEAVE_INSIDE. Значение по умолчанию: LEAVE_INSIDE.

  • EjectCardIfPowerOff — выброс карты при потере связи с устройством (питание, интерфейс). Возможные значения: 1, 0. Выброс карты при потере питания возможен, если картридер оборудован конденсатором.

Sankyo ICT3K7/9 — IDC-ICT3K7/9

Раздел реестра: [HKLM\Software\XFS\PHYSICAL_SERVICES\IDC-ICT3K7]

Параметры драйвера:

  • PORT — номер порта, к которому подключено устройство.

  • BAUD — скорость обмена данных с устройством (бит/c) по указанному порту. Возможные значения: 9600, 19200, 38400, 115200. Если параметр не указан, по умолчанию используется 38400.

  • AntiskimmingControl — включить/отключить режим встроенного противодействия скиммингу. Возможные значения: 1, 0. Антискимминг обеспечивается за счет измененного поведения приема карты устройством. При данном режиме создаются помехи для скимминговых устройств, которые пытаются прочитать данные с карты. Внешне может показаться, что устройство не хочет читать карту.

    Для ICT3K9: Не поддерживается AntiskimmingControl

    Внимание

    По умолчанию режим отключен. Используйте данную настройку очень аккуратно и осознанно.

  • LedCtrl — управление встроенным световым индикатором картридера:Возможные значения: 1 (включить), 0 (отключить). По умолчанию данный параметр отключен.

  • LedOrangeIfCardInside — встроенный индикатор картридера. Включать оранжевую индикацию, если карта внутри. Возможные значения: 1 (включить), 0 (отключить). По умолчанию данный параметр отключен.

    Внимание

    Возможно подключение внешней системы антискимминга.

  • AUTOMATIC_SIU_LED_CONTROL — автоматическое управление световой индикацией модуля специальной электроники (SIU). Возможные значения: 1, 0.

  • InitialCardAction — действие с картой в момент запуска XFS-провайдера.

    Возможные значения:

    • EJECT — выдать карту наружу;

    • RETAIN — сбросить карту в лоток задержанных карт;

    • LEAVE_INSIDE — оставить карту внутри (значение треков не будет доступно).

    Любое другое значение или его отсутствие трактуется в пользу LEAVE_INSIDE. Значение по умолчанию: LEAVE_INSIDE.

  • EjectCardIfPowerOff — выброс карты при потере связи с устройством (питание, интерфейс). Возможные значения: 1 , 0. Выброс карты при потере питания возможен, если картридер оборудован конденсатором.

Sankyo ICT3Q8 — IDC-ICT3Q8

Раздел реестра: [HKLM\Software\XFS\PHYSICAL_SERVICES\IDC-ICT3Q8]

  • PORT — номер порта, к которому подключено устройство.

  • BAUD — скорость обмена данных с устройством (бит/c) по указанному порту. Возможные значения: 9600, 19200, 38400, 115200. Если параметр не указан, по умолчанию используется 38400.

  • AUTOMATIC_SIU_LED_CONTROL — автоматическое управление световой индикацией модуля специальной электроники (SIU). Возможные значения: 1, 0.

  • InitialCardAction — действие с картой в момент запуска XFS-провайдера.

    Возможные значения:

    • EJECT — выдать карту наружу;

    • RETAIN — сбросить карту в лоток задержанных карт;

    • LEAVE_INSIDE — оставить карту внутри (значение треков не будет доступно).

    Любое другое значение или его отсутствие трактуется в пользу LEAVE_INSIDE. Значение по умолчанию: LEAVE_INSIDE.

  • EjectCardIfPowerOff — выброс карты при потере связи с устройством (питание, интерфейс). Возможные значения: 1, 0. Выброс карты при потере питания возможен, если картридер оборудован конденсатором. Для модели ICT3Q8 встроенного антискимминга не предусмотрено. Возможно подключение внешней системы антискимминга.

Информационные запросы

WFS_INF_IDC_STATUS

Назначение команды: получить информацию о статусе устройства.

Расчет состояния заполнения лотка захваченных карт (fwRetractBin):

  • WFS_IDC_RETAINBINFULL при достижении счетчика захваченных карт 35;

  • WFS_IDC_RETAINBINHIGH при заполнении лотка на 85%, т.е. уже захвачено 29 карт;

  • WFS_IDC_RETAINBINOK в остальных случаях.

Поле lpszExtra:

  • VENDOR=DORS[SYSTEMA];

  • PRODUCT=ProAtm/Xfs;

  • VERSION=X.X.X.X (текущая версия сервис-провайдера XFS);

  • MODEL=ICT3K5 (текущая модель устройства);

  • MODEL=ICT3K7;

  • MODEL=ICT3Q8;

  • CONTACTLES=N/A (без поддержки бесконтактного чтения карт);

  • CONTACTLES=MIFARE

WFS_INF_IDC_CAPABILITIES

Назначение команды: получить информайцию о возможностях устройства.

Запись треков магнитной полосы (fwWriteTracks), в зависимости от модели:

  • ICT3K5, ICT3K7: WFS_IDC_NOTSUPP;

  • ICT3Q8: WFS_IDC_TRACK1, WFS_IDC_TRACK2, WFS_IDC_TRACK3.

Протоколы взаимодействия с чиповыми картами (fwChipProtocols):

  • WFS_IDC_CHIPT0;

  • WFS_IDC_CHIPT1;

  • WFS_IDC_CHIP_PROTOCOL_NOT_REQUIRED (автоматическое определение протокола). В данном случае устройство автоматически выберет протокол T0 или T1.

Максимальное возможное кол-во задержанных карт (usCards): 35 (постоянное число, данное кол-во обусловлено физической емкостью лотка, дополнительно присоединяемого к картридеру в устройствах самообслуживания «DORS», для хранения захваченных карт).

Режимы записи магнитной полосы (fwWriteMode):

  • ICT3K5, ICT3K7, ICT3K9: WFS_IDC_NOTSUPP;

  • ICT3Q8: WFS_IDC_LOCO.

Поле lpszExtra:

  • VENDOR=DORS[SYSTEMA];

  • PRODUCT=ProAtm/Xfs;

  • VERSION=X.X.X.X (текущая версия сервис-провайдера XFS);

  • MODEL=ICT3K5 (текущая модель устройства);

  • MODEL=ICT3K7;

  • MODEL=ICT3K9;

  • MODEL=ICT3Q8;

  • CONTACTLES=N/A (без поддержки бесконтактного чтения карт);

  • CONTACTLES=MIFARE (c поддержкой бесконтактного чтения карт по протоколу MIFARE на уровне устройства, см. Поддержка протокола MIFARE).

Команды

WFS_CMD_IDC_EJECT_CARD

Назначение команды: выброс карты наружу в выходной слот.

Валидация контекста исполнения:

  • сервис в состоянии готовности;

  • карта внутри устройства.

Валидация входных данных для CEN/XFS 3.10: wEjectPosition = WFS_IDC_EXITPOSITION.

WFS_CMD_IDC_RETAIN_CARD

Назначение команды: захват карты и увеличение счетчика захваченных карт.

Валидация контекста исполнения:

  • сервис в состоянии готовности;

  • карта внутри устройства или в выходном слоте;

  • текущий счетчик захваченных карт не превышает максимальное значение.

Если карта на момент подачи команды находилась в выходном слоте, а после была забрана, то команда завершится с результатом WFS_ERR_IDC_NOMEDIA.

WFS_CMD_IDC_RESET_COUNT

Назначение команды: сброс счетчика захваченных карт.

Валидация контекста исполнения: сервис в состоянии готовности.

Для модели ICT3Q8 невозможно сбросить счетчик захваченных карт, если карта находится внутри устройства и чип запитан (после команды WFS_CMD_IDC_CHIP_POWER, WFS_CMD_IDC_READ_RAW_DATA). Команда завершится с результатом WFS_ERR_DEV_NOT_READY.

WFS_CMD_IDC_READ_RAW_DATA

Назначение команды: ожидание вставки карты и последующее чтение данных магнитной полосы, а также активация чипа в зависимости от входных параметров.

Валидация контекста исполнения: сервис в состоянии готовности.

Возможные режимы выполнения команды:

  • Вставка карты с детектированием магнитной полосы (pre-head detection), если не установлен флаг WFS_IDC_FLUXINACTIVE. В случае отсутствия магнитной полосы карта будет возвращена обратно.

  • Вставка карты без детектирования магнитной полосы, если установлен флаг WFS_IDC_FLUXINACTIVE. При данном режиме использование нестандартных карт может привести к блокировке устройства.

Активация чипа карты длится порядка 1 секунды. Для протокола MIFARE активируется чип для бесконтактного обмена данными.

WFS_CMD_IDC_RESET

Назначение команды: сброс состояния оборудования.

Валидация контекста исполнения:

Команда завершится с результатом WFS_ERR_IDC_RETAINBINFULL при условиях:

  • lpwResetIn = WFS_IDC_RETAIN;

  • Счетчик задержанных карт достиг максимума;

  • Карта внутри устройства или на выходе слота.

Если карта находится внутри устройства и входной параметр lpwResetIn = NULL, то карта будет возвращена клиенту.

Для ICT3K7: если произошло замятие, то будет возвращена ошибка WFS_ERR_IDC_MEDIAJAM.

WFS_CMD_IDC_CHIP_IO

Назначение команды: чтение данных чипа.

Валидация контекста исполнения:

  • сервис в состоянии готовности, в противном лучае команда вернет значение WFS_ERR_DEV_NOT_READY;

  • карта внутри устройства, в противном лучае команда вернет значение WFS_ERR_IDC_NOMEDIA;

  • карта должна иметь чип, доступный для соответствующего интерфейса обмена данными (ISO7816, MIFARE), в противном лучае команда вернет значение WFS_ERR_IDC_INVALIDMEDIA;

  • чип должен быть активирован, в противном лучае команда вернет значение WFS_ERR_IDC_ATRNOTOBTAINED;

  • если сервис открыт для чтения данных по протоколу MIFARE, то устройство должно поддерживать данный протокол, в противном лучае команда вернет значение WFS_ERR_UNSUPP_COMMAND.

Валидация входных данных:

  • wChipProtocol — CEN/XFS 3.02: WFS_IDC_CHIPT0, WFS_IDC_CHIPT1; CEN/XFS 3.10: WFS_IDC_CHIPT0, WFS_IDC_CHIPT1, WFS_IDC_CHIP_PROTOCOL_NOT_REQUIRED.

  • lpbChipData — для ISO7816 команда, отправляемая на чип, должна быть не менее 4-х байт. Для MIFARE команда, отправляемая на чип, должна быть не пустой.

Для протокола MIFARE выполняется бесконтактное чтение чипа.

Для ICT3K9: нет возможности выбрать протокол работы T0 или T1. Картридер автоматически выбирает протокол общения с чипом карты.

WFS_CMD_IDC_CHIP_POWER

Назначение команды: активация/деактивация чипа.

Валидация контекста исполнения:

  • сервис в состоянии готовности;

  • карта внутри устройства.

Правила активации/деактивации чипов:

  1. WFS_IDC_CHIPPOWERCOLD возможно всегда.

  2. WFS_IDC_CHIPPOWERWARM возможно только на активированном чипе, в противном случае команда завершится с результатом WFS_ERR_IDC_INVALIDMEDIA.

  3. WFS_IDC_CHIPPOWEROFF возможно только на активированном чипе для его деактивации, в противном случае команда завершится с результатом WFS_ERR_IDC_INVALIDMEDIA.

Для протокола MIFARE активируется чип для бесконтактного обмена данными.

WFS_CMD_IDC_WRITE_RAW_DATA

Назначение команды: запись магнитной полосы карты. Поддерживается только для модели ICT3Q8.

Команда исполняется в 2 шага:

  1. Обеспечение вставки карты (по аналогии с WFS_CMD_IDC_READ_RAW_DATA).

  2. После вставки — запись данных.

Валидация контекста исполнения: сервис в состоянии готовности.

Валидация входных данных:

  • lppCardData не должно быть NULL;

  • lpbData — данные треков должны соответствовать ISO 7813 (TRACK2);

  • fwWriteMethod — WFS_IDC_LOCO.

В TRACK1 разрешается запись ANSI-символов в верхнем регистре, в противном случае устройство выдаст ошибку. Чтобы избежать ошибки, все символы нижнего регистра XFS-сервис автоматически переводит в верхний регистр.

Поддеживаются события

CEN/XFS 3.02, 3.10:

  • WFS_EXEE_IDC_MEDIAINSERTED;

  • WFS_SRVE_IDC_MEDIAREMOVED;

  • WFS_EXEE_IDC_MEDIARETAINED;

  • WFS_EXEE_IDC_INVALIDMEDIA;

  • WFS_SRVE_IDC_RETAINBINTHRESHOLD;

  • WFS_SRVE_IDC_MEDIADETECTED.

CEN/XFS 3.10:

  • WFS_EXEE_IDC_INSERTCARD.

Поддержка протокола MIFARE

XFS-драйвер поддерживает бесконтактное чтение чипа карт по протоколу MIFARE на следующих условиях:

  • модель устройства — ICT3K5-3R4245;

  • сервис должен быть открыт, используя логическое имя «IDC_MIFARE» или «IDC30_MIFARE».

После чего по команде WFS_CMD_IDC_READ_RAW_DATA или WFS_CMD_IDC_CHIP_POWER будет активирован чип для протокола MIFARE. Читает данные чипа по протоколу MIFARE команда WFS_CMD_IDC_CHIP_IO.

Коды ошибок оборудования

Таблица 62. Коды ошибок оборудования ICT3K5-3R6940 и ICT3K7-3R6940 (Error in communication soft)

ERROR CODE

DESCRIPTION

CLEAR

00

To shows that received command was undefined

Cleared by receiving correct commands

01

To show command parameter error

Cleared by receiving command with correct parameter

02

To show that ICRW executes Supervisor program code area.(Supervisor). To show that un-executable command was received.(User) Cf. Receiving read command while card is not staying inside the ICRW

Cleared by receiving executable command

03

The function (hardware) required for execution of a command is not carried. The function may not be carried or be out of order. (The existence of each function is automatically recognized by the firmware.)

The check of hardware is needed

04

To show that error data was included in command

Cleared by receiving command including correct data

06

The key for the cipher function command is not received

Cleared by the executing the key exchange procedure

B0

Other commands were received before performing initialize command after a power supply injection, reset or switch command execution

Execute Initialize command

Таблица 63. Коды ошибок оборудования ICT3K5-3R6940 и ICT3K7-3R6940 (Error at card feeding)

ERROR CODE

DESCRIPTION

CLEAR

10

To show that the card was not carried to the specific location after specified number of trial for specified time duration during execution of command of carrying card in various ways

To execute a command again and a card is conveyed in a normal position. Or, cleared when the card is taken out from the card reader manually. In this case, confirm the recovery by Status request command

11

To show that the full shutter does not close when the card entry is completed

Cleared in case card is returned to card gate by eject command. After the card is inserted, the unexpected objects are inserted into the gate or the full shutter is not work collect. Please conform those condition

13

To show that the card longer than 88.5mm is inserted into ICRW

Cleared in case card is returned to card gate by eject command

14

To show that the card shorter than 83.5mm is inserted into ICRW

Cleared in case card is returned to card gate by eject command

16

To show that card staying inside the ICRW was moved up to the point where status request information changes

Cleared in the case card is ejected

17

To show that the card was not carried to the specific location after specified number of trial for specified time duration during execution of Retrieve command

To execute a Retrieve command again and a card is normally taken in. Or, cleared when the card is taken out from the card reader manually. Confirm the recovery by Status request command in this case

18

ICRW detected that two cards were inserted, and ejected it

Remove ejected card from a gate

40

To show that card is pulled out against card feed in operation

Command execution is normally possible continuously

Таблица 64. Коды ошибок оборудования ICT3K5-3R6940 и ICT3K7-3R6940 (Error in reading card)

ERROR CODE

DESCRIPTION

CLEAR

20

To show that parity error exists in read error

21

To show that other read error than «20», «23» and «24» (cf: no start sentinel is recorded in the card)

22

To show that only start sentinel, end sentinel, LRC are contained in the card

There are no contents of data

23

To show that the card has no magnetic track

For entry and enable command with mag check, this code is used to indicate error

Таблица 65. Коды ошибок оборудования ICT3K5-3R6940 и ICT3K7-3R6940 (Other error codes)

ERROR CODE

DESCRIPTION

CLEAR

30

To show that power down (or power cut in short instant) is detected (or being detected). It is to be recognized as normal power down if back up power supply goes down below +12V

Cleared when a card is ejected and pulled out after a power supply recovery

31

To show that DSR signal was turned to OFF (communication is cut)

Cleared when a card is ejected and pulled out after DSR signal recovery

Подробное описание статусов устройства приведено в документе «Sankyo.Interface Specification. ICT3K5-3R6940. ASL-NP-09085-01».