Как настроить проброс виртуального COM-порта кассы Атол через RDP в Windows 8.1 и подключить ККТ?

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

Подключение фискальных регистраторов (например, Атол 11Ф) к удаленному серверу терминалов через RDP по открытому интернет-каналу — распространенная, но капризная в настройке схема. Нередко системные администраторы сталкиваются с ситуацией, когда на клиенте с Windows 7 все запускается с первой попытки, а на Windows 8.1 x64 виртуальный COM-порт пробрасывается в сессию, но автоматический поиск оборудования упорно не находит кассу. Дополнительно ситуацию осложняет обязательная проверка цифровой подписи драйверов (Driver Signature Enforcement), из-за которой драйвер VCP (Virtual COM Port) «слетает» после первой же перезагрузки.

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

Почему автоматический поиск оборудования в тесте драйвера не видит кассу через RDP

Проанализируем механику работы кнопки «Поиск оборудования» в тесте драйвера ККМ (ДТО). Эта функция последовательно перебирает все доступные в системе COM-порты на различных скоростях (от 1200 до 115200 бод), отправляя короткие запросы на проверку связи.

В локальной среде ответ от устройства по шине USB возвращается за доли миллисекунды. Однако при передаче данных через RDP поверх интернета возникает сетевая задержка (RTT/ping) и внутренние накладные расходы протокола перенаправления портов. Механизм быстрого поиска оборудования просто не успевает дождаться ответа в рамках жестко зашитого короткого квантового интервала и считает, что к порту ничего не подключено. Отсутствие результата в окне поиска при пробросе через интернет — это штатное поведение механизма, а не признак неисправности оборудования.

Шаг 1. Переход на ручное подключение и правильная настройка таймаутов

Вместо использования автоматического поиска оборудования настроим параметры соединения вручную. Выполним следующие действия:

  1. Убедимся, что на локальном клиентском компьютере полностью закрыты все программы, которые могут захватывать кассу (локальный тест драйвера, фоновые службы, другие кассовые программы). Порт не должен быть занят монопольно.
  2. Подключимся к серверу по RDP, открыв настройки клиента удаленного рабочего стола и проверив, что на вкладке «Локальные ресурсы» в разделе «Подробно» отмечен пункт «Порты».
  3. На сервере запустим утилиту «Тест драйвера ККМ» и перейдем в меню «Свойства».
  4. Вместо запуска автоматического поиска вручную выберем нужный номер COM-порта из выпадающего списка проброшенных портов.
  5. Установим рабочую скорость обмена (по умолчанию для современных прошивок Атол используется 115200 бод, для старых версий может быть задано 9600 или 4800).
  6. Критически важный параметр: увеличим значение параметра Таймаут (Timeout). По умолчанию в драйвере может стоять 100–300 мс, чего недостаточно при интернет-подключении. Установим значение в диапазоне от 1500 до 3000 мс (при нестабильном канале — до 5000 мс).
  7. Нажмем кнопку «Проверка связи». В поле описания появится модель фискального регистратора и версия внутреннего ПО.

Шаг 2. Разделение двух виртуальных портов и переназначение номеров

При подключении кассы Атол по USB в системе обычно создаются сразу два виртуальных COM-порта (например, COM14 и COM15). Разберем их назначение:

  1. Первый порт предназначен непосредственно для обмена командами с учетной системой (1С, драйвер ККМ).
  2. Второй порт выделен под службу передачи фискальных данных в ОФД по протоколу Ethernet over USB (EoU).

Если опрашивать порт, занятый службой EoU, устройство никогда не ответит на команды фискализации. Кроме того, служба RDP и старые библиотеки торгового оборудования Windows иногда некорректно обрабатывают двузначные номера портов (COM10 и выше), требующие в ядре операционной системы специального синтаксиса вида \\.\COM14.

Чтобы исключить конфликты, переназначим порт управления на клиенте:

  1. Откроем «Диспетчер устройств» на локальном ПК с Windows 8.1.
  2. В ветке «Порты (COM и LPT)» найдем порты Атол.
  3. Откроем свойства порта управления, перейдем на вкладку «Параметры порта» и нажмем «Дополнительно».
  4. Изменим номер порта на свободный в диапазоне от COM1 до COM4.
  5. Переподключим сеанс RDP и укажем новый номер порта в настройках драйвера на сервере.

Шаг 3. Диагностика проброса портов средствами командной строки

Если драйвер на сервере не видит порт в списке, проверим, попал ли он в терминальную сессию на уровне операционной системы. Для этого откроем командную строку (cmd) внутри RDP-сессии на сервере и выполним команду:

change port /query

Команда выведет сопоставление портов сессии. Запись вида \Device\RdpDrPort\;COMx:y\PRTz подтверждает, что перенаправление портов на стороне сервера отработало успешно. Если в списке портов нет, необходимо проверить групповые политики сервера: параметр «Не разрешать перенаправление COM-портов» должен быть отключен.

Также проверим настройки электропитания на клиентской машине. В «Диспетчере устройств» Windows 8.1 для используемых USB-концентраторов откроем вкладку «Управление электропитанием» и снимем флаг «Разрешить отключение этого устройства для экономии энергии». Это предотвратит случайный сброс виртуального порта при паузах в печати чеков.

Шаг 4. Решение проблемы с проверкой цифровой подписи в Windows 8.1 x64

В 64-битных редакциях Windows 8.1 включен строгий контроль подписей драйверов режима ядра. Старые дистрибутивы (включая ДТО 8.12) поставлялись с сертификатами на алгоритме SHA-1, которые система после перезагрузки блокирует с «Ошибкой 52» (Windows не удается проверить цифровую подпись драйвера). Рассмотрим правильные способы устранения этой проблемы:

  1. Обновление драйвера VCP (рекомендуемый способ): Загрузим и установим обновленный драйвер виртуальных COM-портов из состава более свежих релизов (ДТО 8.16+ или ДТО 10). В них используются сертификаты с поддержкой SHA-256, корректно распознаваемые Windows 8.1 без снижения безопасности системы.
  2. Ручная установка сертификата в доверенные: Если требуется сохранить именно старый пакет, найдем файл драйвера (с расширением .cat или .sys), перейдем в его свойства на вкладку «Цифровые подписи», выделим сертификат, нажмем «Сведения» → «Просмотр сертификата» → «Установить сертификат». Выберем расположение «Локальный компьютер» и принудительно поместим его в хранилище «Доверенные корневые центры сертификации», а затем повторно в «Доверенные издатели».
  3. Перевод системы в тестовый режим: Чтобы Windows постоянно разрешала запуск драйверов без перекрестной подписи Microsoft, можно перевести ее в тестовый режим работы. Для этого в командной строке от имени администратора выполним команду:

bcdedit /set testsigning on

Обратите внимание: чтобы команда сработала, в UEFI BIOS материнской платы должна быть отключена опция Secure Boot.

Надежные альтернативы RDP-пробросу через интернет

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

  1. Тонкий клиент 1С: Информационная база публикуется на веб-сервере. На клиентском ПК с Windows 8.1 запускается тонкий клиент 1С, а драйвер кассы подключается локально по прямому проводу USB. Обмен с базой происходит по протоколу HTTP/HTTPS, что полностью исключает проблемы с пробросом оборудования.
  2. TCP/IP-мосты (COM-over-IP): Использование специализированных служб туннелирования COM-портов через TCP. Они самостоятельно управляют буферизацией и прозрачно восстанавливают сессию при обрывах связи.
  3. Прямое сетевое подключение ККТ через VPN: При наличии в кассе платы Ethernet или Wi-Fi аппарат подключается в локальную сеть магазина, а удаленный сервер взаимодействует с ним по фиксированному IP-адресу через защищенный VPN-канал (WireGuard, OpenVPN), минуя виртуальные COM-порты.
← На главную