Bug 1392719
Summary: | [virtio-win][vioser]can't install serial driver successfuly on win10-64 guest with q35 machine type(build 128) | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | xiagao | ||||||||||||||
Component: | virtio-win | Assignee: | Ladi Prosek <lprosek> | ||||||||||||||
virtio-win sub component: | virtio-win-prewhql | QA Contact: | Virtualization Bugs <virt-bugs> | ||||||||||||||
Status: | CLOSED ERRATA | Docs Contact: | |||||||||||||||
Severity: | high | ||||||||||||||||
Priority: | high | CC: | ailan, lijin, lprosek, marcel, michen, mtessun, phou, wyu, xiagao | ||||||||||||||
Version: | 7.4 | Keywords: | Regression | ||||||||||||||
Target Milestone: | rc | ||||||||||||||||
Target Release: | 7.4 | ||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||
OS: | Unspecified | ||||||||||||||||
Whiteboard: | |||||||||||||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||||||||||
Doc Text: | Story Points: | --- | |||||||||||||||
Clone Of: | Environment: | ||||||||||||||||
Last Closed: | 2017-08-01 12:53:08 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: | |||||||||||||||||
Bug Blocks: | 1391844, 1395265, 1401400 | ||||||||||||||||
Attachments: |
|
Created attachment 1218386 [details]
install_error2
check device manager:
VirtIO Serial Driver shows yellow bond, and shows "Code 10" and "STATUS_DEVICE_POWER_FAILURE"
refer to attachement -> install_error2
netkvm/balloon/viorng/vioscsi/viostor also hit the same issue. I'll take a look. Hi xiagao, (In reply to xiagao from comment #2) > netkvm/balloon/viorng/vioscsi/viostor also hit the same issue. Are you sure that netkvm, vioscsi, and viostor really hit the same issue as vioserial? I have traced the STATUS_DEVICE_POWER_FAILURE error down to a bug in VirtioLib-WDF which is used only by balloon, vioinput, viorng, and vioserial. Can you please double-check and post the QEMU command line if you really get this error with the other drivers? Thanks! Ladi (In reply to Ladi Prosek from comment #6) > Hi xiagao, > > (In reply to xiagao from comment #2) > > netkvm/balloon/viorng/vioscsi/viostor also hit the same issue. > > Are you sure that netkvm, vioscsi, and viostor really hit the same issue as > vioserial? I have traced the STATUS_DEVICE_POWER_FAILURE error down to a bug > in VirtioLib-WDF which is used only by balloon, vioinput, viorng, and > vioserial. Can you please double-check and post the QEMU command line if you > really get this error with the other drivers? > > Thanks! > Ladi Hi Ladi, Netkvm, vioscsi, and viostor hit "can't install driver successfully" issue and the error code is "Code 10",but the detailed error info is "The requested operation was unsuccessful". Refer to the attachment Qemu command line: /usr/libexec/qemu-kvm -name 128SRLW10D64WRG -enable-kvm -m 3G -smp 4 -uuid 949bc4e4-d6f3-4a6a-b4bb-fefa528fbd67 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/tmp/128SRLW10D64WRG,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -boot order=cd,menu=on -device piix3-usb-uhci,id=usb -drive file=128SRLW10D64WRG,if=none,id=drive-ide0-0-0,format=raw,serial=mike_cao,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=en_windows_10_enterprise_version_1607_updated_jul_2016_x64_dvd_9054264.iso,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 -drive file=128SRLW10D64WRG.vfd,if=floppy,id=drive-fdc0-0-0,format=raw,cache=none -netdev tap,script=/etc/qemu-ifup1,downscript=no,id=hostnet0 -device e1000,netdev=hostnet0,id=net0,mac=00:52:0a:5c:f1:1c -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=isa_serial0 -device usb-tablet,id=input0 -vnc 0.0.0.0:0 -vga cirrus -M q35 \ -device ioh3420,bus=pcie.0,id=root1.0,slot=1 \ -drive file=blk-disk.raw,if=none,id=drive-virtio-disk0,format=raw,serial=mike_cao,cache=none \ -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0,bus=root1.0 \ -object rng-random,filename=/dev/urandom,id=rng0 \ -device virtio-rng-pci,rng=rng0,bus=root1.0 \ -device virtio-serial-pci,id=serial0,bus=root1.0 \ -chardev socket,id=serialchardev0,path=/tmp/128SRLW10D64WRG_port0,server,nowait \ -device virtserialport,id=port0,chardev=serialchardev0,bus=serial0.0 \ -netdev tap,script=/etc/qemu-ifup1,downscript=no,id=hostnet0,vhost=on,queues=4 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:52:3b:35:88:00,mq=on,vectors=10,bus=root1.0 \ -device virtio-balloon-pci,id=balloon0,bus=root1.0 \ -device virtio-scsi-pci,id=scsi0,num_queues=4,bus=root1.0 \ -drive file=scsi-disk.raw,if=none,id=drive-scsi-disk0,format=raw,serial=mike_cao,cache=none \ -device scsi-hd,bus=scsi0.0,drive=drive-scsi-disk0,id=scsi-disk0 \ Thanks, xiagao Created attachment 1219136 [details]
error info of network driver installation
Created attachment 1219137 [details]
error code of network driver installation
Hi xiagao, "The requested operation was unsuccessful" appears to be a different issue. (In reply to xiagao from comment #7) > Qemu command line: ... > -device ioh3420,bus=pcie.0,id=root1.0,slot=1 \ ... > -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0,bus=root1.0 \ > -object rng-random,filename=/dev/urandom,id=rng0 \ > -device virtio-rng-pci,rng=rng0,bus=root1.0 \ > -device virtio-serial-pci,id=serial0,bus=root1.0 \ > -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:52:3b:35:88:00,mq=on, vectors=10,bus=root1.0 \ > -device virtio-balloon-pci,id=balloon0,bus=root1.0 \ > -device virtio-scsi-pci,id=scsi0,num_queues=4,bus=root1.0 \ You have connected all devices to one PCIe root port which doesn't look right. See bug 1375081 for a proposal to make this trigger a QEMU error. I am adding Marcel to cc for a) awareness and b) confirmation that this is flat out wrong. Thanks! Ladi The VirtioLib-WDF bug is fixed by: https://github.com/YanVugenfirer/kvm-guest-drivers-windows/commit/a8bc55f44ce146bc65f0f7679a192f0e9d4865bd (In reply to Ladi Prosek from comment #10) > Hi xiagao, > > "The requested operation was unsuccessful" appears to be a different issue. > > (In reply to xiagao from comment #7) > > Qemu command line: > ... > > -device ioh3420,bus=pcie.0,id=root1.0,slot=1 \ > ... > > -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0,bus=root1.0 \ > > -object rng-random,filename=/dev/urandom,id=rng0 \ > > -device virtio-rng-pci,rng=rng0,bus=root1.0 \ > > -device virtio-serial-pci,id=serial0,bus=root1.0 \ > > -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:52:3b:35:88:00,mq=on, vectors=10,bus=root1.0 \ > > -device virtio-balloon-pci,id=balloon0,bus=root1.0 \ > > -device virtio-scsi-pci,id=scsi0,num_queues=4,bus=root1.0 \ > > You have connected all devices to one PCIe root port which doesn't look > right. See bug 1375081 for a proposal to make this trigger a QEMU error. I > am adding Marcel to cc for a) awareness and b) confirmation that this is > flat out wrong. > Hi Ladi, This is indeed wrong, only one device can be attached to a PCIe port. Note you can use a multi-function device to have up to 8 functions on a single port. Similarly but not the same, you can have up to 8 PCIe root ports on the same Root Complex (pcie.0) slot. Thanks, Marcel > Thanks! > Ladi (In reply to Marcel Apfelbaum from comment #12) > (In reply to Ladi Prosek from comment #10) > > Hi xiagao, > > > > "The requested operation was unsuccessful" appears to be a different issue. > > > > (In reply to xiagao from comment #7) > > > Qemu command line: > > ... > > > -device ioh3420,bus=pcie.0,id=root1.0,slot=1 \ > > ... > > > -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0,bus=root1.0 \ > > > -object rng-random,filename=/dev/urandom,id=rng0 \ > > > -device virtio-rng-pci,rng=rng0,bus=root1.0 \ > > > -device virtio-serial-pci,id=serial0,bus=root1.0 \ > > > -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:52:3b:35:88:00,mq=on, vectors=10,bus=root1.0 \ > > > -device virtio-balloon-pci,id=balloon0,bus=root1.0 \ > > > -device virtio-scsi-pci,id=scsi0,num_queues=4,bus=root1.0 \ > > > > You have connected all devices to one PCIe root port which doesn't look > > right. See bug 1375081 for a proposal to make this trigger a QEMU error. I > > am adding Marcel to cc for a) awareness and b) confirmation that this is > > flat out wrong. > > > > Hi Ladi, > This is indeed wrong, only one device can be attached to a PCIe port. > Note you can use a multi-function device to have up to 8 functions on a > single port. > > > Similarly but not the same, you can have up to 8 PCIe root ports on the same > Root Complex (pcie.0) slot. > > Thanks, > Marcel > > > Thanks! > > Ladi Thanks Ladi and Marcel,i will have a try with the upper two methods. (In reply to Ladi Prosek from comment #10) > Hi xiagao, > > "The requested operation was unsuccessful" appears to be a different issue. > (In reply to xiagao from comment #7) > > Qemu command line: > ... > > -device ioh3420,bus=pcie.0,id=root1.0,slot=1 \ > ... > > -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0,bus=root1.0 \ > > -object rng-random,filename=/dev/urandom,id=rng0 \ > > -device virtio-rng-pci,rng=rng0,bus=root1.0 \ > > -device virtio-serial-pci,id=serial0,bus=root1.0 \ > > -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:52:3b:35:88:00,mq=on, vectors=10,bus=root1.0 \ > > -device virtio-balloon-pci,id=balloon0,bus=root1.0 \ > > -device virtio-scsi-pci,id=scsi0,num_queues=4,bus=root1.0 \ > > You have connected all devices to one PCIe root port which doesn't look > right. See bug 1375081 for a proposal to make this trigger a QEMU error. I > am adding Marcel to cc for a) awareness and b) confirmation that this is > flat out wrong. > > Thanks! > Ladi Hi Ladi, I tested with the a multi-function device on a single port. The /balloon/viorng/vioscsi/viostor driver still hit error on virtio-win-prewhql-128 , and the error info is: “The requested operation was unsuccessful”. 1.qemu cmd line /usr/libexec/qemu-kvm -name win10-64 -enable-kvm -m 3G -smp 4 -uuid 949bc4e4-d6f3-4a6a-b4bb-fefa528fbd67 -nodefconfig -nodefaults -rtc base=localtime,driftfix=slew -boot order=cd,menu=on \ -drive file=/home/win10-64-virtio.qcow2,if=none,id=drive-ide0-0-0,format=qcow2,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -chardev pty,id=charserial0 \ -device isa-serial,chardev=charserial0,id=isa_serial0 \ -vnc 0.0.0.0:0 -vga cirrus \ -M q35 \ -monitor stdio \ -device ioh3420,bus=pcie.0,id=root.0,slot=1 \ -device x3130-upstream,bus=root.0,id=upstream1 \ -device xio3130-downstream,bus=upstream1,id=downstream1,chassis=1 \ -netdev tap,script=/etc/qemu-ifup,downscript=no,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:52:3b:35:88:00,bus=downstream1 \ -device virtio-scsi-pci,id=scsi0,num_queues=4,bus=downstream1 \ -drive file=/home/scsi-disk.raw,if=none,id=drive-scsi-disk0,format=raw,cache=none \ -device scsi-hd,bus=scsi0.0,drive=drive-scsi-disk0,id=scsi-disk0 \ -drive file=/home/blk-disk.raw,if=none,id=drive-virtio-disk0,format=raw,cache=none \ -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0,bus=downstream1 \ -object rng-random,filename=/dev/urandom,id=rng0 \ -device virtio-rng-pci,rng=rng0,bus=downstream1 \ -device virtio-serial-pci,id=serial0,bus=downstream1 \ -chardev socket,id=serialchardev0,path=/tmp/128SRLW10D64WRG_port0,server,nowait \ -device virtserialport,id=port0,chardev=serialchardev0,bus=serial0.0 \ -device virtio-balloon-pci,id=balloon0,bus=downstream1 \ -device pvpanic,id=pvpanic0 \ 2.the error driver and error info in attachment. By the way, the patch in Comment 11 seems have fixed the bug: https://bugzilla.redhat.com/show_bug.cgi?id=1391844 So, how about to reassign this bug to track “The requested operation was unsuccessful” issue. Thanks, xiagao Created attachment 1221737 [details]
driver-yellow
Created attachment 1221738 [details]
driver-error-info
Please ignor comment 14, comment 15 and comment16. The method is not correct. I will retest. Thanks. Netkvm, vioscsi, and viostor driver works well under the correct qemu-cmd line under q35, and not hit issue of "The requested operation was unsuccessful" and "STATUS_DEVICE_POWER_FAILURE error". qemu cmd line: /usr/libexec/qemu-kvm -name win10-64 -enable-kvm -m 3G -smp 4 -uuid 949bc4e4-d6f3-4a6a-b4bb-fefa528fbd67 -nodefconfig -nodefaults -rtc base=localtime,driftfix=slew -boot order=cd,menu=on \ -drive file=/home/win10-64-virtio.qcow2,if=none,id=drive-ide0-0-0,format=qcow2,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -chardev pty,id=charserial0 \ -device isa-serial,chardev=charserial0,id=isa_serial0 \ -vnc 0.0.0.0:0 -vga cirrus \ -M q35 \ -monitor stdio \ -device ioh3420,bus=pcie.0,id=root.0,slot=1 \ -netdev tap,script=/etc/qemu-ifup,downscript=no,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:52:3b:35:88:00,bus=root.0 \ -device ioh3420,id=root.1,slot=2 \ -device virtio-scsi-pci,id=scsi0,num_queues=4,bus=root.1 \ -drive file=/home/scsi-disk.raw,if=none,id=drive-scsi-disk0,format=raw,cache=none \ -device scsi-hd,bus=scsi0.0,drive=drive-scsi-disk0,id=scsi-disk0 \ -device ioh3420,id=root.2,slot=3 \ -drive file=/home/blk-disk.raw,if=none,id=drive-virtio-disk0,format=raw,cache=none \ -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0,bus=root.2 \ -device ioh3420,id=root.3,slot=4 \ -object rng-random,filename=/dev/urandom,id=rng0 \ -device virtio-rng-pci,rng=rng0,bus=root.3 \ -device ioh3420,id=root.4,slot=5 \ -device virtio-serial-pci,id=serial0,bus=root.4 \ -chardev socket,id=serialchardev0,path=/tmp/128SRLW10D64WRG_port0,server,nowait \ -device virtserialport,id=port0,chardev=serialchardev0,bus=serial0.0 \ -device ioh3420,id=root.5,slot=6 \ -device virtio-balloon-pci,id=balloon0,bus=root.5 \ -device pvpanic,id=pvpanic0 \ Verify this bug on build 129, the driver could be installed successfully. So change status to verified. guest tested *win10-64 driver tested * viorng * balloon * vioser * pvpanic Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:2341 |
Created attachment 1218377 [details] install_error Description of problem: as subject, can't install serial driver on win10-64 guest with q35. Version-Release number of selected component (if applicable): virtio-win-prewhql-0.1-128 Guest OS:win10-64 virtio-win-prewhql-128 qemu-kvm-rhev-2.6.0-27.el7.x86_64 kernel-3.10.0-518.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.boot win10-64 guest with serial device /usr/libexec/qemu-kvm -name 128SRLW10D64WRG -enable-kvm -m 3G -smp 4 -uuid 949bc4e4-d6f3-4a6a-b4bb-fefa528fbd67 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/tmp/128SRLW10D64WRG,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -boot order=cd,menu=on -device piix3-usb-uhci,id=usb -drive file=128SRLW10D64WRG,if=none,id=drive-ide0-0-0,format=raw,serial=mike_cao,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=en_windows_10_enterprise_version_1607_updated_jul_2016_x64_dvd_9054264.iso,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 -drive file=128SRLW10D64WRG.vfd,if=floppy,id=drive-fdc0-0-0,format=raw,cache=none -netdev tap,script=/etc/qemu-ifup1,downscript=no,id=hostnet0 -device e1000,netdev=hostnet0,id=net0,mac=00:52:0a:5c:f1:1c -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=isa_serial0 -device usb-tablet,id=input0 -vnc 0.0.0.0:0 -vga cirrus -M q35 -device ioh3420,bus=pcie.0,id=root1.0,slot=1 -device virtio-serial-pci,id=serial0,bus=root1.0 -chardev socket,id=serialchardev0,path=/tmp/128SRLW10D64WRG_port0,server,nowait -device virtserialport,id=port0,chardev=serialchardev0,bus=serial0.0 2.install serial driver Actual results: can't finish installation. (refer to attachment) Expected results: no error Additional info: 1. tried with pc machine type,driver can be installed successfully. -M pc -device virtio-serial-pci,id=serial0 -chardev socket,id=serialchardev0,path=/tmp/128SRLW10D64WRG_port0,server,nowait -device virtserialport,id=port0,chardev=serialchardev0,bus=serial0.0