LINUX.ORG.RU
ФорумAdmin

KVM проброс последовательного порта в виртуалку не работает


0

1

Доброго времени суток. Вот, неожиданно наткнулся на проблему, второй день уж как безрезультатно. Задача простая - пробросить последовательный порт с мультипортовки в виртуалку. На хосте порт называется /dev/ttyS1, minicom его прекрасно видит, на нём модем (аппаратный), на команды отвечает. В конфиге libvirt пишу, соответственно:

    <serial type='dev'>
      <source path='/dev/ttyS1'/>
      <target port='0'/>
    </serial>
(сразу скажу, что цифра target port значения не имеет), и в виртуалке получаю болт - порт, конечно, есть, но стучаться в него - как в кирпичную стену. При этом, если его направить не в аппаратный последовательный порт, а в виртуальный терминал pty - тогда работает
    <serial type='pty'>
      <target port='0'/>
    </serial>
Если потом найти на хосте этот pty и подключиться тем же minicom-ом, то всё видно с обеих сторон.

Вопрос: это у меня руки или там есть какая-то тонкость, которую я не знаю?

В процессе ковыряния обнаружил следующее: в соответствии с man-ом от kvm-а проброс аппаратного порта должен бы осуществляться с помощью параметра "-serial /dev/ttyS1", на деле же libvirt генерирует нечто монстрообразное: "-chardev tty,id=charserial0,path=/dev/ttyS1 -device isa-serial,chardev=charserial0,id=serial0", может это и правильно, но как-то не задокументировано.

Если никаких других идей нет, подскажите, как можно сделать «перемычку» между тем же /dev/pty/X и /dev/ttyS1 на хосте? interceptty, вроде, должен такое уметь, но он монстрообразный, может что-то попроще есть? Пробросить целиком мультипортовку как PCI-устройство не предлагать.

Ответ на: А что если так? от petav

А так - девайсу pty не нужен параметр source path, поэтому он его игнорирует. Что ещё печальней - ему даже номер pts-устройства передать нельзя, то есть после запуска он прицепится к какому-нибудь /dev/pts/X, где - X- произвольно, и его ещё надо дополнительно разведывать, какой он там получился.

shamus24
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.