Bug 1588425

Summary: [virtio-win][vioinput] virtio-mouse can not passthrough to guest
Product: Red Hat Enterprise Linux 8 Reporter: lijin <lijin>
Component: virtio-winAssignee: Amnon Ilan <ailan>
virtio-win sub component: virtio-win-prewhql QA Contact: Virtualization Bugs <virt-bugs>
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: unspecified CC: ailan, ddepaula, jinzhao, lijin, mtessun, phou, wchadwic, yvugenfi
Version: 8.0Keywords: Regression
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: ---   
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: 2019-11-05 21:22:36 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: 1682882    
Bug Blocks: 1649160    
Attachments:
Description Flags
reverted commit 4c994275 which can be possibly the cause of this
none
Fix candidate 1
none
win8-64 driver install error
none
Driver for test on win8.1-32
none
Driver for test on Win8.1-64
none
win8.1-64 input install error none

Description lijin 2018-06-07 10:25:14 UTC
Description of problem:


Version-Release number of selected component (if applicable):
virtio-win-rewhql-153
qemu-kvm-2.12.0-11.el8+619+ba8f0855.1.x86_64
kernel-4.16.0-10.el8+5.x86_64
seabios-bin-1.11.0-1.el8+526+412dc3e0.noarch

How reproducible:
100% on the reproduced host;
0% on another host.

Steps to Reproduce:
1.check host device:
#  ll /dev/input/by-path
total 0
lrwxrwxrwx. 1 root root 9 Jun  1 03:14 pci-0000:00:14.0-usb-0:2.1:1.0-event-kbd -> ../event2
lrwxrwxrwx. 1 root root 9 Jun  1 03:14 pci-0000:00:14.0-usb-0:2.1:1.1-event-mouse -> ../event3
lrwxrwxrwx. 1 root root 6 Jun  1 03:14 pci-0000:00:14.0-usb-0:2.1:1.1-mouse -> ../js0
lrwxrwxrwx. 1 root root 9 Jun  1 03:14 platform-pcspkr-event-spkr -> ../event4

2.passthrough event-mouse to win8.1-32 guest:
/usr/libexec/qemu-kvm \
    -name 'avocado-vt-vm1' \
    -sandbox off \
    -machine pc \
    -nodefaults \
    -vga std \
    -device virtio-scsi-pci,id=virtio_scsi_pci0 \
    -drive id=drive_image1,if=none,snapshot=off,aio=threads,cache=none,format=qcow2,file=/home/kvm_autotest_root/images/win8-32.1-virtio-scsi.qcow2 \
    -device scsi-hd,id=image1,drive=drive_image1 \
    -device virtio-net-pci,mac=9a:c4:c5:c6:c7:c8,id=idbt7EET,vectors=4,netdev=idINrjaU \
    -netdev tap,id=idINrjaU,vhost=on,script=/etc/qemu-ifup \
    -m 7168  \
    -smp 2,cores=1,threads=1,sockets=2  \
    -cpu 'Haswell-noTSX',+kvm_pv_unhalt,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time \
    -vnc :0  \
    -rtc base=localtime,clock=host,driftfix=slew  \
    -boot menu=off,strict=off,order=cdn,once=c \
    -enable-kvm \
    -monitor stdio \
    -drive file=/home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-153.iso,format=raw,if=none,id=drive2,media=cdrom,readonly=on \
    -device ide-drive,drive=drive2,bus=ide.1,unit=0,id=cdrom \
    -device virtio-input-host-pci,evdev=/dev/input/by-path/pci-0000:00:14.0-usb-0:2.1:1.1-event-mouse,id=host-mouse0,serial=host-mouse \

3.check mouse device in device manager

Actual results:
after step3, there is no virtio-mouse in device manager, only one ps2 mouse exists;

Expected results:
virtio-mouse can be passthrough correctly

Additional info:
1.virtio-keyboard can be passthrough successfully;
2.after downgrade driver to build 143, this issue disappear, so it's a regression bug;
3.try on another host, can not reproduce this issue, I don't know if it's related to host mouse hardware.

Comment 2 Sameeh Jubran 2018-06-09 22:34:25 UTC
Created attachment 1449480 [details]
reverted commit 4c994275 which can be possibly the cause of this

HI Li Jin,

Can you please test this version of the vioinput driver?

Comment 3 lijin 2018-06-20 05:13:14 UTC
(In reply to Sameeh Jubran from comment #2)
> Created attachment 1449480 [details]
> reverted commit 4c994275 which can be possibly the cause of this
> 
> HI Li Jin,
> 
> Can you please test this version of the vioinput driver?

This version works, thanks.

Comment 4 Sameeh Jubran 2018-06-20 19:44:25 UTC
Hi Lijin,

Since I cannot reproduce the issue, can you please provide me of an enable/disable log of the virtio-input driver while reproducing this bug using a recent build which supports WPP such as 153.

Comment 5 lijin 2018-07-04 08:28:37 UTC
(In reply to Sameeh Jubran from comment #4)
> Hi Lijin,
> 
> Since I cannot reproduce the issue, can you please provide me of an
> enable/disable log of the virtio-input driver while reproducing this bug
> using a recent build which supports WPP such as 153.

The host on which can reproduce this issue is broken, I've sent a ticket to fix it.
I will update the status once it get to normal.

Thanks

Comment 6 lijin 2018-07-04 08:29:16 UTC
set needinfo to me just in case I forget it.

Comment 11 ybendito 2019-02-22 10:58:58 UTC
The commit that caused the problem is 4c994275. It fixes one problem but somehow caused another one. 

On the host where the problem can be reproduced, please provide the output of 'sudo evtest <eventdev>', this retrieves the info about specific event device that should be attached to the guest.
(in the example provided in the description this is /dev/input/event3)

Comment 12 lijin 2019-02-25 06:42:56 UTC
[root@intel-e31225-16-1 ~]# evtest /dev/input/event3
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x624 product 0x13 version 0x111
Input device name: "AVOCENT       AVOCENT K/M          Mouse"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
    Event code 275 (BTN_SIDE)
    Event code 276 (BTN_EXTRA)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
    Event code 8 (REL_WHEEL)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max    32767
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max    32767
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)

I'm not sure if this is the complete result, I wait for 1+ hours, get the above message.

Comment 13 ybendito 2019-05-29 09:40:56 UTC
Created attachment 1574676 [details]
Fix candidate 1

Comment 14 ybendito 2019-05-29 09:44:04 UTC
Please find the driver (for Win10-x64) that should fix the problem.
If possible, please check it does not create any regression.

Comment 15 lijin 2019-06-03 09:01:36 UTC
Created attachment 1576536 [details]
win8-64 driver install error

Can not install the driver you provided, please see the attachment(win8-64).
win8-32 hit the issue as well.

Comment 16 ybendito 2019-06-03 10:06:32 UTC
(In reply to lijin from comment #15)
> Created attachment 1576536 [details]
> win8-64 driver install error
> 
> Can not install the driver you provided, please see the attachment(win8-64).
> win8-32 hit the issue as well.

Indeed I've provide the driver for test on win10-x64 (as the problem seems to me completely generic)
I'm adding drivers compatible with win8.1 (32 and 64)

Comment 17 ybendito 2019-06-03 10:07:45 UTC
Created attachment 1576562 [details]
Driver for test on win8.1-32

Comment 18 ybendito 2019-06-03 10:08:32 UTC
Created attachment 1576563 [details]
Driver for test on Win8.1-64

Comment 19 lijin 2019-06-04 01:39:57 UTC
Try on win8.1-32, it fixes this issue, thanks.
And run sanity input testing on win8.1-32, no new issues.

And still can not install input driver on win8.1-64 guest, please check the attachment.

Comment 20 lijin 2019-06-04 01:41:17 UTC
Created attachment 1576808 [details]
win8.1-64 input install error

Comment 21 ybendito 2019-06-04 07:23:09 UTC
(In reply to lijin from comment #20)
> Created attachment 1576808 [details]
> win8.1-64 input install error

I'm able to install the driver on 8.1 64 bit (https://bugzilla.redhat.com/attachment.cgi?id=1576563)
Is it possible that somehow test mode is not enabled on the machine?

Comment 22 lijin 2019-06-04 08:27:01 UTC
(In reply to ybendito from comment #21)
> (In reply to lijin from comment #20)
> > Created attachment 1576808 [details]
> > win8.1-64 input install error
> 
> I'm able to install the driver on 8.1 64 bit
> (https://bugzilla.redhat.com/attachment.cgi?id=1576563)
> Is it possible that somehow test mode is not enabled on the machine?

Yes, you are right. 
But it's strange that win8.1-32 can install the driver without test mode enable.

Anyway, after enable test mode, driver can be installed and this issue is fixed on win8.1-64 as well.

Comment 23 Yvugenfi@redhat.com 2019-06-04 08:36:44 UTC
(In reply to lijin from comment #22)
> (In reply to ybendito from comment #21)
> > (In reply to lijin from comment #20)
> > > Created attachment 1576808 [details]
> > > win8.1-64 input install error
> > 
> > I'm able to install the driver on 8.1 64 bit
> > (https://bugzilla.redhat.com/attachment.cgi?id=1576563)
> > Is it possible that somehow test mode is not enabled on the machine?
> 
> Yes, you are right. 
> But it's strange that win8.1-32 can install the driver without test mode
> enable.

Embedded signature verification was introduced first for 64 bit Windows SKUs. So it makes sense that 32bit worked without test signing mode.

> 
> Anyway, after enable test mode, driver can be installed and this issue is
> fixed on win8.1-64 as well.

Comment 24 lijin 2019-06-04 08:48:53 UTC
(In reply to Yan Vugenfirer from comment #23)
> > > 
> > > I'm able to install the driver on 8.1 64 bit
> > > (https://bugzilla.redhat.com/attachment.cgi?id=1576563)
> > > Is it possible that somehow test mode is not enabled on the machine?
> > 
> > Yes, you are right. 
> > But it's strange that win8.1-32 can install the driver without test mode
> > enable.
> 
> Embedded signature verification was introduced first for 64 bit Windows
> SKUs. So it makes sense that 32bit worked without test signing mode.


Good to know that.
Thanks for the explanation.

Comment 25 ybendito 2019-06-11 09:02:00 UTC
Should be solved in build 172. Please recheck

Comment 26 lijin 2019-06-12 01:02:22 UTC
Verify with build 172, this issue is fixed.
So change status to verified.

Comment 34 errata-xmlrpc 2019-11-05 21:22:36 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://access.redhat.com/errata/RHEA-2019:3479