Comment 13 for bug 578527

franz-unix (franz-unix) wrote :

First sorry for the bad english. I have a similar problem with Ubuntu Lucid 10.04 amd64 Desktop edition using KVM.
Any virtual machine with a serial port (host device /dev/ttyS0) configured fails to start. Removing the serial port the VM works very well.
I use virt manager for the creation and management of the virtual machines .

This is the configuration file of the VM running Ubuntu Lucid 10.04 amd64 (like the host) but server edition

<domain type='kvm'>
  <name>deluge</name>
  <uuid>d8ada746-0538-089e-1215-0a1188977c81</uuid>
  <memory>262144</memory>
  <currentMemory>262144</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-0.12'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source dev='/dev/lvmforkvm/deluge'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>
    <interface type='bridge'>
      <mac address='00:54:00:35:b8:12'/>
      <source bridge='br0'/>
      <model type='virtio'/>
    </interface>
    <serial type='dev'>
      <source path='/dev/ttyS0'/>
      <target port='0'/>
    </serial>
    <console type='dev'>
      <source path='/dev/ttyS0'/>
      <target port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes'/>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
    </video>
  </devices>
</domain>

And this is the error message that virt manager shows

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/engine.py", line 588, in run_domain
    vm.startup()
  File "/usr/share/virt-manager/virtManager/domain.py", line 150, in startup
    self._backend.create()
  File "/usr/lib/python2.6/dist-packages/libvirt.py", line 300, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: monitor socket did not show up.: Connection refused

I agree with Fjodor, the importance should be heightened. Without serial port virtualization a lot of functionalities could be lost. For example i need the serial port for the installation of a fax server (hylafax) that is using a modem connected to the host's physical serial port (/dev/ttyS0).
If you need to do some tests I can do that