Подключение фискальных регистраторов (например, Атол 11Ф) к удаленному серверу терминалов через RDP по открытому интернет-каналу — распространенная, но капризная в настройке схема. Нередко системные администраторы сталкиваются с ситуацией, когда на клиенте с Windows 7 все запускается с первой попытки, а на Windows 8.1 x64 виртуальный COM-порт пробрасывается в сессию, но автоматический поиск оборудования упорно не находит кассу. Дополнительно ситуацию осложняет обязательная проверка цифровой подписи драйверов (Driver Signature Enforcement), из-за которой драйвер VCP (Virtual COM Port) «слетает» после первой же перезагрузки.
Разберем детально каждую из этих проблем, выясним их технические причины и рассмотрим пошаговые способы исправления.
Проанализируем механику работы кнопки «Поиск оборудования» в тесте драйвера ККМ (ДТО). Эта функция последовательно перебирает все доступные в системе COM-порты на различных скоростях (от 1200 до 115200 бод), отправляя короткие запросы на проверку связи.
В локальной среде ответ от устройства по шине USB возвращается за доли миллисекунды. Однако при передаче данных через RDP поверх интернета возникает сетевая задержка (RTT/ping) и внутренние накладные расходы протокола перенаправления портов. Механизм быстрого поиска оборудования просто не успевает дождаться ответа в рамках жестко зашитого короткого квантового интервала и считает, что к порту ничего не подключено. Отсутствие результата в окне поиска при пробросе через интернет — это штатное поведение механизма, а не признак неисправности оборудования.
Вместо использования автоматического поиска оборудования настроим параметры соединения вручную. Выполним следующие действия:
115200 бод, для старых версий может быть задано 9600 или 4800).Таймаут (Timeout). По умолчанию в драйвере может стоять 100–300 мс, чего недостаточно при интернет-подключении. Установим значение в диапазоне от 1500 до 3000 мс (при нестабильном канале — до 5000 мс).При подключении кассы Атол по USB в системе обычно создаются сразу два виртуальных COM-порта (например, COM14 и COM15). Разберем их назначение:
Если опрашивать порт, занятый службой EoU, устройство никогда не ответит на команды фискализации. Кроме того, служба RDP и старые библиотеки торгового оборудования Windows иногда некорректно обрабатывают двузначные номера портов (COM10 и выше), требующие в ядре операционной системы специального синтаксиса вида \\.\COM14.
Чтобы исключить конфликты, переназначим порт управления на клиенте:
COM1 до COM4.Если драйвер на сервере не видит порт в списке, проверим, попал ли он в терминальную сессию на уровне операционной системы. Для этого откроем командную строку (cmd) внутри RDP-сессии на сервере и выполним команду:
change port /query
Команда выведет сопоставление портов сессии. Запись вида \Device\RdpDrPort\;COMx:y\PRTz подтверждает, что перенаправление портов на стороне сервера отработало успешно. Если в списке портов нет, необходимо проверить групповые политики сервера: параметр «Не разрешать перенаправление COM-портов» должен быть отключен.
Также проверим настройки электропитания на клиентской машине. В «Диспетчере устройств» Windows 8.1 для используемых USB-концентраторов откроем вкладку «Управление электропитанием» и снимем флаг «Разрешить отключение этого устройства для экономии энергии». Это предотвратит случайный сброс виртуального порта при паузах в печати чеков.
В 64-битных редакциях Windows 8.1 включен строгий контроль подписей драйверов режима ядра. Старые дистрибутивы (включая ДТО 8.12) поставлялись с сертификатами на алгоритме SHA-1, которые система после перезагрузки блокирует с «Ошибкой 52» (Windows не удается проверить цифровую подпись драйвера). Рассмотрим правильные способы устранения этой проблемы:
.cat или .sys), перейдем в его свойства на вкладку «Цифровые подписи», выделим сертификат, нажмем «Сведения» → «Просмотр сертификата» → «Установить сертификат». Выберем расположение «Локальный компьютер» и принудительно поместим его в хранилище «Доверенные корневые центры сертификации», а затем повторно в «Доверенные издатели».
bcdedit /set testsigning on
Обратите внимание: чтобы команда сработала, в UEFI BIOS материнской платы должна быть отключена опция Secure Boot.
Штатный проброс последовательных портов через RDP поверх нестабильного интернет-соединения считается наименее надежным способом подключения торгового оборудования. При сетевых потерях порт часто зависает, требуя полного перезапуска терминальной сессии. Если стабильность критична, разберем альтернативные конфигурации: