Bug 1062519

Summary: qemu-ga: win32: isa-serial port doesn't work
Product: Red Hat Enterprise Linux 6 Reporter: Sibiao Luo <sluo>
Component: virtio-winAssignee: Yvugenfi <yvugenfi>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.5CC: acathrow, bcao, bsarathy, flang, hhuang, huding, juzhang, lcapitulino, mkenneth, mmishael, qzhang, sluo, virt-maint, yvugenfi
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 870439 Environment:
Last Closed: 2014-04-20 09:10:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 870439    
Bug Blocks:    
Attachments:
Description Flags
Prompt dialog box message: Error 1053 none

Comment 1 Sibiao Luo 2014-02-07 07:14:51 UTC
I also tried this issue on rhel6.5 host, but met a 'unsupported communication method' error when specified the transport method and device/socket path. Please correct me if any mistake, thanks in advance.

host info:
# uname -r && rpm -q qemu-kvm-rhev
2.6.32-425.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.415.el6.x86_64
guest info:
win2008-64bit
qemu-ga-win-6.5-5
virtio-win-prewhql-0.1-74

Steps:
1. Start a Windows guest with serial port setup, then run qemu-ga.exe:
# /usr/libexec/qemu-kvm -M pc -cpu SandyBridge -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -no-kvm-pit-reinjection...-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait -device virtserialport,chardev=channel1,name=org.qemu.guest_agent.0,bus=virtio-serial0.0,id=port1,nr=1

C:\Program Files\qemu-ga>qemu-ga.exe -m isa-serial -p \\.\Global\org.qemu.gues

2. In the host, open the serial port unix socket:

# nc -U /tmp/helloworld1

3. Try to send some command to qemu-ga:
{ "execute": "guest-info" }

Results:
after step 1, met a 'unsupported communication method' error and fail to  specify the transport method and device/socket path.
C:\Program Files\qemu-ga>qemu-ga.exe -m isa-serial -p \\.\Global\org.qemu.gues
t_agent.0
1391813635.734375: critical: unsupported communication method
1391813635.734375: critical: error opening channel
1391813635.734375: critical: failed to create guest agent channel
1391813635.734375: critical: failed to initialize guest agent channel

Best Regards,
sluo

Comment 2 Sibiao Luo 2014-03-05 06:12:54 UTC
Tried the latest qemu-ga-win-6.5-7 with the same steps as bug 870439#c8, but still hit this issue.

host info:
# uname -r && rpm -q qemu-kvm-rhev
2.6.32-429.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.420.el6.x86_64
guest info:
win7-64bit
qemu-ga-win-6.5-7

Steps:
the same to bug 870439#c8

e.g:# /usr/libexec/qemu-kvm....-chardev socket,id=charserial0,server,nowait,path=/tmp/isa-serial -device isa-serial,chardev=charserial0,id=serial0

guest ] C:\Program Files\qemu-ga>qemu-ga.exe -m isa-serial -p COM1
1394010184.984375: critical: unsupported communication method
1394010185.0: critical: error opening channel
1394010185.0: critical: failed to create guest agent channel
1394010185.0: critical: failed to initialize guest agent channel

Best Regards,
sluo

Comment 3 Yvugenfi@redhat.com 2014-04-17 11:43:46 UTC
Hello All,

I didn't backport the fix to 6.5 as it was a new feature in the end of the release cycle. So it is only in the releases of 7.x.

As currently we decided to use 7.x versions for 6.x z streams - it became automatically available for 6.x as well. 
Please test latest build qemu-ga-win-7.8 https://brewweb.devel.redhat.com/buildinfo?buildID=348181 (the feature was introduced in qemu-ga-win-7.0-3).

Best regards,
Yan.

Comment 4 Sibiao Luo 2014-04-18 03:02:04 UTC
(In reply to Yan Vugenfirer from comment #3)
> Hello All,
> 
> I didn't backport the fix to 6.5 as it was a new feature in the end of the
> release cycle. So it is only in the releases of 7.x.
> 
> As currently we decided to use 7.x versions for 6.x z streams - it became
> automatically available for 6.x as well. 
> Please test latest build qemu-ga-win-7.8
> https://brewweb.devel.redhat.com/buildinfo?buildID=348181 (the feature was
> introduced in qemu-ga-win-7.0-3).
> 
Also tried the qemu-ga-win-7.8, did not meet a 'unsupported communication method' error but qemu-ga doesn't respond at all.

host info:
# uname -r && rpm -q qemu-kvm-rhev
2.6.32-448.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.424.el6.x86_64
guest info:
win7 64bit
qemu-ga-win-7.0-8
virtio-win-prewhql-0.1-79

e.g:# /usr/libexec/qemu-kvm...-chardev socket,id=charserial0,server,nowait,path=/tmp/isa-serial -device isa-serial,chardev=charserial0,id=serial0 

guest ] C:\Program Files\qemu-ga>qemu-ga.exe -m isa-serial -p COM1

# nc -U /tmp/isa-serial
{ "execute": "guest-ping" }
{ "execute": "guest-info" }
{"execute":"guest-sync", "arguments":{"id":1234}}

^C

Best Regards,
sluo

Comment 5 Yvugenfi@redhat.com 2014-04-20 09:10:22 UTC
Let's close the bug as it is opened for RHEL6.6.

RHEL6.6 will use the qemu-ga-win-7.x version.

Thanks!

Comment 6 Sibiao Luo 2014-05-13 05:31:05 UTC
(In reply to Yan Vugenfirer from comment #5)
> Let's close the bug as it is opened for RHEL6.6.
> 
> RHEL6.6 will use the qemu-ga-win-7.x version.
> 
> Thanks!
Hi Yan, 

   Your said that the isa-serial port should work well if customers use the latest qemu-ga-win-7.x version in rhel6.6 host. Could you help see comment #4, the qemu-ga has no any responds in host side when i used the qemu-ga-win-7.x version, looking forward to your answers, thanks.

Best Regards,
sluo

Comment 7 Yvugenfi@redhat.com 2014-06-23 12:12:14 UTC
(In reply to Sibiao Luo from comment #4)
> (In reply to Yan Vugenfirer from comment #3)
> > Hello All,
> > 
> > I didn't backport the fix to 6.5 as it was a new feature in the end of the
> > release cycle. So it is only in the releases of 7.x.
> > 
> > As currently we decided to use 7.x versions for 6.x z streams - it became
> > automatically available for 6.x as well. 
> > Please test latest build qemu-ga-win-7.8
> > https://brewweb.devel.redhat.com/buildinfo?buildID=348181 (the feature was
> > introduced in qemu-ga-win-7.0-3).
> > 
> Also tried the qemu-ga-win-7.8, did not meet a 'unsupported communication
> method' error but qemu-ga doesn't respond at all.
> 
> host info:
> # uname -r && rpm -q qemu-kvm-rhev
> 2.6.32-448.el6.x86_64
> qemu-kvm-rhev-0.12.1.2-2.424.el6.x86_64
> guest info:
> win7 64bit
> qemu-ga-win-7.0-8
> virtio-win-prewhql-0.1-79
> 
> e.g:# /usr/libexec/qemu-kvm...-chardev
> socket,id=charserial0,server,nowait,path=/tmp/isa-serial -device
> isa-serial,chardev=charserial0,id=serial0 
> 
> guest ] C:\Program Files\qemu-ga>qemu-ga.exe -m isa-serial -p COM1
> 
> # nc -U /tmp/isa-serial
> { "execute": "guest-ping" }
> { "execute": "guest-info" }
> {"execute":"guest-sync", "arguments":{"id":1234}}
> 
> ^C
> 
> Best Regards,
> sluo

Tested with 7.0-9 on Windows 2012. I don't see any problem and get response from the guest.

Comment 8 Sibiao Luo 2014-06-24 04:54:10 UTC
(In reply to Yan Vugenfirer from comment #7)
> (In reply to Sibiao Luo from comment #4)
> > (In reply to Yan Vugenfirer from comment #3)
> > > Hello All,
> > > 
> > > I didn't backport the fix to 6.5 as it was a new feature in the end of the
> > > release cycle. So it is only in the releases of 7.x.
> > > 
> > > As currently we decided to use 7.x versions for 6.x z streams - it became
> > > automatically available for 6.x as well. 
> > > Please test latest build qemu-ga-win-7.8
> > > https://brewweb.devel.redhat.com/buildinfo?buildID=348181 (the feature was
> > > introduced in qemu-ga-win-7.0-3).
> > > 
> > Also tried the qemu-ga-win-7.8, did not meet a 'unsupported communication
> > method' error but qemu-ga doesn't respond at all.
> > 
> > host info:
> > # uname -r && rpm -q qemu-kvm-rhev
> > 2.6.32-448.el6.x86_64
> > qemu-kvm-rhev-0.12.1.2-2.424.el6.x86_64
> > guest info:
> > win7 64bit
> > qemu-ga-win-7.0-8
> > virtio-win-prewhql-0.1-79
> > 
> > e.g:# /usr/libexec/qemu-kvm...-chardev
> > socket,id=charserial0,server,nowait,path=/tmp/isa-serial -device
> > isa-serial,chardev=charserial0,id=serial0 
> > 
> > guest ] C:\Program Files\qemu-ga>qemu-ga.exe -m isa-serial -p COM1
> > 
> > # nc -U /tmp/isa-serial
> > { "execute": "guest-ping" }
> > { "execute": "guest-info" }
> > {"execute":"guest-sync", "arguments":{"id":1234}}
> > 
> > ^C
> > 
> > Best Regards,
> > sluo
> 
> Tested with 7.0-9 on Windows 2012. I don't see any problem and get response
> from the guest.
Still hit it with qemu-ga-win-7.0-9 as i check the qemu guest agent service fail to start at all. The prompt dialog box message as following:

Windows could not start the QEMU Guest Agent service on Local Computer.

Error 1053: The service did not respond to the start or control request in a timely fashion.

host info:
# uname -r && rpm -q qemu-kvm-rhev
2.6.32-448.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.424.el6.x86_64
guest info:
win7 64bit
qemu-ga-win-7.0-9
virtio-win-prewhql-0.1-79

Best Regards,
sluo

Comment 9 Sibiao Luo 2014-06-24 04:56:18 UTC
Created attachment 911637 [details]
Prompt dialog box message: Error 1053

Comment 10 Yvugenfi@redhat.com 2014-06-24 08:11:55 UTC
When the service is installed it is configured to work with virtio-serial only.

So if you didn't install virtio-serial - the service will fail to start.

But why it is related to the comment #4? In this comment you started the agent manually (it will not be a service).

Best regards,
Yan.

Comment 11 Sibiao Luo 2014-06-25 04:44:09 UTC
(In reply to Yan Vugenfirer from comment #10)
> When the service is installed it is configured to work with virtio-serial
> only.
> 
> So if you didn't install virtio-serial - the service will fail to start.
I has installed the virtio-serial correctly.
host info:
# uname -r && rpm -q qemu-kvm-rhev
2.6.32-448.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.424.el6.x86_64
guest info:
win2012-64bit
virtio-win-prewhql-0.1-86
qemu-ga-win-7.0-9
> But why it is related to the comment #4? In this comment you started the
> agent manually (it will not be a service).
> 
I installed a new win2012-64bit image and tried it again, but qemu-ga didn't respond at all, I don't know which step i miss.

So i checked the QEMU Guest Agent service in guest which did not starting at all, and i tried to start it manually, but met the prompt dialog box message as following:

Windows could not start the QEMU Guest Agent service on Local Computer.

Error 1053: The service did not respond to the start or control request in a timely fashion.

e.g:# /usr/libexec/qemu-kvm...-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 -chardev socket,id=charserial0,server,nowait,path=/tmp/isa-serial -device isa-serial,chardev=charserial0,id=serial0

guest ] C:\Program Files\qemu-ga>qemu-ga.exe -m isa-serial -p COM1

# nc -U /tmp/isa-serial
{ "execute": "guest-ping" }
{ "execute": "guest-info" }
{"execute":"guest-sync", "arguments":{"id":1234}}

^C

Best Regards,
sluo