Home Linux Community Forums Hardware I/O Devices CentOS-6.2 KVM connecting to serial ports

CentOS-6.2 KVM connecting to serial ports

Link to this post 06 Feb 12

We wish to implement a fax server as a virtual guest. Do accomplsih this we are trying to configure serial ports on a virtual guest running CentOS-6.2. The host system is also running CentOS-6.2. The multi-port serial pci card is identified as:

# setserial -g /dev/ttyS*
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16950/954, Port: 0xd040, IRQ: 17
/dev/ttyS2, UART: 16950/954, Port: 0xd048, IRQ: 17
/dev/ttyS3, UART: 16950/954, Port: 0xd050, IRQ: 17

# virsh nodedev-dumpxml pci_0000_00_03_0
<capability type='pci'>
<product id='0x2e24'>4 Series Chipset HECI Controller</product>
<vendor id='0x8086'>Intel Corporation</vendor>
<capability type='virt_functions'>

How does one configure a CentOS-6.2 guest to use the four ports provided by this card? We cannot seem to locate a clear description of the procedure.

I tried initially to assign one of the host character devs (/dev/ttyS1) to an additional serial port defined through virt-manager (Serial 2). However, this results in the following error when we try to start the guest:

Error starting domain: internal error process exited while connecting to monitor: char device redirected to /dev/pts/5
isa irq 4 already assigned.

Contents of the relevant qemu log file.

2012-02-06 14:19:33.430: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 4096 -smp 1,sockets=1,cores=1,threads=1 -name -uuid 6409d721-cfcf-2169-f65e-8f583b685f58 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/dev/vg_vhost01/lv_vm_inet08.harte-lyne.ca_00,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=22,id=hostnet0,vhost=on,vhostfd=24 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:bf:e9:ac,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev tty,id=charserial1,path=/dev/ttyS1 -device isa-serial,chardev=charserial1,id=serial1 -chardev tty,id=charserial2,path=/dev/ttyS2 -device isa-serial,chardev=charserial2,id=serial2 -usb -device usb-tablet,id=input0 -vnc -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
char device redirected to /dev/pts/5
isa irq 4 already assigned

How does one access additional serial devices from a virtual guest?

Link to this post 19 Apr 12

I don't know about KVM, but VirtualBox has the capability for a virtual machine to access serial ports as well as USB devices. Myself, I am still using VirtualBox, and have been without problems for over 4 years. I run Windows virtual machines on Linux, and Linux virtual machines on Windows...

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board