Matthew Harrold
2013-Nov-17 18:26 UTC
[libvirt-users] Unable to use more than 4 serial devices at once.
Hi All. I'm trying to setup a guest within my hypervisor that acts as a Console Server, using 10 USB to Serial adapters. The Host is all setup and can access each Serial Port without problems. I have attempted to add the Serial Connections to a Guest, using both Virtual Machine Manager and by editing the .XML file, and I can add up to 4 Serial devices (Including one for console access to the guest) without any issues at all. However when I try to add a fifth , the virtual machine refuses to start *The Host-* Distro: Ubuntu 13.04 Kernel: 3.8.0-33-generic libvirtd: 1.0.2 QEMU:1.4.0 (Debian 1.4.0+dfsg-1expubuntu4) The log- *4 Serial Devices* 2013-11-17 17:37:45.901+0000: starting up LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -name Ubuntu12.04-Cisco -S -M pc-1.0 -m 1024 -smp 2,sockets=2,cores=1,threads=1 -uuid 1837c56f-6f84-2abe-8bdd-d7c974803b84 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Ubuntu12.04-Cisco.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/mnt/DiskRepo/Ubuntu12.04-TFTP.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=31,id=hostnet0,vhost=on,vhostfd=32 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e6:9c:c0,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev tty,id=charserial1,path=/dev/c1841-A -device isa-serial,chardev=charserial1,id=serial1 -chardev tty,id=charserial2,path=/dev/c2620-A -device isa-serial,chardev=charserial2,id=serial2 -chardev tty,id=charserial3,path=/dev/c2620-B -device isa-serial,chardev=charserial3,id=serial3 -vnc 0.0.0.0:0 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 W: kvm binary is deprecated, please use qemu-system-x86_64 instead char device redirected to /dev/pts/0 (label charserial0) *5 Serial Devices* 2013-11-17 18:05:59.925+0000: starting up LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -name Ubuntu12.04-Cisco -S -M pc-1.0 -m 1024 -smp 2,sockets=2,cores=1,threads=1 -uuid 1837c56f-6f84-2abe-8bdd-d7c974803b84 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Ubuntu12.04-Cisco.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/mnt/DiskRepo/Ubuntu12.04-TFTP.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=31,id=hostnet0,vhost=on,vhostfd=32 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e6:9c:c0,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev tty,id=charserial1,path=/dev/c1841-A -device isa-serial,chardev=charserial1,id=serial1 -chardev tty,id=charserial2,path=/dev/c2620-A -device isa-serial,chardev=charserial2,id=serial2 -chardev tty,id=charserial3,path=/dev/c2620-B -device isa-serial,chardev=charserial3,id=serial3 -chardev tty,id=charserial4,path=/dev/c2950-A -device isa-serial,chardev=charserial4,id=serial4 -vnc 0.0.0.0:0 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 W: kvm binary is deprecated, please use qemu-system-x86_64 instead char device redirected to /dev/pts/0 (label charserial0) qemu-system-x86_64: -device isa-serial,chardev=charserial4,id=serial4: Device 'isa-serial' could not be initialized 2013-11-17 18:06:00.314+0000: shutting down Does anyone have any idea what's causing this? I have attempted using different Serial to USB adapters to rule out a hardware / configuration issue on one of the adapters, but it makes no difference. If I try to start more than 4 Serial Devices, it refuses to start up. Thanks for your time, Matthew
Cole Robinson
2013-Nov-17 19:44 UTC
Re: [libvirt-users] Unable to use more than 4 serial devices at once.
On 11/17/2013 01:26 PM, Matthew Harrold wrote:> Hi All. > > I'm trying to setup a guest within my hypervisor that acts as a Console > Server, using 10 USB to Serial adapters. The Host is all setup and can access > each Serial Port without problems. > > I have attempted to add the Serial Connections to a Guest, using both Virtual > Machine Manager and by editing the .XML file, and I can add up to 4 Serial > devices (Including one for console access to the guest) without any issues at > all. However when I try to add a fifth , the virtual machine refuses to start > > _The Host-_ > > Distro: Ubuntu 13.04 > Kernel: 3.8.0-33-generic > libvirtd: 1.0.2 > QEMU:1.4.0 (Debian 1.4.0+dfsg-1expubuntu4) > > The log- > > _4 Serial Devices_ > > 2013-11-17 17:37:45.901+0000: starting up > LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin > QEMU_AUDIO_DRV=none /usr/bin/kvm -name Ubuntu12.04-Cisco -S -M pc-1.0 -m 1024 > -smp 2,sockets=2,cores=1,threads=1 -uuid 1837c56f-6f84-2abe-8bdd-d7c974803b84 > -no-user-config -nodefaults -chardev > socket,id=charmonitor,path=/var/lib/libvirt/qemu/Ubuntu12.04-Cisco.monitor,server,nowait > -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown > -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive > file=/mnt/DiskRepo/Ubuntu12.04-TFTP.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 > -device > virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 > -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device > ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev > tap,fd=31,id=hostnet0,vhost=on,vhostfd=32 -device > virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e6:9c:c0,bus=pci.0,addr=0x3 -chardev > pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev > tty,id=charserial1,path=/dev/c1841-A -device > isa-serial,chardev=charserial1,id=serial1 -chardev > tty,id=charserial2,path=/dev/c2620-A -device > isa-serial,chardev=charserial2,id=serial2 -chardev > tty,id=charserial3,path=/dev/c2620-B -device > isa-serial,chardev=charserial3,id=serial3 -vnc 0.0.0.0:0 <http://0.0.0.0:0> > -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 > W: kvm binary is deprecated, please use qemu-system-x86_64 instead > char device redirected to /dev/pts/0 (label charserial0) > > > _5 Serial Devices_ > > 2013-11-17 18:05:59.925+0000: starting up > LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin > QEMU_AUDIO_DRV=none /usr/bin/kvm -name Ubuntu12.04-Cisco -S -M pc-1.0 -m 1024 > -smp 2,sockets=2,cores=1,threads=1 -uuid 1837c56f-6f84-2abe-8bdd-d7c974803b84 > -no-user-config -nodefaults -chardev > socket,id=charmonitor,path=/var/lib/libvirt/qemu/Ubuntu12.04-Cisco.monitor,server,nowait > -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown > -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive > file=/mnt/DiskRepo/Ubuntu12.04-TFTP.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 > -device > virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 > -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device > ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev > tap,fd=31,id=hostnet0,vhost=on,vhostfd=32 -device > virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e6:9c:c0,bus=pci.0,addr=0x3 -chardev > pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev > tty,id=charserial1,path=/dev/c1841-A -device > isa-serial,chardev=charserial1,id=serial1 -chardev > tty,id=charserial2,path=/dev/c2620-A -device > isa-serial,chardev=charserial2,id=serial2 -chardev > tty,id=charserial3,path=/dev/c2620-B -device > isa-serial,chardev=charserial3,id=serial3 -chardev > tty,id=charserial4,path=/dev/c2950-A -device > isa-serial,chardev=charserial4,id=serial4 -vnc 0.0.0.0:0 <http://0.0.0.0:0> > -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 > W: kvm binary is deprecated, please use qemu-system-x86_64 instead > char device redirected to /dev/pts/0 (label charserial0) > qemu-system-x86_64: -device isa-serial,chardev=charserial4,id=serial4: Device > 'isa-serial' could not be initialized > 2013-11-17 18:06:00.314+0000: shutting down > > Does anyone have any idea what's causing this? I have attempted using > different Serial to USB adapters to rule out a hardware / configuration issue > on one of the adapters, but it makes no difference. If I try to start more > than 4 Serial Devices, it refuses to start up. >Pretty sure that's just a qemu or PC limit for isa-serial. The alternative is to use virtio serial which can handle many more ports. - Cole
Cole Robinson
2013-Nov-19 19:39 UTC
Re: [libvirt-users] Unable to use more than 4 serial devices at once.
On 11/17/2013 09:18 PM, Matthew Harrold wrote:> On Sun, Nov 17, 2013 at 7:44 PM, Cole Robinson <crobinso@redhat.com > <mailto:crobinso@redhat.com>> wrote: > On 11/17/2013 01:26 PM, Matthew Harrold wrote: > > Hi All. > > > > I'm trying to setup a guest within my hypervisor that acts as a Console > > Server, using 10 USB to Serial adapters. The Host is all setup and can > access > > each Serial Port without problems. > > > > I have attempted to add the Serial Connections to a Guest, using both > Virtual > > Machine Manager and by editing the .XML file, and I can add up to 4 Serial > > devices (Including one for console access to the guest) without any > issues at > > all. However when I try to add a fifth , the virtual machine refuses to > start > > > > > > Distro: Ubuntu 13.04 > > Kernel: 3.8.0-33-generic > > libvirtd: 1.0.2 > > QEMU:1.4.0 (Debian 1.4.0+dfsg-1expubuntu4) > > > > The log- > > > > _4 Serial Devices_ > > > > 2013-11-17 17:37:45.901+0000: starting up > > LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin > > QEMU_AUDIO_DRV=none /usr/bin/kvm -name Ubuntu12.04-Cisco -S -M pc-1.0 -m > 1024 > > -smp 2,sockets=2,cores=1,threads=1 -uuid > 1837c56f-6f84-2abe-8bdd-d7c974803b84 > > -no-user-config -nodefaults -chardev > > > socket,id=charmonitor,path=/var/lib/libvirt/qemu/Ubuntu12.04-Cisco.monitor,server,nowait > > -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown > > -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive > > > file=/mnt/DiskRepo/Ubuntu12.04-TFTP.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 > > -device > > > virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 > > -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device > > ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev > > tap,fd=31,id=hostnet0,vhost=on,vhostfd=32 -device > > > virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e6:9c:c0,bus=pci.0,addr=0x3 > -chardev > > pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 > -chardev > > tty,id=charserial1,path=/dev/c1841-A -device > > isa-serial,chardev=charserial1,id=serial1 -chardev > > tty,id=charserial2,path=/dev/c2620-A -device > > isa-serial,chardev=charserial2,id=serial2 -chardev > > tty,id=charserial3,path=/dev/c2620-B -device > > isa-serial,chardev=charserial3,id=serial3 -vnc 0.0.0.0:0 > <http://0.0.0.0:0> <http://0.0.0.0:0> > > -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 > > W: kvm binary is deprecated, please use qemu-system-x86_64 instead > > char device redirected to /dev/pts/0 (label charserial0) > > > > > > _5 Serial Devices_ > > > > 2013-11-17 18:05:59.925+0000: starting up > > LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin > > QEMU_AUDIO_DRV=none /usr/bin/kvm -name Ubuntu12.04-Cisco -S -M pc-1.0 -m > 1024 > > -smp 2,sockets=2,cores=1,threads=1 -uuid > 1837c56f-6f84-2abe-8bdd-d7c974803b84 > > -no-user-config -nodefaults -chardev > > > socket,id=charmonitor,path=/var/lib/libvirt/qemu/Ubuntu12.04-Cisco.monitor,server,nowait > > -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown > > -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive > > > file=/mnt/DiskRepo/Ubuntu12.04-TFTP.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 > > -device > > > virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 > > -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device > > ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev > > tap,fd=31,id=hostnet0,vhost=on,vhostfd=32 -device > > > virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e6:9c:c0,bus=pci.0,addr=0x3 > -chardev > > pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 > -chardev > > tty,id=charserial1,path=/dev/c1841-A -device > > isa-serial,chardev=charserial1,id=serial1 -chardev > > tty,id=charserial2,path=/dev/c2620-A -device > > isa-serial,chardev=charserial2,id=serial2 -chardev > > tty,id=charserial3,path=/dev/c2620-B -device > > isa-serial,chardev=charserial3,id=serial3 -chardev > > tty,id=charserial4,path=/dev/c2950-A -device > > isa-serial,chardev=charserial4,id=serial4 -vnc 0.0.0.0:0 > <http://0.0.0.0:0> <http://0.0.0.0:0> > > -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 > > W: kvm binary is deprecated, please use qemu-system-x86_64 instead > > char device redirected to /dev/pts/0 (label charserial0) > > qemu-system-x86_64: -device isa-serial,chardev=charserial4,id=serial4: > Device > > 'isa-serial' could not be initialized > > 2013-11-17 18:06:00.314+0000: shutting down > > > > Does anyone have any idea what's causing this? I have attempted using > > different Serial to USB adapters to rule out a hardware / configuration > issue > > on one of the adapters, but it makes no difference. If I try to start more > > than 4 Serial Devices, it refuses to start up. > > > Pretty sure that's just a qemu or PC limit for isa-serial. The alternative is > to use virtio serial which can handle many more ports. > - Cole > > > That sounds likely. Is there any documentation covering 'binding' a host > serial port to a virtio serial device? I've search but not found anything > relevant. >Hmm, that's a good question. Actually it doesn't look like there is any way to have <serial> use virtio. You can use channel to get something close, like: <channel type='pty'> <target type='virtio' name='my.port.2'/> </channel> However it won't appear as ttyS0 in the guest so it might not fit your usecase. Recent qemu has a PCI serial device which should allow for more than 4 serial ports, but support isn't wired up in libvirt yet. - Cole