Game controller works when connected directly but not via VirtualHere

I have VirtualHere server running on Raspberry Pi 4 / 64 bit OS, and a client running on Windows 11 Pro. I just got GameSir G7 Pro controller, and it is refusing to work when connected via VirtualHere, doesn't matter if it is a direct USB connection or using included USB dongle. It appears as "game controller device" in Windows device manager but no software detects it. It works on the same machine / OS when connected directly. In Windows event log I'm seeing a lot of "Incorrect function" messages. Happy to share any debug data if provided instructions.

#2

Can you try to use it via virtualhere then post here the /var/log/syslog (or journalctl) around that time from the server

 

#3

In case it matters, I'm using this version: vhusbdarm64a72

 

I think this is the relevant part:

Aug 30 09:49:42 virtualhere dbus-daemon[490]: [system] Rejected send message, 0 matched rules; type="error", sender=":1.28" (uid=1000 pid=861 comm="/usr/bin/wireplumber") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.6" (uid=0 pid=553 comm="/usr/libexec/bluetooth/bluetoothd")
Aug 30 09:49:42 virtualhere dbus-daemon[490]: [system] Rejected send message, 0 matched rules; type="error", sender=":1.28" (uid=1000 pid=861 comm="/usr/bin/wireplumber") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.6" (uid=0 pid=553 comm="/usr/libexec/bluetooth/bluetoothd")
Aug 30 09:49:42 virtualhere dbus-daemon[490]: [system] Rejected send message, 0 matched rules; type="error", sender=":1.28" (uid=1000 pid=861 comm="/usr/bin/wireplumber") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.6" (uid=0 pid=553 comm="/usr/libexec/bluetooth/bluetoothd")
Aug 30 09:49:42 virtualhere dbus-daemon[490]: [system] Rejected send message, 0 matched rules; type="error", sender=":1.28" (uid=1000 pid=861 comm="/usr/bin/wireplumber") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.6" (uid=0 pid=553 comm="/usr/libexec/bluetooth/bluetoothd")
Aug 30 09:49:42 virtualhere systemd[1]: Started systemd-rfkill.service - Load/Save RF Kill Switch Status.
Aug 30 09:49:42 virtualhere kernel: usb 1-1.2: reset full-speed USB device number 4 using xhci_hcd
Aug 30 09:49:42 virtualhere vhusbdarm64a72[753]: Device 112 [0bda:8771] BOUND to connection 48
Aug 30 09:49:42 virtualhere kernel: usb 1-1.4: reset full-speed USB device number 8 using xhci_hcd
Aug 30 09:49:43 virtualhere kernel: usb 1-1.2: reset full-speed USB device number 4 using xhci_hcd
Aug 30 09:49:47 virtualhere systemd[1]: systemd-rfkill.service: Deactivated successfully.
Aug 30 09:50:40 virtualhere kernel: usb 1-1.3: new full-speed USB device number 30 using xhci_hcd
Aug 30 09:50:40 virtualhere kernel: usb 1-1.3: New USB device found, idVendor=3537, idProduct=1022, bcdDevice= 1.00
Aug 30 09:50:40 virtualhere kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 30 09:50:40 virtualhere kernel: usb 1-1.3: Product: GameSir-G7 Pro
Aug 30 09:50:40 virtualhere kernel: usb 1-1.3: Manufacturer: Guangzhou Chicken Run Network Technology Co., Ltd.
Aug 30 09:50:40 virtualhere kernel: input: Guangzhou Chicken Run Network Technology Co., Ltd. GameSir-G7 Pro as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:3537:1022.004E/input/input121
Aug 30 09:50:40 virtualhere kernel: hid-generic 0003:3537:1022.004E: input,hidraw0: USB HID v1.10 Gamepad [Guangzhou Chicken Run Network Technology Co., Ltd. GameSir-G7 Pro] on usb-0000:01:00.0-1.3/input0
Aug 30 09:50:40 virtualhere kernel: hid-generic 0003:3537:1022.004F: ignoring exceeding usage max
Aug 30 09:50:40 virtualhere kernel: input: Guangzhou Chicken Run Network Technology Co., Ltd. GameSir-G7 Pro Keyboard as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.1/0003:3537:1022.004F/input/input122
Aug 30 09:50:40 virtualhere kernel: input: Guangzhou Chicken Run Network Technology Co., Ltd. GameSir-G7 Pro Mouse as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.1/0003:3537:1022.004F/input/input123
Aug 30 09:50:40 virtualhere kernel: hid-generic 0003:3537:1022.004F: input,hiddev96,hidraw1: USB HID v1.10 Keyboard [Guangzhou Chicken Run Network Technology Co., Ltd. GameSir-G7 Pro] on usb-0000:01:00.0-1.3/input1
Aug 30 09:50:40 virtualhere vhusbdarm64a72[753]: Found Full speed device [3537:1022] "Guangzhou Chicken Run Network Technology Co., Ltd., GameSir-G7 Pro" at address 113
Aug 30 09:50:40 virtualhere mtp-probe[10634]: checking bus 1, device 30: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 09:50:40 virtualhere mtp-probe[10634]: bus: 1, device: 30 was not an MTP device
Aug 30 09:50:40 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 30 using xhci_hcd
Aug 30 09:50:41 virtualhere vhusbdarm64a72[753]: Device 113 [3537:1022] BOUND to connection 48
Aug 30 09:50:41 virtualhere mtp-probe[10646]: checking bus 1, device 30: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 09:50:41 virtualhere mtp-probe[10646]: bus: 1, device: 30 was not an MTP device
Aug 30 09:50:41 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 30 using xhci_hcd

#4

One above is connecting wireless via dongle, below is connecting directly using a cable:

 

Aug 30 09:51:00 virtualhere mtp-probe[10768]: checking bus 1, device 31: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 09:51:00 virtualhere mtp-probe[10768]: bus: 1, device: 31 was not an MTP device
Aug 30 09:51:00 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 31 using xhci_hcd
Aug 30 09:51:01 virtualhere vhusbdarm64a72[753]: Device 113 [3537:0575] BOUND to connection 48
Aug 30 09:51:01 virtualhere mtp-probe[10808]: checking bus 1, device 31: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 09:51:01 virtualhere mtp-probe[10808]: bus: 1, device: 31 was not an MTP device
Aug 30 09:51:01 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 31 using xhci_hcd
Aug 30 09:51:03 virtualhere kernel: usb 1-1.3: USB disconnect, device number 31
Aug 30 09:51:03 virtualhere vhusbdarm64a72[753]: Device 113 [3537:0575] SURPRISE UNBOUND from connection 48
Aug 30 09:51:03 virtualhere vhusbdarm64a72[753]: Unmanaging device 113 [3537:0575]
Aug 30 09:54:20 virtualhere kernel: usb 1-1.3: new full-speed USB device number 32 using xhci_hcd
Aug 30 09:54:20 virtualhere kernel: usb 1-1.3: config index 0 descriptor too short (expected 80, got 73)
Aug 30 09:54:20 virtualhere kernel: usb 1-1.3: string descriptor 0 read error: -32
Aug 30 09:54:20 virtualhere kernel: usb 1-1.3: New USB device found, idVendor=3537, idProduct=100a, bcdDevice= 1.89
Aug 30 09:54:20 virtualhere kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Aug 30 09:54:20 virtualhere kernel: usb 1-1.3: can't set config #1, error -32
Aug 30 09:54:20 virtualhere vhusbdarm64a72[753]: Warning, could not open device product file /sys//devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/product, error 2 (No such file or directory)
Aug 30 09:54:20 virtualhere vhusbdarm64a72[753]: Found Full speed device [3537:100a] "0x3537, 0x100a" at address 113
Aug 30 09:54:20 virtualhere mtp-probe[10997]: checking bus 1, device 32: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 09:54:20 virtualhere mtp-probe[10997]: bus: 1, device: 32 was not an MTP device
Aug 30 09:54:20 virtualhere mtp-probe[10998]: checking bus 1, device 32: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 09:54:20 virtualhere mtp-probe[10998]: bus: 1, device: 32 was not an MTP device
Aug 30 09:54:21 virtualhere vhusbdarm64a72[753]: Error -1 resetting device 0x3537/0x100a for capture
Aug 30 09:54:21 virtualhere vhusbdarm64a72[753]: Error binding device 113 [3537:100a] to connection 48, BIND_ERROR
Aug 30 09:54:21 virtualhere vhusbdarm64a72[753]: Unmanaging device 113 [3537:100a]
Aug 30 09:54:21 virtualhere kernel: usb 1-1.3: USB disconnect, device number 32
Aug 30 09:54:22 virtualhere kernel: usb 1-1.3: new full-speed USB device number 33 using xhci_hcd
Aug 30 09:54:22 virtualhere kernel: usb 1-1.3: New USB device found, idVendor=3537, idProduct=1022, bcdDevice= 1.89
Aug 30 09:54:22 virtualhere kernel: usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
Aug 30 09:54:22 virtualhere kernel: usb 1-1.3: Product: GameSir-G7 Pro
Aug 30 09:54:22 virtualhere kernel: input: GameSir-G7 Pro as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:3537:1022.0051/input/input129
Aug 30 09:54:22 virtualhere kernel: hid-generic 0003:3537:1022.0051: input,hidraw0: USB HID v1.10 Gamepad [GameSir-G7 Pro] on usb-0000:01:00.0-1.3/input0
Aug 30 09:54:22 virtualhere kernel: hid-generic 0003:3537:1022.0052: ignoring exceeding usage max
Aug 30 09:54:22 virtualhere kernel: input: GameSir-G7 Pro Keyboard as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.1/0003:3537:1022.0052/input/input130
Aug 30 09:54:22 virtualhere kernel: input: GameSir-G7 Pro Mouse as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.1/0003:3537:1022.0052/input/input131
Aug 30 09:54:22 virtualhere kernel: hid-generic 0003:3537:1022.0052: input,hiddev96,hidraw1: USB HID v1.10 Keyboard [GameSir-G7 Pro] on usb-0000:01:00.0-1.3/input1
Aug 30 09:54:22 virtualhere vhusbdarm64a72[753]: Found Full speed device [3537:1022] "0x3537, GameSir-G7 Pro" at address 113
Aug 30 09:54:22 virtualhere mtp-probe[11002]: checking bus 1, device 33: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 09:54:22 virtualhere mtp-probe[11002]: bus: 1, device: 33 was not an MTP device
Aug 30 09:54:22 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 33 using xhci_hcd
Aug 30 09:54:22 virtualhere vhusbdarm64a72[753]: Device 113 [3537:1022] BOUND to connection 48
Aug 30 09:54:22 virtualhere mtp-probe[11013]: checking bus 1, device 33: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 09:54:22 virtualhere mtp-probe[11013]: bus: 1, device: 33 was not an MTP device
Aug 30 09:54:23 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 33 using xhci_hcd
 

#5

Try this, ssh to the pi

systemctl stop virtualhere

edit the /usr/local/etc/virtualhere/config.ini file and add the line

ClaimPorts=1

then save and reboot the pi

then try again via VirtualHere.

If it still doesn't work then in the VirtualHere client, right click on the Gamesir and select Custom Event Handler and paste exactly this in:

onReset.$VENDOR_ID$.$PRODUCT_ID$=

then try to use it again via VirtualHere 

 

#6

Neither worked

Without changes on the client side but with the suggested server side changes:
Connecting controller:

Aug 30 11:01:20 virtualhere vhusbdarm64a72[753]: Unmanaging device 113 [3537:1022]
Aug 30 11:01:20 virtualhere kernel: usb 1-1.3: USB disconnect, device number 15
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: new full-speed USB device number 16 using xhci_hcd
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: New USB device found, idVendor=3537, idProduct=0575, bcdDevice= 1.39
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: Product: Xbox 360 Controller for Windows
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: Manufacturer: Guangzhou Chicken Run Network Technology Co., Ltd.
Aug 30 11:01:21 virtualhere vhusbdarm64a72[753]: Found Full speed device [3537:0575] "Guangzhou Chicken Run Network Technology Co., Ltd., Xbox 360 Controller for Windows" at address 113
Aug 30 11:01:21 virtualhere mtp-probe[3528]: checking bus 1, device 16: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:01:21 virtualhere mtp-probe[3528]: bus: 1, device: 16 was not an MTP device
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 16 using xhci_hcd
Aug 30 11:01:21 virtualhere vhusbdarm64a72[753]: Device 113 [3537:0575] BOUND to connection 1
Aug 30 11:01:21 virtualhere mtp-probe[3529]: checking bus 1, device 16: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:01:21 virtualhere mtp-probe[3529]: bus: 1, device: 16 was not an MTP device
Aug 30 11:01:22 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 16 using xhci_hcd
Aug 30 11:01:23 virtualhere kernel: usb 1-1.3: USB disconnect, device number 16
Aug 30 11:01:23 virtualhere vhusbdarm64a72[753]: Device 113 [3537:0575] SURPRISE UNBOUND from connection 1
Aug 30 11:01:23 virtualhere vhusbdarm64a72[753]: Unmanaging device 113 [3537:0575]
Aug 30 11:01:06 virtualhere kernel: usb 1-1.3: new full-speed USB device number 15 using xhci_hcd
Aug 30 11:01:06 virtualhere kernel: usb 1-1.3: New USB device found, idVendor=3537, idProduct=1022, bcdDevice= 1.00
Aug 30 11:01:06 virtualhere kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 30 11:01:06 virtualhere kernel: usb 1-1.3: Product: GameSir-G7 Pro
Aug 30 11:01:06 virtualhere kernel: usb 1-1.3: Manufacturer: Guangzhou Chicken Run Network Technology Co., Ltd.
Aug 30 11:01:06 virtualhere vhusbdarm64a72[753]: Found Full speed device [3537:1022] "Guangzhou Chicken Run Network Technology Co., Ltd., GameSir-G7 Pro" at address 113
Aug 30 11:01:06 virtualhere mtp-probe[3522]: checking bus 1, device 15: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:01:06 virtualhere mtp-probe[3522]: bus: 1, device: 15 was not an MTP device
Aug 30 11:01:06 virtualhere mtp-probe[3523]: checking bus 1, device 15: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:01:06 virtualhere mtp-probe[3523]: bus: 1, device: 15 was not an MTP device

Then later disconnecting it:

Aug 30 11:01:20 virtualhere vhusbdarm64a72[753]: Unmanaging device 113 [3537:1022]
Aug 30 11:01:20 virtualhere kernel: usb 1-1.3: USB disconnect, device number 15
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: new full-speed USB device number 16 using xhci_hcd
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: New USB device found, idVendor=3537, idProduct=0575, bcdDevice= 1.39
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: Product: Xbox 360 Controller for Windows
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: Manufacturer: Guangzhou Chicken Run Network Technology Co., Ltd.
Aug 30 11:01:21 virtualhere vhusbdarm64a72[753]: Found Full speed device [3537:0575] "Guangzhou Chicken Run Network Technology Co., Ltd., Xbox 360 Controller for Windows" at address 113
Aug 30 11:01:21 virtualhere mtp-probe[3528]: checking bus 1, device 16: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:01:21 virtualhere mtp-probe[3528]: bus: 1, device: 16 was not an MTP device
Aug 30 11:01:21 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 16 using xhci_hcd
Aug 30 11:01:21 virtualhere vhusbdarm64a72[753]: Device 113 [3537:0575] BOUND to connection 1
Aug 30 11:01:21 virtualhere mtp-probe[3529]: checking bus 1, device 16: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:01:21 virtualhere mtp-probe[3529]: bus: 1, device: 16 was not an MTP device
Aug 30 11:01:22 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 16 using xhci_hcd
Aug 30 11:01:23 virtualhere kernel: usb 1-1.3: USB disconnect, device number 16
Aug 30 11:01:23 virtualhere vhusbdarm64a72[753]: Device 113 [3537:0575] SURPRISE UNBOUND from connection 1
Aug 30 11:01:23 virtualhere vhusbdarm64a72[753]: Unmanaging device 113 [3537:0575]

Now, I also did changes on the client side [keeping the server change in place]. 

Connecting:

Aug 30 11:03:56 virtualhere kernel: usb 1-1.3: new full-speed USB device number 19 using xhci_hcd
Aug 30 11:03:56 virtualhere kernel: usb 1-1.3: New USB device found, idVendor=3537, idProduct=1022, bcdDevice= 1.00
Aug 30 11:03:56 virtualhere kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 30 11:03:56 virtualhere kernel: usb 1-1.3: Product: GameSir-G7 Pro
Aug 30 11:03:56 virtualhere kernel: usb 1-1.3: Manufacturer: Guangzhou Chicken Run Network Technology Co., Ltd.
Aug 30 11:03:56 virtualhere vhusbdarm64a72[753]: Found Full speed device [3537:1022] "Guangzhou Chicken Run Network Technology Co., Ltd., GameSir-G7 Pro" at address 113
Aug 30 11:03:56 virtualhere vhusbdarm64a72[753]: Executed "" for onReset.3537.1022
Aug 30 11:03:56 virtualhere vhusbdarm64a72[753]: Device 113 [3537:1022] BOUND to connection 1
Aug 30 11:03:56 virtualhere mtp-probe[4072]: checking bus 1, device 19: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:03:56 virtualhere mtp-probe[4072]: bus: 1, device: 19 was not an MTP device
Aug 30 11:03:56 virtualhere mtp-probe[4073]: checking bus 1, device 19: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:03:56 virtualhere mtp-probe[4073]: bus: 1, device: 19 was not an MTP device
Aug 30 11:03:56 virtualhere vhusbdarm64a72[753]: Executed "" for onReset.3537.1022

Disconnecting:

Aug 30 11:04:37 virtualhere vhusbdarm64a72[753]: Executed "" for onReset.3537.1022
Aug 30 11:04:37 virtualhere kernel: usb 1-1.3: USB disconnect, device number 19
Aug 30 11:04:37 virtualhere vhusbdarm64a72[753]: Device 113 [3537:1022] SURPRISE UNBOUND from connection 1
Aug 30 11:04:37 virtualhere vhusbdarm64a72[753]: Unmanaging device 113 [3537:1022]
Aug 30 11:04:38 virtualhere kernel: usb 1-1.3: new full-speed USB device number 20 using xhci_hcd
Aug 30 11:04:38 virtualhere kernel: usb 1-1.3: New USB device found, idVendor=3537, idProduct=0575, bcdDevice= 1.39
Aug 30 11:04:38 virtualhere kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 30 11:04:38 virtualhere kernel: usb 1-1.3: Product: Xbox 360 Controller for Windows
Aug 30 11:04:38 virtualhere kernel: usb 1-1.3: Manufacturer: Guangzhou Chicken Run Network Technology Co., Ltd.
Aug 30 11:04:38 virtualhere vhusbdarm64a72[753]: Found Full speed device [3537:0575] "Guangzhou Chicken Run Network Technology Co., Ltd., Xbox 360 Controller for Windows" at address 113
Aug 30 11:04:38 virtualhere mtp-probe[4237]: checking bus 1, device 20: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:04:38 virtualhere mtp-probe[4237]: bus: 1, device: 20 was not an MTP device
Aug 30 11:04:38 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 20 using xhci_hcd
Aug 30 11:04:38 virtualhere vhusbdarm64a72[753]: Device 113 [3537:0575] BOUND to connection 1
Aug 30 11:04:38 virtualhere mtp-probe[4258]: checking bus 1, device 20: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:04:38 virtualhere mtp-probe[4258]: bus: 1, device: 20 was not an MTP device
Aug 30 11:04:38 virtualhere kernel: usb 1-1.3: reset full-speed USB device number 20 using xhci_hcd
Aug 30 11:04:40 virtualhere kernel: usb 1-1.3: USB disconnect, device number 20
Aug 30 11:04:40 virtualhere vhusbdarm64a72[753]: Device 113 [3537:0575] SURPRISE UNBOUND from connection 1
Aug 30 11:04:40 virtualhere vhusbdarm64a72[753]: Unmanaging device 113 [3537:0575]

 

#7

Note when I connect I briefly see Xbox 360 Controller for Windows device which changes to GameSir-G7 Pro quickly after maybe a second long delay.

#8

Right click on the Gamesir again and then select Custom Event Handler and paste in this line

onReset.3537.0575=

then press OK and try again.

#9

Still not working.

Connecting:

Aug 30 11:21:05 virtualhere kernel: usb 1-1.3: new full-speed USB device number 23 using xhci_hcd
Aug 30 11:21:05 virtualhere kernel: usb 1-1.3: New USB device found, idVendor=3537, idProduct=1022, bcdDevice= 1.00
Aug 30 11:21:05 virtualhere kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 30 11:21:05 virtualhere kernel: usb 1-1.3: Product: GameSir-G7 Pro
Aug 30 11:21:05 virtualhere kernel: usb 1-1.3: Manufacturer: Guangzhou Chicken Run Network Technology Co., Ltd.
Aug 30 11:21:05 virtualhere vhusbdarm64a72[753]: Found Full speed device [3537:1022] "Guangzhou Chicken Run Network Technology Co., Ltd., GameSir-G7 Pro" at address 113
Aug 30 11:21:05 virtualhere vhusbdarm64a72[753]: Executed "" for onReset.3537.1022
Aug 30 11:21:05 virtualhere vhusbdarm64a72[753]: Device 113 [3537:1022] BOUND to connection 19
Aug 30 11:21:05 virtualhere mtp-probe[4921]: checking bus 1, device 23: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:21:05 virtualhere mtp-probe[4921]: bus: 1, device: 23 was not an MTP device
Aug 30 11:21:05 virtualhere mtp-probe[4922]: checking bus 1, device 23: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:21:05 virtualhere mtp-probe[4922]: bus: 1, device: 23 was not an MTP device
Aug 30 11:21:05 virtualhere vhusbdarm64a72[753]: Executed "" for onReset.3537.1022

Disconnecting:

Aug 30 11:22:05 virtualhere vhusbdarm64a72[753]: Executed "" for onReset.3537.1022
Aug 30 11:22:05 virtualhere kernel: usb 1-1.3: USB disconnect, device number 23
Aug 30 11:22:05 virtualhere vhusbdarm64a72[753]: Device 113 [3537:1022] SURPRISE UNBOUND from connection 19
Aug 30 11:22:05 virtualhere vhusbdarm64a72[753]: Unmanaging device 113 [3537:1022]
Aug 30 11:22:06 virtualhere kernel: usb 1-1.3: new full-speed USB device number 24 using xhci_hcd
Aug 30 11:22:06 virtualhere kernel: usb 1-1.3: New USB device found, idVendor=3537, idProduct=0575, bcdDevice= 1.39
Aug 30 11:22:06 virtualhere kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 30 11:22:06 virtualhere kernel: usb 1-1.3: Product: Xbox 360 Controller for Windows
Aug 30 11:22:06 virtualhere kernel: usb 1-1.3: Manufacturer: Guangzhou Chicken Run Network Technology Co., Ltd.
Aug 30 11:22:06 virtualhere vhusbdarm64a72[753]: Found Full speed device [3537:0575] "Guangzhou Chicken Run Network Technology Co., Ltd., Xbox 360 Controller for Windows" at address 113
Aug 30 11:22:06 virtualhere vhusbdarm64a72[753]: Executed "" for onReset.3537.0575
Aug 30 11:22:06 virtualhere vhusbdarm64a72[753]: Device 113 [3537:0575] BOUND to connection 19
Aug 30 11:22:06 virtualhere mtp-probe[5083]: checking bus 1, device 24: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:22:06 virtualhere mtp-probe[5083]: bus: 1, device: 24 was not an MTP device
Aug 30 11:22:06 virtualhere mtp-probe[5089]: checking bus 1, device 24: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Aug 30 11:22:06 virtualhere mtp-probe[5089]: bus: 1, device: 24 was not an MTP device
Aug 30 11:22:07 virtualhere vhusbdarm64a72[753]: Executed "" for onReset.3537.0575
Aug 30 11:22:08 virtualhere vhusbdarm64a72[753]: Error 22 discarding urb 0x7faf289020 for device /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3, Invalid argument (abort endpoint)
Aug 30 11:22:08 virtualhere vhusbdarm64a72[753]: Executed "" for onReset.3537.0575
Aug 30 11:22:08 virtualhere kernel: usb 1-1.3: USB disconnect, device number 24
Aug 30 11:22:08 virtualhere vhusbdarm64a72[753]: Device 113 [3537:0575] SURPRISE UNBOUND from connection 19
Aug 30 11:22:08 virtualhere vhusbdarm64a72[753]: Unmanaging device 113 [3537:0575]
 

#10

I suspect what is happening is that the controller is told to reboot as an Xbox Controller which it does OK. But some command it sent, which i dont think should be, which causes the firmware to then jam and SURPRISE UNBOUND (means the device itself rebooted and dropped of the USB bus)

You could try this

Right click on the gamesir again and select Custom Event Handler then try

onSetConfiguration.3537.0575=

Then try using again.If that doesnt work still then its not going to wokr via virtualhere unfortunately.

#11

I think it's the opposite. Initially device connects as a generic Xbox 360 Controller for Windows and then it told to reboot as GameSir-G7 Pro which seems to work, as it stays connected as that, and I even see it in the device manager – but somehow is not detected by any software.

When I added onSetConfiguration.3537.0575= it started to connect/disconnect as Xbox 360 Controller for Windows in a forever loop.

Is there a chance to get it fixed in e.g. next version?

#12

I dont have that controller to test with, so it won't be fixed soon 

#13

Hey! I recently bought the G7 Pro and ran into this exact same issue.

When connected via VirtualHere, the controller first showed up as “Xbox 360 Controller.” Connecting that made it disappear & “GameSir G7 Pro” appear, but connecting that left the controller non-functional with only the SHARE button working.

What fixed it for me was holding the SHARE + START buttons for 3 seconds to force the G7 Pro into XInput mode. After that, the controller worked perfectly through VirtualHere + the GameSir Nexus app fully recognised it as well.

Reconnecting the controller after turning it off and on can still be a bit flaky after applying this fix. In my case, it first shows up as “Xbox 360 Controller for Windows,” briefly disconnects, reconnects as “GameSir G7 Pro”, but then works fine.

#14

Thanks for letting others know about this workaround @laff

#15

Thank you! I just bought a GameSir G7 Pro and was trying to get it to stream my PC over an Nvidia Shield. I had similar issues. VirtualHere needed to be configured to share the controller multiple times as if it was actually several different devices to actually work. I tried your SHARE + START method and noticed it being picked up differently (Xbox 360 vs a GameSir G7 Pro). I repeatedly fully powered on and off the controller and changed modes back and forth with SHARE + START, then Android (my Nvidia Shield) eventually popped up some prompts asking if I wanted to let VirtualShare control the device. Once I got those prompts in Android and told it to share every different configuration the controller popped up as (it happened probably 4 or 5 times), everything started working perfectly. I don't know what actually triggered it to give me the prompt to allow it access, it took multiple cycles of this method before it finally gave me the prompt. It seemed random. The first few times I tried your method it changed to a Xbox 360 controller, but did not give me any new prompts to allow access. So, anyone else trying to get this controller to work thru an Android device, just keep doing it over and over until it prompts you. 

What would help is some kind of way to select the device inside the VirtualHere app based on connection history, so you could force the prompt yourself. But I have no idea if these things actually work that way.

How did you find out about the SHARE+START trick? Is there a list of hidden shortcuts like that somewhere for this controller? Would be good to know for additional future troubleshooting.

 

#16

Good to hear you got it working as well!

I happened to find a message on the Gamesir Discord server suggesting the SHARE + START combo to force the G7 Pro into XInput mode. I checked GameSir's official support/FAQ pages and couldn't find any official mention of it.

#17

I’ve been reading the thread regarding the GameSir G7 Pro and VirtualHere, and I'm currently stuck in a similar situation. 

My GameSir G7 Pro works perfectly when connected via USB cable but it fails to initialize correctly when using its wireless dongle. I’ve been trying to replicate the SHARE + START combination mentioned by @laff to force XInput mode, but it doesn't seem to trigger any mode change in my case. 

Is there a specific "timing" or state the controller needs to be in for it to work? Did you manage to get it working using the wireless dongle, or was the solution only applicable to a direct wired connection? 

#18

Hi, quick questions for you who succeeded to get it working via dongle on Nvidia Shield: Do you get rumble (vibration) in Steam games?

I just noticed that, while the controller works perfectly in games, I do not get any vibrations...

But if I connect the same way (via dongle) to the PC directly, I get rumble.

The other funny thing is that when connected to the Shield through Virtualhere, Steam (on PC) sees the controller as "Generic controller", but when connected to the PC directly (still via dongle) Steam sees is as "Xbox controller", and all works fine in games.

So it seems Virtualhere doesn't just make it appear as connected locally, it also "changes" some specs of the device, as it is not recognized the same way...
I guess that I don't get rumble because it is seen as "Generic controller", although Steam Input is enabled for "Generic controllers", and Rumble is activated for them too.

This is a little bit annoying to miss vibrations, it is useful in most games I play.

Any idea on how to fix this?

For info, my setup is:
Nvidia Shield (latest version), running Virtualhere server (paid), latest version.
PC is Windows 11 (latest version), running Virtualhere client, latest version (6.0.2)
Usage is streaming PC games to the Shield, Connected by Ethernet at 1Gbps. Setup is super stable, no issues.

#19

@ludogoqc - I had the same issue at first but I did get it working. Read my reply above. As mentioned, I had to get it to trigger the prompt to let VirtualHere control it several times. I don't know what triggered it to give me the prompt and what triggered it to show up as different types of controllers, but I just cycled through the tricks mentioned here over and over and eventually my Shield picked up all the different iterations of the controller that Windows seems to pick it up as, and I was able to give Virtualhere approval to control it on all of them. After that everything worked as it should, vibration and all.

 

P.S. I understand no one asked this, but still sharing in case its helpful:

I recently found a better solution! I got a Steam Controller 2 and was unable to get VirtualHere to work with that. I imagine with enough tinkering it should be possible to get that to work through VirtualHere too...maybe just with some hoops to jump through similar to the GameSir G7. However I ultimately found a "USB Over Ethernet" kit that worked out of the box so I gave up on VirtualHere. If your house is wired for Ethernet, I recommend doing that instead for an easier solution: Its two boxes: one side plugs into my PC's USB port, and the other side is a USB hub I put next to my Nvidia Shield. They are then connected via Ethernet cable. Its basically a super long USB extension cable, except instead of the extension actually being a really long USB, it sends the signal over Ethernet, then coverts to USB on both sides. I love this solution because no one has USB cables wired through their walls, but a lot of people have Ethernet in their walls! I have RJ45 ports in the wall both at my PC and TV/Shield so I just plugged this thing into my house's existing internal cabling, and unlike with VirtualHere, it immediately all worked right out of the box. I still admit though that if your house does not have pre-existing Ethernet ports everywhere, then VirtualHere is an excellent alternative. (...or make a bunch of holes in your walls and run some cables, its awesome!).  

 

#20

@Nev, I will give a try to the "multiple SHARE + START" method, I remember I had to do it once to get it into Xinput mode, but will see if doing it again will make it recognized as a Xbox controller.

Running a long Ethernet cable as USB extender might be my next option, as I had a fair share of issues with Gamesir controllers specifically (had the Cyclone 2 before the G7 Pro), I don't know if Virtualhere has problem with them, or if this is the other way around, but still, not easy to get it working...

Thanks for the tip anyway!

#21

It works!
Just gave a try to the "SHARE + START" method, and it fixed the issue! Just had to do it once actually, after the controller was powered on.
I didn't get any new popup on the Shield though, as the device was already allowed and used as "GameSir G7 Pro", but I heard the Windows noise of a USB device being connected or disconnected, so I knew that something happened. When I checked in Steam, it was now seen as an Xbox controller, as it should have, and rumble was working.

So thanks to people mentioning that "SHARE + START" method here, that was the fix for me.

On the other hand, it is still strange that everything was working perfectly while connected (via dongle) in the PC directly, I didn't have to mess with all those button combinations to make it work as an Xbox controller...