cezanne / usbip-win

USB/IP for Windows
GNU General Public License v3.0
1.94k stars 349 forks source link

usbip Win11 is not supported #260

Closed we2008 closed 2 years ago

we2008 commented 3 years ago

usbip Win11 is not supported

noelhibbard commented 2 years ago

I just tested the client and server on Win11 and both worked perfect. I tested a gamepad in one direction and a webcam in the other. Both were fine. My next task is to get this working in WSL2 (Ubuntu).

e-t-l commented 2 years ago

@noelhibbard just to clarify (since I'm new to USBIP and this is relevant to my use case), if you have a gamepad physically plugged into the server device, and you run the USBIP Windows Client to connect to it, then it will appear (on the client device) as if that gamepad is plugged into a USB port on windows?

noelhibbard commented 2 years ago

@noelhibbard just to clarify (since I'm new to USBIP and this is relevant to my use case), if you have a gamepad physically plugged into the server device, and you run the USBIP Windows Client to connect to it, then it will appear (on the client device) as if that gamepad is plugged into a USB port on windows?

You are correct. Obviously this isn't a very good use case, I was simply testing and the client and server machines were right next to each other.

e-t-l commented 2 years ago

Obviously this isn't a very good use case

Why do you say that? Not to get too off-topic on this thread, but my goal is exactly that: To have two Win11 machines, one with a USB gamepad connected (Xbox One controller, specifically), and for that to appear as a connected USB device on the other Win11 machine. Does this not work very well? Is there high latency or something?

noelhibbard commented 2 years ago

I figured it would be hard to play a game while physically sitting in one place while the game is running at another location out of view. I guess there could be use cases for this afterall. I only used a gamepad because it was laying around and easy to test with. I didn't perceive any lag but I wasn't really testing for latency. I also tested a webcam connected at another computer over the internet and even that worked well.

e-t-l commented 2 years ago

@noelhibbard What gamepad did you use? Yesterday I just tested out my setup... USBIP runs correctly on both Win11 devices, the server device was able to bind the wired Xbox One controller, and the client device was able to detect and attach it. Then, the controller showed up under Device Manager on the client side (with no driver errors, too. It appears to be Connected and functioning normally). It also showed up in Control Panel > Devices. The only problem is, it doesn't seem to work. Button presses on the physical controller do not appear to have any effect on the client device, and if I run the Xbox Accessories app on the client (which normally will display all connected Xbox One controllers), it detects none. Do you have any ideas what I could do differently here?

noelhibbard commented 2 years ago

@e-t-l , I also tested with an Xbox One controller. My testing only when as far as seeing button presses within the joystick control panel (C:\WINDOWS\system32\joy.cpl). I didn't run any actual games. I also tested a webcam with success.

cezanne commented 2 years ago

I think that this issue can be closed. The issue of @e-t-l is not fundamentally related to Win11. Great thanks to @noelhibbard for resolving the issue.

e-t-l commented 2 years ago

@noelhibbard If I could trouble you for some more assistance, I've used USBIP to successfully bind an XB1 controller on one Win 11 computer, attach it on a 2nd Win 11 computer, and have Windows display it as if it were plugged in locally, i.e. it shows up under Device Manager and in its Properties it says it's running properly... but joy.cpl doesn't recognize its existence, and button presses aren't registered. Could you help me troubleshoot?

On the server PC I ran usbipd bind -f -b 1-2 and rebooted (because usbip said a reboot may be necessary). usbipd list -l shows the Xbox controller as shared (forced).

On the client PC I ran usbip attach -r <server.IP> -b 1-2 and it said it was attached successfully to port 0.

Note: When I originally tried to run usbipd bind -b 1-2 on the server (without force-binding it), it appeared to bind just fine, but when I attempted to attach on the client PC I got an error: already used bus id: 1-2. Force-binding was the only way to get the client to attach successfully. (I brought up this error in github.com/dorssel/usbipd-win/issues/363, and it was suggested to likely mean that the device was "in use" by the server PC. I don't know if you encountered the same thing.)

Is any of this different from what you experienced?