Windows Server 2012r2 под управлением Hyper-V с 32-разрядной виртуальной машиной WinXP. Есть конкретное приложение, которое будет работать только на WinXP, которое использует последовательный разъем для взаимодействия со старым дизельным регулятором.
Я исследовал, как направлять COM-порты между гостем и хостом, но я либо делаю это неправильно, либо не понимаю возможностей.
Среди других ресурсов:
https://charbelnemnom.com/2014/10/hyper-v-enhanced-session-mode-show-options-issue-hyperv/
Установлены инструменты интеграции. Расширенный режим включен для машины и пользователей.
На хосте в PowerShell введено:
[System.IO.Directory]::GetFiles("\\.\\pipe\\")
и он вернулся с \\.\pipe\\COM3
для моего USB-последовательного адаптера. В Hyper-V на гостевой XP я отредактировал настройку последовательного порта COM1, выбрав Named Pipe и в поле имени канала ввел \COM3
это вызвало отображение поля Named pipe path: \\.\pipe\\COM3
Затем я подключил последовательный кабель к порту, запустил Putty на гостевой системе от имени администратора, и ничего не отображается, нет взаимодействия. Я запустил Putty как администратор на хосте, и я могу подключиться.
Я убежден, что проблема где-то в «трубопроводе» двух интерфейсов, но не знаю, как устранить неполадки в дальнейшем. Я не уверен, что имеет значение, что соединение хоста является USB-последовательным, и это вызывает проблему с интеграцией с гостем. Любая помощь будет оценена. Я буду внимательно следить за этой веткой, чтобы своевременно предоставлять дополнительную запрошенную информацию.
Заранее спасибо!
Hyper-V предоставляет данные из именованного канала в виртуальную машину как COM-порт. Он не подключает этот именованный канал к COM-порту хоста, который вам понадобится для передачи данных на вашу виртуальную машину.
Я написал программу для Windows, которая работает в ОС хоста и обеспечивает связь между COM-портом хоста и именованным каналом, позволяя вам использовать COM-порт хоста из вашей виртуальной машины Ubuntu.
Вам нужно запустить это как пользователь с правами администратора.