[vfio-users] Unable to get Logitech Driving Force Pro USB-Passthrough working for Windows

Jonathan Scruggs j.scruggs at gmail.com
Tue Feb 9 15:58:53 UTC 2016


If you have more than one USB Host Controller, you might want to try
passing one through and plugging all the Guest's USB items into those
ports. This way Windows will handle all the quirks of the controller, which
the drivers are designed to handle.

Jon

On 9 February 2016 at 12:46, Tomáš M. <pulec.mcm at gmail.com> wrote:

> So I managed to get Windows 7 running with VGA-Passthrough without any big
> issues, except I can't get pass Logitech Driving Force Pro to Windows.
> My specs are:
>
>    -
>
>    CPU: i7-3770
>    -
>
>    MB: Asus P8Z77-V Pro
>    -
>
>    GPU: Sapphire HD 7950 Vapor-X OC (Boost)
>    -
>
>    Distro: Arch Linux with linux-vfio kernel from aur
>
> Since HD 7950's BIOS does not support UEFI it runs with SeaBIOS, but I
> doubt its important.
>
> I am using linux-vfio <https://aur.archlinux.org/packages/linux-vfio/> kernel
> (4.4.0-4) and I am using these boot parameters:
>
> rw i915.enable_hd_vgaarb=1 intel_iommu=on intel_iommu=igfx_off
>
> The script I am running the VM with:
>
> #04f2:0116 chicony white keyboard
> #1131:1001 bluetooth dongle
> #054c:0268 ps3
>
> echo "turning off main monitor so it can switch to displayport"
> QEMU_AUDIO_DRV=pa
> QEMU_PA_SERVER=localhost
> PULSE_SERVER=localhost
> QEMU_PA_SAMPLES=16
> sudo xrandr --output HDMI3 --off --output HDMI1 --auto
> sudo qemu-system-x86_64 \
>   -enable-kvm \
>   -m 10240 \
>   -cpu host,kvm=off \
>   -smp 4,sockets=1,cores=4,threads=1 \
>   -vga none \
>   -rtc base=localtime \
>   -device ich9-usb-uhci3,id=uhci \
>   -device usb-ehci,id=ehci \
>   -device nec-usb-xhci,id=xhci \
>   -soundhw hda \
>   -device vfio-pci,host=01:00.0,x-vga=on,multifunction=on \
>   -device vfio-pci,host=01:00.1 \
>   -drive file=/motherstorage/KVM/windows7.img,format=raw,if=none,id=drive-ide0-1-0 \
>   -device ide-hd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
>   -drive file=/motherstorage/KVM/data_games.img,format=raw,if=none,id=drive-ide0-1-1 \
>   -device ide-hd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1 \
>   -usbdevice host:04f2:0116 \
>   -usbdevice host:1131:1001 \
>   -usbdevice host:054c:0268 \
>   -netdev user,id=vmnic -device virtio-net,netdev=vmnic
>
> #on igpu main monitor
> xrandr --output HDMI3 --auto --right-of HDMI1
> echo "turning main monitor back on"
> xrandr --output HDMI3 --auto
>
> I use some old Bluetooth Dongle(host:1131:1001) and DualShock 3
> (host:054c:0268) with XInput Wrapper for DS3
> <http://forums.pcsx2.net/Thread-XInput-Wrapper-for-DS3-and-Play-com-USB-Dual-DS2-Controller?pid=186161#pid186161> and
> it works perfectly. Although I have to sometimes reconnect Bluetooth Dongle
> so it loads properly, but I have to do the same thing on native Windows, so
> that is expected.
> I also tried Thrustmaster T1600M, no issues.
>
> But Windows just can't get detect the Logitech Driving Force(046d:c294)
> which is probably the wheel locked in 270 degrees mode and Logitech Driving
> Force Pro(046d:c298) which is 900 degrees mode.
> I probably got my wheel somehow stuck in 900 degrees mode, although I can
> lock to 270 degree with pushing Select R3+R1, after reconnecting (which
> also means using usb_add command in QEMU monitor when VM is running) it
> always switches back to 900 degrees mode.
>
> *Here is what I tried:*
>
>    -
>
>    1. Different USB ports, always using -usbdevice host:046d:c298
>    parameter
>    -
>
>    2. Same USB ports, with number of hostadrdesses, with using number of
>    hostaddresses so:
>    -usb -device usb-host,hostbus=2,hostaddr=6
>    -usb -device usb-host,hostbus=2,hostaddr=7
>    -usb -device usb-host,hostbus=2,hostaddr=8
>    -usb -device usb-host,hostbus=2,hostaddr=9
>    -usb -device usb-host,hostbus=2,hostaddr=10
>    -
>
>    3. Trying point 1 and 2 things with -M q35 (default is i440fx) and on
>    Windows 10
>    I could not use these parameters with q35 chipset:
>      -device ich9-usb-uhci3,id=uhci \
>      -device usb-ehci,id=ehci \
>      -device nec-usb-xhci,id=xhci \
>    Windows failed to boot with them
>    and:
>      -drive
>    file=/motherstorage/KVM/data_games.img,format=raw,if=none,id=drive-ide0-1-1
>    \
>      -device ide-hd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1 \
>    error with IDE, since I already used it for my system
>
> *I always got the same result.*
> 1. Connect the wheel to the host
>     1.1 when I tried using Same USB port with number of hostaddresses the
> wheel gets detected on Bus 002 with specific Device Number(hostaddr), I
> pass this to the VM script
> 2. Launch the VM, when using number hostaddresses I had the parameter
> directly in the script, but when using -usbdevice host:$vendor:$product I
> didn't notice any difference when the parameter is in the script or I use
> usb_add host:$vendor:$product when Windows boots
> 3. When the qemu tries to "catch the wheel" its gets reconnected and tries
> to calibrate itself as it always does and when that happens script window
> which I launched qemu with reports something like this:
>
> 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/002/009: No such file or directory
> libusb: error [_open_sysfs_attr] open /sys/bus/usb/devices/2-1.8/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/002/011: No such file or directory
> 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/002/013: No such file or directory
> libusb: error [_open_sysfs_attr] open /sys/bus/usb/devices/2-1.5/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/002/017: No such file or directory
> libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/019: No such device
> libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/021: No such 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/002/023: No such file or directory
> libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/002/025: No such 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/002/027: No such file or directory
>
> During the calibration process (which takes about 10s) its seems that it
> gets disconnected and reconnected number of times and when that happens,
> its device number changes.
>
> Seeing it first time I tried to use number of hostaddresses either with
> addresses like 08,10,12,14 or directly [08-14] and even when the script
> window didn't showed that the the device does not exist, it still didn't
> change.
> In native Windows its either the 046d:c294 or 046d:c298 (after comparing
> two outputs from Nirsoft's USB Devices View
> <http://www.nirsoft.net/utils/usb_devices_view.html> in connected and
> disconnect states) the Windows in VM does not detect anything at all.
>
> I can use my wheel without issues on the Linux host in games like Euro
> Truck Simulator 2 and set up the wheel with ltwheelconf so I might probably
> use Steam Home Streaming for the racing games (I didn't manage to setup the
> network bridge correctly, yet) but I am thinking of getting Logitech G27 (
> mention <http://ubuntuforums.org/showthread.php?t=2266916> that it might
> work) or some similar alternative. Good wheels with 3 pedals and H-shifter
> are not cheap so I would like to know that they will work... I don't want
> to boot to Windows just because of the wheel.
>
> Any ideas what I might try ("somehow forcing" the wheel to specific
> hostaddress for example?) or what kind of qemu setting might help?
>
> ------
>
> also posted in: https://bbs.archlinux.org/viewtopic.php?id=208629
>
> _______________________________________________
> vfio-users mailing list
> vfio-users at redhat.com
> https://www.redhat.com/mailman/listinfo/vfio-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160209/445eb35f/attachment.htm>


More information about the vfio-users mailing list