Назад | Перейти на главную страницу

Подключение кабеля Hyper-V USB-Serial к виртуальной машине

Windows Server 2012r2 под управлением Hyper-V с 32-разрядной виртуальной машиной WinXP. Есть конкретное приложение, которое будет работать только на WinXP, которое использует последовательный разъем для взаимодействия со старым дизельным регулятором.

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

Среди других ресурсов:

https://social.technet.microsoft.com/Forums/windowsserver/en-US/171143f5-716b-4c4b-8f2b-ad05bf7fd147/attaching-serial-ports-to-hyperv-?forum=winserverhyperv

https://charbelnemnom.com/2014/10/hyper-v-enhanced-session-mode-show-options-issue-hyperv/

https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/learn-more/use-local-resources-on-hyper-v-virtual-machine-with-vmconnect

Установлены инструменты интеграции. Расширенный режим включен для машины и пользователей.

На хосте в 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.

Вам нужно запустить это как пользователь с правами администратора.

https://github.com/tdhoward/COMpipe