Alexander Zubkov <gr...@msu.ru> writes:

> Hi.
> I was trying to bring together Linux & Windows usbip and faced a
> problem with currently published on SourceForge windows driver and
> tools. usbip.exe -l <host> is saying:
> usbip err: ... (usbip_recv_op_common) recv op_common, -1
> ...
> Debugging and tcpdumping showed that problem lies in that Windows side
> thinks it speaks 0x0106 version of the protocol and Linux side think
> it is 0x0111. Git tree of Linux shows that its define in
> drivers/staging/usbip/userspace/configure.ac USBIP_VERSION was
> changing 0x0106 -> 0x0100 -> 0x0111 without obvious (to me at least)
> reasons.
> So Linux-side rejects connections because of protocol
> mistmatch. Currently, I have recompiled usbip-utils on Linux system
> with fixed version and it became speaking to Windows now. But I have
> not tested devices yet.
> I think this should be fixed somehow in usbip-utils - by downgrading
> version, or accepting other compatible versions.

Looks like you are right.  The USBIP_VERSION changes look like they were
unintentional.  The first one, commit e9837bbb3 (staging: usbip:
userspace tools v1.0.0) states:

   "Nothing significant has changed so compatibility with windows has
    _not_ been broken."

Which is clearly not true with this diff:

--- a/drivers/staging/usbip/userspace/configure.ac
+++ b/drivers/staging/usbip/userspace/configure.ac
@@ -1,8 +1,8 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT([usbip], [0.1.8], [usbip-de...@lists.sourceforge.net])
-AC_DEFINE([USBIP_VERSION], [0x000106], [numeric version number])
+AC_INIT([usbip], [1.0.0], [usbip-de...@lists.sourceforge.net])
+AC_DEFINE([USBIP_VERSION], [0x00000100], [binary-coded decimal version number])
 
 CURRENT=0
 REVISION=1


combined with code like this, using USBIP_VERSION from config.h:

        if (op_common.version != USBIP_VERSION) {
                err("version mismatch, %d %d", op_common.version, 
USBIP_VERSION);
                goto err;
        }


I believe the commit message clearly shows that this breakage was not
intended and that the USBIP_VERSION should be reverted to 0x000106


Bjørn
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to