This driver only works with pre-3.14 linux kernels, the movement of usbip linux to source has changed it enough to not support the old windows client.
Thanks to Prasanth for verification:
I re compiled the kernel 3.14.x for my custom arm board called "SAMA5D3 xplained".
It worked as expected. Any kernel greater that "3.14.x" is not compatible with the user space code."
Last edit: Daniel Mitchell 2017-06-30
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Daniel,
I have patched the windows client code based on the suggested changes in the forum. It was working fine(with kernel 3.6.1) without bsod. Now the usbip linux code has been migrated to use libudev in the latest kernel(3.16.1). which is not working properly with the existing windows client. I am able to bind the device but i am not able to attach. The bNUmInterfaces returned from the linux server is always zero so the windows cleint is not able to query the interface details.
Any thoughts on this ? Did you get any chance by attaching a usb device exported by the latest linux kernel(>=3.16.x)
On what VERSION of kernel is your client compatible with ?
Please advice
Regards
Prasanth
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It seems that this project has become old enough to become permanently broken, I am having the same problems now after upgrading my kernel and I don't think that it will be an easy fix. Unfortunately no one is actively developing this project anymore, so it may never be fixed.
I do know that usbipd version 3.14 works, but you will have to downgrade your kernel to a version of linux that supports this version, as linux 3.16 does not support usbipd 3.14. (Maybe linux kernel 3.14? I'm not really sure).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Daniel,
I re compiled the kernel 3.14.x for my custom arm board called "SAMA5D3 xplained".It worked as expected. Any kernel greater that "3.14.x" is not compatible with the user space code. But the surprising thing is from kernel 3.15.x , the usbip code has been moved out from staging and moved to source.
:P #FeelingConfused
Last edit: Prasanth 2014-10-15
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Was there ever an update about getting this version signed? I was looking forward to using this on a server appliance, but obviously unexpected reboots aren't so healthy...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That's a bummer Daniel. Have you tried their mailing list/forum?
I'm interested in running USB/IP on Appveyor for automated testing purposes. But I can't seem to get the binaries as-is working in Windows 10 in my local VMs with test signing disabled. I installed the enumerator with the legacy device installation but usbip.exe -lD 127.0.0.1 shows it failing to connect to a port on localhost. The USB enumerator device does show up in Device manager. Do I need to do more?
I'll try Windows 8.1/Server 2012 R2 sometime soon later. There's a concept with Appveyor I want to try but I got to see if the binaries work first in a VM where I can actually turn off test signing before investing further including things like signing the driver.
My question is, anybody have Daniel's binaries working on Windows 10?
Last edit: Nelson Chen 2015-11-23
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Daniel
I tried your windows driver and usbip.exe, it works on my win7-32 client and linux-3.10 server,great. I'm interested in making windows client to work with linux server greater than 3.16, would you pls post the source of your usbip.exe. Thanks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
What is needed to build the windows driver and the windows client? Is it possible with Mingw-w64? Since the development is dead as far as I can see, should we fork the windows driver side on github an try to get it working with current kernels?
-- Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for this patch.
However, I am struggling to get the usbip.ids file read to recogonize the device vendor and product. That is, I am still getting the output:
Since I haven't heard from you, I've gone through your code and it seems you only modified pnp.c. I hope I correctly identified the modifications (in two functions from what I can see). I'll be creating a patch with your info and I'll add my "Reviewed-by" under my fork (moved to GitHub).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Nice work! But one "error" is in the "usbip.exe": the program has "forget" to open the "usb.ids" file to identify the bind device(s)!
The old version open the "usb.ids" file (you can check it with Sysinternals "Procmon". Click on the "Show File System Activity" button and start the logging).
If I try to attach a device (with the patched version) I get the following error: "ERROR: cannot find device".
I think the reason is that "usbip.exe" (patched version) not read the "usb.ids" file.
I get the same "unknown vendor" / "unknown product" output as Lars Folkerts reported.
P.S.: I use usbip on BPi (Banana Pi) with ARMBIAN (kernel 4.13.16) and I think it work 100 %!
The "usbip" driver are the kernel driver.
Last edit: DXler 2017-12-02
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I'm experiencing the following problem.
- Connect and disconnect all work (rapsberry server, win10 client).
- However, sometimes there are BSOD's occuring when connecting a USB device.
- Sometimes means:
- on certain computers, there are BSOD's, other computers don't experience the problem
- the problem is not reproducible (so far) and does not always occur, it tends to be at random
- it looks like more recent computers have more often trouble
For now, I use the original (signed) driver. Is it better to use the unsigned variant? Is this problem actively addressed in the 2.0.0 version? If so, has the usbip executable also been modified, or is this one not changed?
Thanks in advance!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It would be great if someone could get the patched driver signed. The original driver was signed by the reactos people with their signing key. The same could be done for this one.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
To make this client a little more usable I am going to compile all the information about it in one thread.
The version I patched/compiled myself is here, fixes the BSOD on disconnect problem:
https://www.dropbox.com/s/oox021z1d7zblmu/usbip.zip?dl=0
Patched driver source:
https://www.dropbox.com/s/4qkq6gq7uui12j4/driver.7z?dl=0
However, this driver is NOT signed, so you will have to follow these directions helpfully written up by reaxion:
And then restart Windows.
This driver only works with pre-3.14 linux kernels, the movement of usbip linux to source has changed it enough to not support the old windows client.
Thanks to Prasanth for verification:
Last edit: Daniel Mitchell 2017-06-30
I can't open the url, how can i get the Patched driver source.
Hi Daniel,
I have patched the windows client code based on the suggested changes in the forum. It was working fine(with kernel 3.6.1) without bsod. Now the usbip linux code has been migrated to use libudev in the latest kernel(3.16.1). which is not working properly with the existing windows client. I am able to bind the device but i am not able to attach. The bNUmInterfaces returned from the linux server is always zero so the windows cleint is not able to query the interface details.
Any thoughts on this ? Did you get any chance by attaching a usb device exported by the latest linux kernel(>=3.16.x)
On what VERSION of kernel is your client compatible with ?
Please advice
Regards
Prasanth
It seems that this project has become old enough to become permanently broken, I am having the same problems now after upgrading my kernel and I don't think that it will be an easy fix. Unfortunately no one is actively developing this project anymore, so it may never be fixed.
I do know that usbipd version 3.14 works, but you will have to downgrade your kernel to a version of linux that supports this version, as linux 3.16 does not support usbipd 3.14. (Maybe linux kernel 3.14? I'm not really sure).
Hi Daniel,
I re compiled the kernel 3.14.x for my custom arm board called "SAMA5D3 xplained".It worked as expected. Any kernel greater that "3.14.x" is not compatible with the user space code. But the surprising thing is from kernel 3.15.x , the usbip code has been moved out from staging and moved to source.
:P #FeelingConfused
Last edit: Prasanth 2014-10-15
Yeah they changed something. I wonder if someone with some initiative ported the new client from linux to Windows, maybe the driver would still work.
Was there ever an update about getting this version signed? I was looking forward to using this on a server appliance, but obviously unexpected reboots aren't so healthy...
The signing guys never emailed me back, so its a no-go
That's a bummer Daniel. Have you tried their mailing list/forum?
I'm interested in running USB/IP on Appveyor for automated testing purposes. But I can't seem to get the binaries as-is working in Windows 10 in my local VMs with test signing disabled. I installed the enumerator with the legacy device installation but
usbip.exe -lD 127.0.0.1
shows it failing to connect to a port on localhost. The USB enumerator device does show up in Device manager. Do I need to do more?I'll try Windows 8.1/Server 2012 R2 sometime soon later. There's a concept with Appveyor I want to try but I got to see if the binaries work first in a VM where I can actually turn off test signing before investing further including things like signing the driver.
My question is, anybody have Daniel's binaries working on Windows 10?
Last edit: Nelson Chen 2015-11-23
Whoops, I'm an idiot. This doesn't support intercepting and filtering USB devices on Windows. That's OK, I guess. Still, this might be still useful.
subscribing
Hi Daniel
I tried your windows driver and usbip.exe, it works on my win7-32 client and linux-3.10 server,great. I'm interested in making windows client to work with linux server greater than 3.16, would you pls post the source of your usbip.exe. Thanks.
Driver source is in top post, client source can be downloaded from the repository, I have made no changes to the client.
Last edit: Daniel Mitchell 2016-01-21
What is needed to build the windows driver and the windows client? Is it possible with Mingw-w64? Since the development is dead as far as I can see, should we fork the windows driver side on github an try to get it working with current kernels?
-- Andy
Thanks for this patch.
However, I am struggling to get the usbip.ids file read to recogonize the device vendor and product. That is, I am still getting the output:
1-1.3: unknown vendor : unknown product (046d:c05a)
: /sys/devices/platform/soc/20980000.usb/usb1/1-1/1-1.3
: (Defined at Interface level) (00/00/00)
1-1.2: unknown vendor : unknown product (0483:3748)
: /sys/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2
: (Defined at Interface level) (00/00/00)
Edit: I am using too new of a kernel - I will need to downgrade
Last edit: Lars Folkerts 2016-02-18
Links are updated so that they are not broken anymore. Dropbox shenanigans.
Hi Daniel,
Would it be possible for you to provide a patch file containing only the modifications between your code and the master code?
I'm looking into forking the code to revive it. If I jump on the wagon, I'd like to add any patches lying around with the proper attributions.
Thank you.
Since I haven't heard from you, I've gone through your code and it seems you only modified pnp.c. I hope I correctly identified the modifications (in two functions from what I can see). I'll be creating a patch with your info and I'll add my "Reviewed-by" under my fork (moved to GitHub).
@Daniel Mitchell:
Nice work! But one "error" is in the "usbip.exe": the program has "forget" to open the "usb.ids" file to identify the bind device(s)!
The old version open the "usb.ids" file (you can check it with Sysinternals "Procmon". Click on the "Show File System Activity" button and start the logging).
If I try to attach a device (with the patched version) I get the following error: "ERROR: cannot find device".
I think the reason is that "usbip.exe" (patched version) not read the "usb.ids" file.
I get the same "unknown vendor" / "unknown product" output as Lars Folkerts reported.
P.S.: I use usbip on BPi (Banana Pi) with ARMBIAN (kernel 4.13.16) and I think it work 100 %!
The "usbip" driver are the kernel driver.
Last edit: DXler 2017-12-02
Hi,
I'm experiencing the following problem.
- Connect and disconnect all work (rapsberry server, win10 client).
- However, sometimes there are BSOD's occuring when connecting a USB device.
- Sometimes means:
- on certain computers, there are BSOD's, other computers don't experience the problem
- the problem is not reproducible (so far) and does not always occur, it tends to be at random
- it looks like more recent computers have more often trouble
For now, I use the original (signed) driver. Is it better to use the unsigned variant? Is this problem actively addressed in the 2.0.0 version? If so, has the usbip executable also been modified, or is this one not changed?
Thanks in advance!
It would be great if someone could get the patched driver signed. The original driver was signed by the reactos people with their signing key. The same could be done for this one.
You could probably get the driver test signed my MakeCert. if that doesnt apply when distributed, include a guide to get them signed