virtio-win / kvm-guest-drivers-windows

Windows paravirtualized drivers for QEMU\KVM
https://www.linux-kvm.org/page/WindowsGuestDrivers
BSD 3-Clause "New" or "Revised" License
2.01k stars 385 forks source link

NetKVM: Driver not unloading/Uninstalling on Windows Host machine #909

Open thasreefkhalith opened 1 year ago

thasreefkhalith commented 1 year ago

Describe the bug NetKVM driver is not getting unloading/Uninstalling once it is installed on Windows host machine(PF Device)

To Reproduce

Expected behavior

Screenshots If applicable, add screenshots to help explain your problem.

Host:

Additional context Add any other context about the problem here. WPP_TRACE.log

YanVugenfirer commented 1 year ago

Hi @thasreefkhalith,

Thank you for reporting. From an initial look there is something wrong with the card side that doesn't respond correctly to the control queue messages: CParaNdisCX::SendControlMessageCParaNdisCX::SendControlMessage - ERROR: wrong len 2 which means that returned response is not of virtio_net_ctrl_ack size. https://github.com/virtio-win/kvm-guest-drivers-windows/blob/dda7593a2ea61f6183e21bb3bbaec9d2d5c22694/NetKVM/Common/virtio_net.h#L204

Checking what else might be off.

YanVugenfirer commented 1 year ago

Hi @thasreefkhalith ,

Another request - can you please increase the log level to 6 (in the device manager there is an advanced tab for the NIC). Most probably, as the driver cannot unload, you will need to reboot and only then log the trace. Currently, I don't see anything related to the driver de-init in the log.

Thanks, Yan.

ybendito commented 1 year ago

@thasreefkhalith 1) If I understand correctly you can't disable or uninstall the device from the device manager. What exactly happens after you press "Disable"? Does the device manager stops responding or nothing happens at all or there is no possibility to disable the device? 2) Does the device function under Linux? 3) Note that if you have some problem sharing info via public issue under github please let us know, we can continue over e-mails

thasreefkhalith commented 1 year ago

@thasreefkhalith

  1. If I understand correctly you can't disable or uninstall the device from the device manager. What exactly happens after you press "Disable"? Does the device manager stops responding or nothing happens at all or there is no possibility to disable the device?
  2. Does the device function under Linux?
  3. Note that if you have some problem sharing info via public issue under github please let us know, we can continue over e-mails
  1. Yes, Device manager stops responding and it never completes the uninstall/disable device
  2. I never tried on Linux
  3. Please start a email thread
YanVugenfirer commented 1 year ago
  1. In general indicates that packets are not returned by HW, but let's discuss this over emails.
  2. Please write to yvugenfi (at) redhat.com and ybendito (at) redhat.com
ybendito commented 1 year ago

@thasreefkhalith Just to check whether the problem is related to stuck TX packets, I suggest to do one simple thing (assuming the device does not indicate the link when the network cable is not attached): start the PC with detached network cable, install the driver (the link is off), disable the device.

thasreefkhalith commented 1 year ago

Hi @thasreefkhalith ,

Another request - can you please increase the log level to 6 (in the device manager there is an advanced tab for the NIC). Most probably, as the driver cannot unload, you will need to reboot and only then log the trace. Currently, I don't see anything related to the driver de-init in the log.

Thanks, Yan.

WPP trace logs after setting log.level to 6 LOAD_UNLOAD_LEVEL_6.log

thasreefkhalith commented 1 year ago

@thasreefkhalith Just to check whether the problem is related to stuck TX packets, I suggest to do one simple thing (assuming the device does not indicate the link when the network cable is not attached): start the PC with detached network cable, install the driver (the link is off), disable the device.

Issue still persists even after link down.

ybendito commented 1 year ago

@thasreefkhalith Can you please provide also logs of the driver when it is installed with detached network cable? (with default log level 0)

thasreefkhalith commented 1 year ago

@thasreefkhalith Can you please provide also logs of the driver when it is installed with detached network cable? (with default log level 0)

NetKVM_INSTALL.log

ybendito commented 1 year ago

@thasreefkhalith From NetKVM_INSTALL.log we can see that the device reports the LINK status = ON. If in this test the network cable was detached then the device reports "link on" regardless the physical link. Next - in the previous log (LOAD_UNLOAD_LEVEL_6.log) I do not see any sign of interrupt indicated by the device. If so, the last transmitted packet is never completed, this can explain the problem.

ybendito commented 9 months ago

@thasreefkhalith Is this issue still actual or I can close it?