CentOS-6.2 KVM connecting to serial ports
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:
/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
<device>
<name>pci_0000_00_03_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>3</slot>
<function>0</function>
<product id='0x2e24'>4 Series Chipset HECI Controller</product>
<vendor id='0x8086'>Intel Corporation</vendor>
<capability type='virt_functions'>
</capability>
</capability>
</device>
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.
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 inet08.harte-lyne.ca -uuid 6409d721-cfcf-2169-f65e-8f583b685f58 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/inet08.harte-lyne.ca.monitor,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 127.0.0.1:4 -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?
Comments
-
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...0
Categories
- All Categories
- 176 LFX Mentorship
- 176 LFX Mentorship: Linux Kernel
- 750 Linux Foundation IT Professional Programs
- 373 Cloud Engineer IT Professional Program
- 169 Advanced Cloud Engineer IT Professional Program
- 74 DevOps IT Professional Program - Discontinued
- 4 DevOps & GitOps IT Professional Program
- 99 Cloud Native Developer IT Professional Program
- 7.6K Training Courses & Learning Paths
- 1 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 3 Cloud & Containers Training
- 1 Cybersecurity Training
- 1 DevOps & Site-Reliability Training
- 1 Linux Kernel Development Training
- 1 Networking Training
- 1 Open Source Best Practice Training
- 1 System Administration Training
- 1 System Engineering Training
- 1 Web & Application Development Training
- 792 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 87 Storage
- 768 Linux Distributions
- 81 Debian
- 67 Fedora
- 22 Linux Mint
- 13 Mageia
- 24 openSUSE
- 150 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 465 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 98 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 106 Mobile Computing
- 18 Android
- 73 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 392 Off Topic
- 121 Introductions
- 181 Small Talk
- 29 Study Material
- 949 Programming and Development
- 310 Kernel Development
- 621 Software Development
- 982 Software
- 374 Applications
- 182 Command Line
- 5 Compiling/Installing
- 68 Games
- 317 Installation
- Archived
- 2 LFD140 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)