Почему ККМ Штрих-М и модем Yota перестают передавать данные в ОФД и как это исправить?

Системный администратор Торговля и дистрибуция
← На главную

Многие системные администраторы и специалисты по автоматизации сталкиваются с неприятной ситуацией: кассовый аппарат Штрих-Он-Лайн (или другие модели Штрих-М), подключенный к компьютеру через USB по технологии RNDIS, внезапно перестает отправлять чеки в ОФД. При этом интернет на самом компьютере, раздаваемый через USB-модем (например, Yota), продолжает работать исправно. Проблема обычно временно решается снятием и повторной установкой «галки» общего доступа в настройках сетевого подключения Windows, но через несколько часов или дней ситуация повторяется.

Разберем подробно причины этого поведения и рассмотрим все доступные методы решения проблемы — от простых настроек драйвера до системных правок реестра и использования специализированного ПО.

Причина возникновения проблемы: особенности Windows и RNDIS

Основная причина кроется не в самом кассовом аппарате, а в работе службы Internet Connection Sharing (ICS) в операционных системах Windows. Когда ККТ подключается через RNDIS, она эмулирует сетевую карту. Для передачи данных кассе нужен доступ в интернет, который «расшаривается» с основного подключения (модема). Однако служба SharedAccess (общий доступ) в Windows работает нестабильно: при кратковременном разрыве связи модема, переходе компьютера в спящий режим или даже при микро-сбоях питания USB-порта служба сбрасывает настройки общего доступа. При этом визуально «галка» в настройках может оставаться на месте, но фактически маршрутизация пакетов между кассой и интернет-каналом прекращается.

Решение 1: Настройка автоматического переподключения в драйвере

Разработчики компании «Штрих-М» знают об этой особенности Windows и добавили в современный драйвер специальный механизм для поддержания работоспособности службы ICS. Это самый простой и эффективный способ, не требующий стороннего ПО.

Рассмотрим шаги по настройке:

  1. Запустим утилиту Тест драйвера ККТ (желательно версии 4.14 или 4.15 и выше) от имени администратора.
  2. Перейдем в раздел «Настройка свойств» и нажмем кнопку «Дополнительные параметры».
  3. В открывшемся окне найдем вкладку или раздел «ОФД».
  4. Установим флаг (галку) на пункте «Переподключать Internet Connection Sharing для RNDIS».
  5. Нажмем «ОК» и «Установить параметры» для сохранения изменений в памяти ККТ и настройках драйвера.

Эта опция заставляет драйвер мониторить состояние подключения и программно «передергивать» службу общего доступа Windows, если связь с ОФД пропадает. Это избавляет администратора от необходимости делать это вручную.

Решение 2: Использование утилиты OFDProxy

Если стандартный механизм RNDIS через общий доступ Windows продолжает работать нестабильно, проанализируем использование специализированной утилиты OFDProxy от «Штрих-М». Эта программа выступает посредником между кассой и сервером ОФД, избавляя систему от необходимости использовать капризную службу ICS.

Алгоритм настройки следующий:

  1. Скачаем утилиту OFDProxy (обычно доступна в составе дистрибутива драйверов или в личном кабинете ЦТО).
  2. Запустим утилиту от имени администратора.
  3. В настройках укажем адрес кассы (обычно 192.168.137.1) и параметры сервера ОФД.
  4. Важный момент: настроим запуск OFDProxy как системной службы Windows. Если оставить её просто запущенным приложением, передача данных прекратится, как только пользователь закроет окно программы.
  5. В самой кассе (через таблицы параметров) в поле адреса сервера ОФД необходимо будет указать IP-адрес компьютера, на котором запущен прокси, вместо прямого адреса сервера ОФД (если используется сложная каскадная схема).

Внимание: При настройке прокси-сервера будьте осторожны с логированием. Если не прописать кассу в настройках прокси, но направить на него данные, служба может начать интенсивно записывать ошибки в лог-файлы, что за короткий срок может забить свободное место на системном диске.

Решение 3: Правка реестра для фиксации настроек ICS

Для борьбы с «вылетающей галкой» в Windows 10/11 можно применить системную правку, которая заставляет службу общего доступа сохранять свое состояние при перезагрузках и переподключениях устройств. Выполним следующие действия:

  1. Нажмем Win + R, введем regedit и перейдем в ветку: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess
  2. Создадим новый параметр DWORD (32 бита) с именем EnableRebootPersistConnection.
  3. Установим ему значение 1.
  4. Перезагрузим компьютер.

Эта настройка предотвращает автоматическое отключение общего доступа к интернету при изменении состояния сетевых адаптеров, что крайне полезно при использовании USB-модемов Yota, которые склонны к кратковременным дисконнектам.

Решение 4: Альтернативный способ передачи через драйвер (VCOM)

Проанализируем ситуацию: если технология RNDIS («сетевая карта через USB») работает нестабильно в конкретной связке оборудования, можно рассмотреть вариант передачи данных через службу драйвера (режим COM-порта).

  1. Переведем кассу из режима RNDIS в режим VCOM (эмуляция COM-порта через USB). Это делается через таблицу №19 в настройках ККТ.
  2. В драйвере 1С или в «Тесте драйвера» настроим передачу данных в ОФД через «Службу связи» или «Прокси драйвера».

В этом режиме касса не будет пытаться сама выйти в интернет как отдельное сетевое устройство. Она будет передавать пакеты для ОФД непосредственно драйверу, который, в свою очередь, отправит их через активное интернет-соединение компьютера. Это полностью исключает зависимость от службы SharedAccess.

Дополнительные рекомендации по стабильности

Помимо программных настроек, обратим внимание на физические и сетевые аспекты:

Применяя комплексный подход — от настройки реестра до включения специализированных опций в драйвере «Штрих-М», вы обеспечите стабильную работу кассового узла даже в условиях нестабильного интернет-соединения через мобильные модемы.

← На главную