Как решить проблему с зависанием RNDIS на ККТ Штрих-М в Windows 10 и Windows 11

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

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

В этой статье мы подробно разберем, почему возникает данная неисправность, проанализируем внутренние механизмы операционной системы Windows и рассмотрим несколько надежных практических способов раз и навсегда решить проблему с зависанием RNDIS.

Выясняем причины: почему «отваливается» подключение

Прежде чем переходить к настройке, давайте разберемся в физической и программной природе этого зависания. Проблема имеет комплексный характер и складывается из трех ключевых факторов:

  1. Нестабильность службы ICS в Windows 10/11: Служба общего доступа к подключению (Internet Connection Sharing — SharedAccess) в современных версиях Windows по умолчанию переходит в спящий режим через несколько минут неактивности. После перезагрузки операционной системы она часто не запускается вовремя, из-за чего кассовый аппарат теряет связь с интернетом.
  2. Энергосбережение USB-портов: Операционная система в целях экономии электропитания может принудительно переводить виртуальный сетевой адаптер RNDIS в режим пониженного потребления. В этот момент сетевой трафик полностью блокируется, а в состоянии подключения отображается передано 0 байт, получено 0 байт.
  3. Конфликт драйверов (VID/PID): ККТ Штрих-М при эмуляции RNDIS использует идентификаторы производителя VID_18D1 и PID_4EE4. Windows часто распознает их некорректно и устанавливает устаревшие драйверы от сторонних производителей (например, Acer), которые работают нестабильно под высокой сетевой нагрузкой.

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

Способ 1. Фиксация общего доступа (ICS) через реестр Windows

Если вы хотите оставить классическую схему трансляции интернета на кассу через галочку общего доступа, нам необходимо заставить Windows принудительно сохранять это подключение активным после перезагрузки ПК.

Разберем по шагам, как настроить автозапуск и постоянную работу службы:

  1. Откроем редактор реестра Windows. Для этого нажмите комбинацию клавиш Win + R, введите команду regedit и нажмите клавишу Enter.
  2. Перейдем в следующую ветку реестра:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess
  3. Создадим новый параметр. Нажмите правой кнопкой мыши на пустом месте в правой части окна, выберите Создать -> Параметр DWORD (32 бита).
  4. Присвоим созданному параметру имя EnableRebootPersistConnection и установим его значение равным 1 (в шестнадцатеричной системе счисления).
  5. Далее перейдем в системные службы. Для этого нажмите Win + R, введите services.msc.
  6. Найдите службу с именем «Общий доступ к подключению к Интернету (ICS)» (в системе она зарегистрирована как SharedAccess).
  7. Откройте ее свойства двойным щелчком мыши, измените тип запуска на «Автоматически», запустите службу (если она остановлена) и примените изменения.

Для гарантированного внесения изменений можно применить готовый файл конфигурации реестра. Посмотрим на структуру этого файла:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedAccess]
"EnableRebootPersistConnection"=dword:00000001

После применения этих настроек операционная система перестанет отключать общий доступ к интернету при перезагрузках или длительном простое оборудования.

Способ 2. Объединение подключений в Сетевой мост (Network Bridge)

Сетевой мост — это более надежная альтернатива общему доступу (ICS). Этот метод полностью исключает службу общего доступа из цепочки передачи данных. Суть метода заключается в том, что виртуальный RNDIS-адаптер кассы и физический сетевой адаптер компьютера объединяются в единый логический коммутатор.

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

  1. Перед началом настройки обязательно зайдите в свойства основного интернет-подключения и снимите галочку общего доступа во вкладке «Доступ». Это критически важно, так как включенная служба ICS заблокирует создание моста.
  2. Зайдите в таблицы фискального регистратора через программу «Тест драйвера ККТ». Перейдите в раздел «Таблицы» -> Таблица №19 (Параметры ОФД).
  3. Пропишите в настройках ККТ статический IP-адрес из той же локальной подсети, в которой работают компьютеры в вашей организации. Например, если IP-адрес вашего компьютера 192.168.1.45, а сетевой шлюз — 192.168.1.1, то кассе можно присвоить адрес 192.168.1.200. Укажите маску подсети (обычно 255.255.255.0) и адрес шлюза (192.168.1.1).
  4. Перейдите в операционной системе по пути: Панель управления -> Сетевые подключения (или выполните команду ncpa.cpl в окне Win + R).
  5. Откройте свойства вашего RNDIS-адаптера (сетевое подключение ККТ) и в настройках протокола TCP/IPv4 установите автоматическое получение IP-адреса и DNS.
  6. Зажмите клавишу Ctrl на клавиатуре и выделите левой кнопкой мыши два подключения: ваше основное сетевое подключение (Ethernet) и виртуальное RNDIS-соединение кассы.
  7. Нажмите по выделенным значкам правой кнопкой мыши и выберите пункт меню «Настройка моста» (или «Создать сетевой мост»).
  8. После создания моста в списке появится новое устройство «Сетевой мост». Нажмите на него правой кнопкой мыши, выберите «Свойства» и в протоколе TCP/IPv4 пропишите те сетевые реквизиты (IP, маска, шлюз), которые ранее использовались на вашем физическом адаптере Ethernet компьютера для выхода в интернет.

После проведения этих манипуляций касса окажется в одной физической сети с компьютером и сможет отправлять пакеты в ОФД напрямую через шлюз, минуя любые виртуальные трансляции адресов.

Способ 3. Отключение энергосбережения и установка стабильного драйвера

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

Проанализируем алгоритм настройки параметров питания:

  1. Нажмите правой кнопкой мыши на кнопку «Пуск» и перейдите в Диспетчер устройств.
  2. Разверните ветку «Сетевые адаптеры» и найдите адаптер, соответствующий вашему RNDIS-подключению.
  3. Откройте его свойства, перейдите на вкладку «Управление электропитанием» и снимите флажок с пункта «Разрешить отключение этого устройства для экономии энергии».
  4. Затем разверните ветку «Контроллеры USB». Для каждого устройства с названиями «Корневой USB-концентратор» (USB Root Hub) и «Generic USB Hub» проделайте аналогичную операцию во вкладках управления питанием.
  5. Перейдите в системные настройки электропитания Windows (через панель управления), откройте дополнительные параметры вашей схемы питания и в разделе «Параметры USB» переведите значение «Параметр временного отключения USB-портов» в состояние «Запрещено».

Теперь решим проблему с некорректным драйвером RNDIS. Выполним его принудительное обновление на стандартный совместимый драйвер от Microsoft:

  1. В Диспетчере устройств нажмите правой кнопкой мыши на RNDIS-адаптер ККТ и выберите команду «Обновить драйвер».
  2. Выберите вариант «Найти драйверы на этом компьютере» (ручная установка).
  3. Нажмите на кнопку «Выбрать драйвер из списка уже установленных драйверов на компьютере».
  4. В открывшемся списке снимите галочку «Только совместимые устройства» (если необходимый пункт не отображается) или сразу выберите категорию «Сетевые адаптеры».
  5. В левой колонке (Изготовитель) выберите Microsoft (или Microsoft Corporation), а в правой колонке (Модель) найдите устройство с именем «Remote NDIS Compatible Device» (Совместимое с Remote NDIS устройство).
  6. Нажмите «Далее» и согласитесь с предупреждением системы безопасности Windows о возможной несовместимости.

Установка оригинального системного драйвера от Microsoft полностью решает проблему внутреннего зависания сетевого стека виртуальной сетевой карты ККТ Штрих-М.

Способ 4. Современное решение: использование встроенной службы kktProxy

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

Ранее для этих целей использовалась утилита OFDProxy (или ofdconnect), требовавшая сложной ручной настройки конфигурационных файлов. В актуальных версиях программного обеспечения ей на смену пришла современная служба kktProxy.

Рассмотрим, как запустить и настроить данную технологию:

  1. Скачайте и установите актуальную версию программного пакета «Тест драйвера ККТ» от Штрих-М (начиная с версий 5.15 и новее). При установке драйвера обязательно отметьте галочкой устанавливаемый компонент kktProxy.
  2. Запустите «Тест драйвера ККТ», выполните подключение к вашей кассе и перейдите в Таблицы.
  3. Откройте Таблицу №19 (Параметры ОФД). Здесь нам нужно перенаправить трафик с внешних серверов ОФД на локальный адрес нашего компьютера.
  4. Укажите в качестве IP-адреса сервера ОФД локальный IP-адрес сетевого адаптера RNDIS (по умолчанию это чаще всего 192.168.137.1).
  5. В поле «Порт сервера ОФД» укажите порт, на котором работает локальная служба-посредник kktProxy (по умолчанию используется порт 7778).
  6. Сама служба kktProxy при установке регистрируется в операционной системе Windows как автоматически запускаемая служба. Она перехватывает фискальные пакеты, приходящие от кассы на порт 7778 локального адреса, упаковывает их и через основное интернет-подключение компьютера стабильно пересылает на реальные адреса серверов ОФД.

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

Способ 5. Альтернативный метод: трансляция через SOCKS5 (Антинат)

В некоторых сложных корпоративных сетевых инфраструктурах (например, когда касса физически подключена к тонкому клиенту, а кассир работает внутри удаленной терминальной сессии RDP на сервере) стандартные способы проброса сети не работают. В таких случаях технические специалисты используют альтернативную утилиту Антинат (SOCKS5).

Принцип работы данного метода выглядит следующим образом:

  1. На компьютере, к которому подключена касса по USB, разворачивается и запускается небольшая служба SOCKS5-прокси (Антинат).
  2. В настройках таблиц ККТ — в Таблице №16 (Сетевые адреса) или через специализированные параметры сетевого обмена — активируется поддержка работы через SOCKS-прокси.
  3. В параметрах ККТ прописывается локальный IP-адрес компьютера-хоста. Касса упаковывает весь трафик, предназначенный для ОФД, в прокси-пакеты.
  4. Служба «Антинат» на компьютере принимает эти пакеты, распаковывает их «на лету» и прозрачно транслирует в глобальную сеть. Данная схема полностью исключает сбои маршрутизации операционной системы.

Важность обновления прошивки самой кассы

Если вы испробовали все программные методы настройки операционной системы Windows, но ККТ Штрих-М продолжает внезапно переставать отправлять чеки в ОФД (особенно часто это проявляется при попытке пробития маркированных товаров), проблема может крыться во внутреннем программном обеспечении самого фискального регистратора.

В старых версиях прошивок тепловых плат ККТ (в частности, на ветке ПО «С.1») существовала аппаратная проблема обработки сетевых таймаутов интерфейса RNDIS. При переходе на новые форматы фискальных данных (ФФД 1.2), требующие отправки тяжелых зашифрованных пакетов и запросов о кодах маркировки, старое ПО процессора ККТ не справлялось с нагрузкой и зависало.

Для гарантированного решения проблем сетевого обмена настоятельно рекомендуем обратиться к вашему обслуживающему сервисному центру (или выполнить самостоятельно при наличии соответствующих полномочий) для обновления внутренней прошивки ККТ до актуальных стабильных версий сборки (рекомендуется линейка «С.3» и новее).

Мы подробно проанализировали причины сбоев сетевого интерфейса RNDIS на оборудовании Штрих-М и рассмотрели пять эффективных способов борьбы с зависаниями. Рекомендуется начать с настройки параметров энергосбережения USB-портов и установки стандартного совместимого драйвера от Microsoft, а при сохранении нестабильности — осуществить переход на современную службу-посредник kktProxy.

← На главную