RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 870439 - qemu-ga: win32: isa-serial port doesn't work
Summary: qemu-ga: win32: isa-serial port doesn't work
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Yvugenfi@redhat.com
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 1062519 1073208 1164706
TreeView+ depends on / blocked
 
Reported: 2012-10-26 13:37 UTC by Luiz Capitulino
Modified: 2014-11-17 08:20 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1062519 1164706 (view as bug list)
Environment:
Last Closed: 2014-06-13 10:52:41 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Luiz Capitulino 2012-10-26 13:37:08 UTC
Description of problem:

Serial port support in qemu-ga for Windows has two bugs that prevent it from working:

 1. qemu-ga -m option only accepts virtio-serial

 2. even when getting item 1 fixed, qemu-ga doesn't communicate over isa-serial (tested only on Windows 2008)

This happens with upstream (head a8170e5e97) and qemu-kvm-0.12.1.2-2.331.el6.

How reproducible:


Steps to Reproduce:
1. Start a Windows guest with serial port setup, then run qemu-ga.exe:

C:\qemu-ga -m isa-serial -p COM1

2. In the host, open the serial port unix socket (assuming you have configured it that way):

# rlwrap -C qmp socat STDIO UNIX:/var/lib/libvirt/qemu/qga.sock

3. Try to send some command to qemu-ga:

{ "execute": "guest-info" }
  
Actual results:
qemu-ga doesn't respond

Expected results:
qemu-ga responds to commands

Additional info:

1. I've built qemu-ga.exe from sources and copied it to the Windows VM.

2. You can test if isa-serial port is working by opening hyperterminal on COM1 and type some string and see it on host (or vice-versa)

Comment 1 Luiz Capitulino 2012-10-26 17:13:34 UTC
Let me emphasize that I've tested only on Windows 2008. This could work in other versions of Windows (although I really doubt it does).

Comment 2 Miki Mishael 2014-01-05 18:06:10 UTC
Hi,

I have made a patch to upstream:
http://lists.nongnu.org/archive/html/qemu-devel/2014-01/msg00227.html

Comment 3 Miki Mishael 2014-02-05 20:05:46 UTC
Update to V2:
http://lists.nongnu.org/archive/html/qemu-devel/2014-01/msg01823.html

(In reply to Miki Mishael from comment #2)
> Hi,
> 
> I have made a patch to upstream:
> http://lists.nongnu.org/archive/html/qemu-devel/2014-01/msg00227.html

Comment 8 Qunfang Zhang 2014-02-20 10:39:44 UTC
This bug could be verified pass on qemu-ga-win-7.0.5. 

Steps:
1. Boot up guest with isa serial:

#  /usr/libexec/qemu-kvm -cpu SandyBridge -M pc -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -name rhel6.4-64 -uuid 9a0e67ec-f286-d8e7-0548-0c1c9ec93009 -nodefconfig -nodefaults -monitor stdio -rtc base=utc,clock=host,driftfix=slew -no-kvm-pit-reinjection -no-shutdown -drive file=/root/win7-32-virtio.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -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,id=hostnet0,vhost=on -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:d5:51:8a,bus=pci.0,addr=0x3 -chardev socket,id=charserial0,server,nowait,path=/tmp/isa-serial -device isa-serial,chardev=charserial0,id=serial0  -vnc :10 -vga std  -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -qmp tcp:0:5555,server,nowait -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0

2. Install qemu-ga-win msi.

3. Inside guest:
$ qemu-ga.ext -m isa-serial -p COM1

4. On host:
# nc -U /tmp/isa-seiral

5. Send some commands to guest in the terminal of step 4. 

[root@localhost ~]# nc -U /tmp/isa-serial 

{"execute":"guest-ping"}
{"return": {}}

{"execute":"guest-info"}
{"return": {"version": "0.12.1", "supported_commands": [{"enabled": true, "name": "guest-set-vcpus"}, {"enabled": true, "name": "guest-get-vcpus"}, {"enabled": true, "name": "guest-network-get-interfaces"}, {"enabled": true, "name": "guest-suspend-hybrid"}, {"enabled": true, "name": "guest-suspend-ram"}, {"enabled": true, "name": "guest-suspend-disk"}, {"enabled": true, "name": "guest-fstrim"}, {"enabled": true, "name": "guest-fsfreeze-thaw"}, {"enabled": true, "name": "guest-fsfreeze-freeze"}, {"enabled": true, "name": "guest-fsfreeze-status"}, {"enabled": true, "name": "guest-file-flush"}, {"enabled": true, "name": "guest-file-seek"}, {"enabled": true, "name": "guest-file-write"}, {"enabled": true, "name": "guest-file-read"}, {"enabled": true, "name": "guest-file-close"}, {"enabled": true, "name": "guest-file-open"}, {"enabled": true, "name": "guest-shutdown"}, {"enabled": true, "name": "guest-info"}, {"enabled": true, "name": "guest-set-time"}, {"enabled": true, "name": "guest-get-time"}, {"enabled": true, "name": "guest-ping"}, {"enabled": true, "name": "guest-sync"}, {"enabled": true, "name": "guest-sync-delimited"}]}}


{"execute":"guest-sync"}
{"error": {"desc": "Invalid parameter type, expected: integer"}}

  {"execute":"guest-sync", "arguments":{"id":1234}}
{"return": 1234}

{"execute":"guest-sync-delimited", "arguments":{"id":1234}}
�{"return": 1234}
 
{ "execute":"guest-shutdown","arguments":{"mode":"reboot"}} ==> Guest reboots here. 

I also tried to reproduce it with older version qemu-ga-win-7.0.1 and qemu-ga-win-7.0.2, but it fails to install and prompts "RegisterProvider failed. (Error:80042303)(null)". 

As in the latest qemu-ga-win-7.0.5, it could be installed successfully and isa-serial port works well. So I will verified this bug.

Comment 9 Ludek Smid 2014-06-13 10:52:41 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.


Note You need to log in before you can comment on or make changes to this bug.