Bug 1103100

Summary: [virtio-win][netkvm]netkvm driver can not be load in win2008 guest
Product: Red Hat Enterprise Linux 7 Reporter: Xu Tian <xutian>
Component: virtio-winAssignee: Yvugenfi <yvugenfi>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.1CC: dfleytma, ghammer, hhuang, knoel, michen, rbalakri, virt-maint, vrozenfe, yvugenfi
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
NO_DOCS
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-24 08:41:31 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:
Attachments:
Description Flags
device info
none
driver info none

Description Xu Tian 2014-05-30 08:59:01 UTC
Description of problem:

Windows2008 (both x86_64 and i386) cannot load netkvm driver for virtio-nic device. and windows report error code: 39

Please see screen-shot in attachment. 


Version-Release number of selected component (if applicable):

virtio-win-prewhql-85


How reproducible:


Steps to Reproduce:
1. create vm and boot vm with below command line:

/bin/qemu-kvm \
    -name 'virt-tests-vm1'  \
    -sandbox off  \
    -M pc  \
    -nodefaults  \
    -vga std  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20140530-143036-kcDNlSLb,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0-20140530-143036-kcDNlSLb,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20140530-143036-kcDNlSLb,path=/tmp/seabios-20140530-143036-kcDNlSLb,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20140530-143036-kcDNlSLb,iobase=0x402 \
    -device ich9-usb-uhci1,id=usb1,bus=pci.0,addr=03 \
    -drive id=drive_image1,if=none,cache=none,snapshot=off,aio=native,file=/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/images/win2008-32-virtio.qcow2 \
    -device virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,bus=pci.0,addr=04 \
    -device virtio-net-pci,mac=9a:61:62:63:64:65,id=idaE3mx3,vectors=4,netdev=idvYODeM,bus=pci.0,addr=05  \
    -netdev tap,id=idvYODeM \
    -m 4096  \
    -smp 2,cores=1,threads=1,sockets=2  \
    -cpu 'Penryn',+kvm_pv_unhalt,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time \
    -drive id=drive_cd1,if=none,snapshot=off,aio=native,media=cdrom,file=/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/ISO/Win2008/32/en_windows_server_2008_datacenter_enterprise_standard_sp2_x86_dvd_342333.iso \
    -device ide-cd,id=cd1,drive=drive_cd1,bootindex=1,bus=ide.0,unit=0 \
    -drive id=drive_winutils,if=none,snapshot=off,aio=native,media=cdrom,file=/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/windows/winutils.iso \
    -device ide-cd,id=winutils,drive=drive_winutils,bootindex=2,bus=ide.0,unit=1 \
    -drive id=drive_virtio,if=none,snapshot=off,aio=native,media=cdrom,file=/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/windows/virtio-win-prewhql-85.iso \
    -device ide-cd,id=virtio,drive=drive_virtio,bootindex=3,bus=ide.1,unit=0 \
    -drive id=drive_fl,if=none,cache=none,snapshot=off,readonly=off,aio=native,file=/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/images/win2008-sp2-32/answer.vfd \
    -global isa-fdc.driveA=drive_fl \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -vnc :0  \
    -rtc base=localtime,clock=host,driftfix=slew  \
    -boot order=cdn,once=d,menu=off \
    -enable-kvm

2. after install finished, reboot guest

3. open "device manager" Window to check network adapter device status.

4. update network adapter's drive from cdrom

5. check drive details:
  
Drive file: c:\windows\system32\DRIVERS\netkvm.sys
file version:  60.71.104.8500

Actual results:

device doesn't work and show error code 39

Expected results:

nic device works and can get IP address.

Additional info:
qemu version: qemu-kvm-rhev-2.0.0-1.el7ev.x86_64

Comment 1 Xu Tian 2014-05-30 08:59:52 UTC
Created attachment 900671 [details]
device info

device info show in device manager windows

Comment 2 Xu Tian 2014-05-30 09:01:00 UTC
Created attachment 900672 [details]
driver info

screen-shot for driver information

Comment 3 Xu Tian 2014-05-30 09:02:56 UTC
boot the image file with rtl8139 nic device, everything works fine. so it's not host bridge issue.

Thanks,
Xu

Comment 5 Xu Tian 2014-05-30 09:23:32 UTC
(In reply to xu from comment #0)
> Description of problem:
> 
> Windows2008 (both x86_64 and i386) cannot load netkvm driver for virtio-nic
> device. and windows report error code: 39
> 
> Please see screen-shot in attachment. 
> 
> 
> Version-Release number of selected component (if applicable):
> 
> virtio-win-prewhql-85
> 
> 
> How reproducible:
> 
> 
> Steps to Reproduce:
> 1. create vm and boot vm with below command line:
> 
> /bin/qemu-kvm \
>     -name 'virt-tests-vm1'  \
>     -sandbox off  \
>     -M pc  \
>     -nodefaults  \
>     -vga std  \
>     -chardev
> socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20140530-143036-
> kcDNlSLb,server,nowait \
>     -mon chardev=qmp_id_qmpmonitor1,mode=control  \
>     -chardev
> socket,id=serial_id_serial0,path=/tmp/serial-serial0-20140530-143036-
> kcDNlSLb,server,nowait \
>     -device isa-serial,chardev=serial_id_serial0  \
>     -chardev
> socket,id=seabioslog_id_20140530-143036-kcDNlSLb,path=/tmp/seabios-20140530-
> 143036-kcDNlSLb,server,nowait \
>     -device
> isa-debugcon,chardev=seabioslog_id_20140530-143036-kcDNlSLb,iobase=0x402 \
>     -device ich9-usb-uhci1,id=usb1,bus=pci.0,addr=03 \
>     -drive
> id=drive_image1,if=none,cache=none,snapshot=off,aio=native,file=/root/staf-
> kvm-devel/autotest-devel/client/tests/virt/shared/data/images/win2008-32-
> virtio.qcow2 \
>     -device
> virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,bus=pci.0,addr=04 \
>     -device
> virtio-net-pci,mac=9a:61:62:63:64:65,id=idaE3mx3,vectors=4,netdev=idvYODeM,
> bus=pci.0,addr=05  \
>     -netdev tap,id=idvYODeM \
>     -m 4096  \
>     -smp 2,cores=1,threads=1,sockets=2  \
>     -cpu
> 'Penryn',+kvm_pv_unhalt,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time \
>     -drive
> id=drive_cd1,if=none,snapshot=off,aio=native,media=cdrom,file=/root/staf-kvm-
> devel/autotest-devel/client/tests/virt/shared/data/isos/ISO/Win2008/32/
> en_windows_server_2008_datacenter_enterprise_standard_sp2_x86_dvd_342333.iso
> \
>     -device ide-cd,id=cd1,drive=drive_cd1,bootindex=1,bus=ide.0,unit=0 \
>     -drive
> id=drive_winutils,if=none,snapshot=off,aio=native,media=cdrom,file=/root/
> staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/windows/
> winutils.iso \
>     -device
> ide-cd,id=winutils,drive=drive_winutils,bootindex=2,bus=ide.0,unit=1 \
>     -drive
> id=drive_virtio,if=none,snapshot=off,aio=native,media=cdrom,file=/root/staf-
> kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/windows/virtio-
> win-prewhql-85.iso \
>     -device ide-cd,id=virtio,drive=drive_virtio,bootindex=3,bus=ide.1,unit=0
> \
>     -drive
> id=drive_fl,if=none,cache=none,snapshot=off,readonly=off,aio=native,file=/
> root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/images/
> win2008-sp2-32/answer.vfd \
>     -global isa-fdc.driveA=drive_fl \
>     -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
>     -vnc :0  \
>     -rtc base=localtime,clock=host,driftfix=slew  \
>     -boot order=cdn,once=d,menu=off \
>     -enable-kvm
> 
> 2. after install finished, reboot guest
> 
> 3. open "device manager" Window to check network adapter device status.
> 
> 4. update network adapter's drive from cdrom
> 
> 5. check drive details:
>   
> Drive file: c:\windows\system32\DRIVERS\netkvm.sys
> file version:  60.71.104.8500
> 
> Actual results:
> 
> device doesn't work and show error code 39
> 
> Expected results:
> 
> nic device works and can get IP address.
> 
> Additional info:
> qemu version: qemu-kvm-rhev-2.0.0-1.el7ev.x86_64

test with qemu-kvm-1.5.3-60.el7.x86_64, nic device doesn't work too

Comment 7 Shuang Yu 2014-07-10 08:34:51 UTC
Reproduced this issue on virtio-win-prewhql-0.1-85 version(win2008-32/64)
Verified this issue on virtio-win-prewhql-0.1-87 verion(win2008-32/64)

Version-Release number of selected component (if applicable):
host:
3.10.0-123.4.2.el7.x86_64
qemu-kvm-1.5.3-60.el7.x86_64

Steps:

1.create vm and boot vm with below command line:
/usr/libexec/qemu-kvm -M pc -sandbox off -nts  -m 2G -smp 2,cores=1,threads=1,sockets=2 -monitor stdio -vnc :0 -vga std -usb -device usb-tablet,id=tablet1 -drive file=win2008-32.qcow2,format=qcow2,if=none,id=drive1 -device ide-drive,drive=drive1,id=disk1 -cdrom en_windows_server_2008_datacenter_enterprise_standard_sp2_checked_build_x86_dvd_342434.iso -uuid 'uuidgen' -netdev tap,id=hostnet1,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet1,id=net1,mac=00:05:04:03:02:01 -drive file=viostor.qcow2,format=qcow2,if=none,id=drive-virtio0,werror=stop,rerror=stop,cache=none -device virtio-blk-pci,id=virtio0,drive=drive-virtio0 -rtc base=localtime,clock=host,driftfix=slew -boot order=cdn,once=d,menu=off -enable-kvm

2.after install finished, reboot guest

3.open "device manager" Window to check network adapter device status.

4.update network adapter's drive with virtio-win-prewhql 85

5.check drive details:
Drive file: c:\windows\system32\DRIVERS\netkvm.sys
file version:  60.71.104.8500

6.update network adapter's drive with virtio-win-prewhql 87

7.the driver update successfull and can work well


Actual results:
on virtio-win-prewhql-0.1-85 verion:netkvm device doesn't work and show error code 39
on virtio-win-prewhql-0.1-87 verion:netkvm device work well
Expected results:
netkvm device works and can get IP address.

Based on above ,this issue has been fixed already.

Comment 8 Mike Cao 2014-07-10 08:38:22 UTC
Move status to Verified based on comment #7

Comment 12 errata-xmlrpc 2015-11-24 08:41:31 UTC
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://rhn.redhat.com/errata/RHBA-2015-2513.html