summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/118/all/1809665
blob: 2ec1c61b4aeae0a740d7a901dd9ec32f48ccb47c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
register: 0.981
permissions: 0.979
device: 0.978
peripherals: 0.976
assembly: 0.975
mistranslation: 0.975
semantic: 0.974
debug: 0.972
files: 0.971
graphic: 0.971
architecture: 0.971
vnc: 0.970
user-level: 0.968
performance: 0.968
virtual: 0.968
kernel: 0.965
risc-v: 0.964
hypervisor: 0.964
PID: 0.964
socket: 0.961
arm: 0.960
boot: 0.958
KVM: 0.952
TCG: 0.952
VMM: 0.949
x86: 0.948
i386: 0.945
ppc: 0.937
network: 0.936

Xbox One controller USB passthrough disconnections and stops

I can't properly passthrough my Xbox One controller to a virtual machine; it causes USB disconnections on the host, ultimately preventing it to work (at all) on the guest

I've seen a few other cases reported in other websites, which show the same symptoms:

- https://www.reddit.com/r/VFIO/comments/97dhbw/qemu_w10_xbox_one_controller
- https://unix.stackexchange.com/questions/452751/how-can-i-pass-through-an-xbox-one-controller-to-a-windows-vm-on-ubuntu

This is sample:

    libusb: error [udev_hotplug_event] ignoring udev action bind
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    libusb: error [_get_usbfs_fd] File doesn't exist, wait 10 ms and try again
    libusb: error [_get_usbfs_fd] libusb couldn't open USB device
        /dev/bus/usb/003/016: No such file or directory

I think this is a quite long-standing issue, as I've been experiencing through several versions, including the current one (3.1).

I can reproduce this 100% of the times, on multiple host O/S distributions (the current one being based on Ubuntu 18.04 x86-64).

I compile QEMU directly from source, and execute it via commandline; the command is very long, however, the relevant part is standard (I think):

    -usb \
    -device usb-tablet \
    -device usb-host,vendorid=0x$VGAPT_XBOX_PAD_VEND_ID,productid=0x$VGAPT_XBOX_PAD_PROD_ID \

The guest is Windows 10 64bit.

Do you get a different behavior if you use "-device usb-ehci" or "-device nec-usb-xhci" instead of the "-usb" parameter?

So! These are the options and respective logs; they still don't make the controller work - it doesn't work at all.

# option 1

  -device nec-usb-xhci \
  -device usb-tablet \
  -device usb-host,vendorid=0x$VGAPT_XBOX_PAD_VEND_ID,productid=0x$VGAPT_XBOX_PAD_PROD_ID \

# log

    libusb: error [udev_hotplug_event] ignoring udev action bind
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    libusb: error [_open_sysfs_attr] open /sys/bus/usb/devices/1-10/bConfigurationValue failed ret=-1 errno=2
    libusb: error [_get_usbfs_fd] File doesn't exist, wait 10 ms and try again
    libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/019: No such file or directory
    libusb: error [udev_hotplug_event] ignoring udev action bind
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    libusb: error [_open_sysfs_attr] open /sys/bus/usb/devices/1-10/bConfigurationValue failed ret=-1 errno=2
    libusb: error [_get_usbfs_fd] File doesn't exist, wait 10 ms and try again
    libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/020: No such file or directory
    libusb: error [udev_hotplug_event] ignoring udev action bind
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
    libusb: error [_open_sysfs_attr] open /sys/bus/usb/devices/1-10/bConfigurationValue failed ret=-1 errno=2
    libusb: error [_get_usbfs_fd] File doesn't exist, wait 10 ms and try again
    libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/021: No such file or directory
    libusb: error [udev_hotplug_event] ignoring udev action bind

# option 2

    -device usb-ehci \
    -device usb-tablet \
    -device usb-host,vendorid=0x$VGAPT_XBOX_PAD_VEND_ID,productid=0x$VGAPT_XBOX_PAD_PROD_ID \

# log

    qemu-system-x86_64: Warning: speed mismatch trying to attach usb device "Controller" (full speed) to bus "usb-bus.0", port "2" (high speed)
    libusb: error [udev_hotplug_event] ignoring udev action bind
    qemu-system-x86_64: Warning: speed mismatch trying to attach usb device "Controller" (full speed) to bus "usb-bus.0", port "2" (high speed)
    libusb: error [udev_hotplug_event] ignoring udev action bind
    qemu-system-x86_64: Warning: speed mismatch trying to attach usb device "Controller" (full speed) to bus "usb-bus.0", port "2" (high speed)
    libusb: error [udev_hotplug_event] ignoring udev action bind

I've tried another game controller with the second option:

# option 2b

    -device usb-ehci \
    -device usb-tablet \
    -device usb-host,vendorid=0x$VGAPT_ARCADE_STICK_VEND_ID,productid=0x$VGAPT_ARCADE_STICK_PROD_ID \

# log

    libusb: error [udev_hotplug_event] ignoring udev action bind
    qemu-system-x86_64: Warning: speed mismatch trying to attach usb device "Arcade Fight Stick" (full speed) to bus "usb-bus.0", port "3" (high speed)
    qemu-system-x86_64: Warning: speed mismatch trying to attach usb device "Arcade Fight Stick" (full speed) to bus "usb-bus.0", port "3" (high speed)
    qemu-system-x86_64: Warning: speed mismatch trying to attach usb device "Arcade Fight Stick" (full speed) to bus "usb-bus.0", port "3" (high speed)

and in this configuration, it doesn't work (it does with `-usb`).

This happened to me as well, but I managed to find a solution, if I ban the xpad driver through modprobe.d, then the problem disappear.

I added the following line:

    blacklist xpad

To this file: /etc/modprobe.d/vfio.conf, rebooted, and then I could use my Xbox One S controller with Qemu, I am not sure if it's a xpad bug or a hardware bug.

> This happened to me as well, but I managed to find a solution, if I ban the xpad driver through modprobe.d, then the problem disappear.

Thanks, that's very interesting (and useful, although nowadays I use the BT connection).

Still an issue as of QEMU 6.0.0rc2.

I can't (still) exclude that it's an issue on the host side, although, when it comes to USB passthrough, I don't have issues with similar devices (mice, keyboards etc.).

The module blacklist workaround works.


This is an automated cleanup. This bug report has been moved to QEMU's
new bug tracker on gitlab.com and thus gets marked as 'expired' now.
Please continue with the discussion here:

 https://gitlab.com/qemu-project/qemu/-/issues/157