Discussion:
Request advice: "usb_modeswitch" and closed-source "usbdongle"
Josua Dietze
2013-09-02 18:34:35 UTC
Permalink
Hello everyone,

I will describe my case below, but I'm sending my questions ahead:

1. Is the evidence sufficient to prove code theft? Reason enough for a "cease and desist" request?

2. Does anyone have a recommendation for a lawyer who is familiar with the subject?

(I'm in Germany, by the way)


Here is the case:

I'm the author and maintainer of the Linux tool "usb_modeswitch" which includes several components to bring 3G/4G USB modems and several other devices from "Windows Installer" mode to their actual working mode.

It's far from being a piece of art, but I have collected a large bunch of device-specific knowledge; all major Linux distributions have it included by now. It is released under the GPL V2 or later.

At the end of May 2013, I bought a cheap tablet "TP7-1000DC (light)" from the German manufacturer i-onik:
http://i-onik.de/tp7zoll-dualcore

In the file system of the device I discovered these files:
usbdongle
usbdongled
libusbdongle.so

These were obviously involved in preparing and using 3G USB modems on the tablet.



Now, when I ran the "usbdongle" binary from the command line, it said:

Usage: usb_modeswitch [OPTION]
...


I dug into the binary "libusbdongle.so" and found these literal strings which are *identical* to the ones in usb_modeswitch:

MessageContent %d hex string has uneven length. Skipping ...
Trying to send message %d to endpoint 0x%02x ...
Looking for active driver ...
No driver found. Either detached before or never attached
OK, driver found ("%s")
Driver "%s" detach failed with error %d. Trying to continue
OK, driver "%s" detached
Sending Huawei control message ...
Error: sending Huawei control message failed (error %d). Aborting.
OK, Huawei control message sent
Accessing device %03d on bus %03d ...
Ambiguous Class/InterfaceClass: 0x%02x/0x08
Error: send endpoint not given or found. Aborting.
Error: respond endpoint not given or found. Aborting.
Error: could not get description string "manufacturer"
Error: could not get description string "product"
Error: could not get description string "serial number"
USB description data (for identification)
-------------------------
Manufacturer: %s
Product: %s
Serial No.: %s
Setting up communication with interface %d ...
Could not claim interface (error %d). Skipping message sending
Using endpoint 0x%02x for message sending ...
Reading the response to the message (CSW) ...
Resetting response endpoint 0x%02x
Error resetting endpoint: %d
Resetting message endpoint 0x%02x
Reset failed. Can be ignored if device switched OK.
OK, device was reset


I contacted the manufacturer "i-onik"; they were quick to release the kernel source code - even the whole firmware sources - which was commendable, but no source code of "usbdongle". They promised to take care of it, but I haven't heard of them in six weeks.
I have sent them a reminder but won't hold my breath.

Here is a link to a package with the binary files in question:
http://www.draisberghof.de/usb_modeswitch/usbdongle.zip

Here is a link to the source code of usb_modeswitch from 2011:
http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-1.1.7.tar.bz2

I chose this older version because there was a copyright notice in "libusbdongle.so" stating:
(C), 2011-2012 Cathay Communication Co., LTD.


Sorry for the lengthy message and thanks for the review!

Best regards,
Josua Dietze
Cole Johnson
2013-09-02 23:14:01 UTC
Permalink
Did you tell the legal team you were the copyright holder? You don't have to, but it might let them know you're on to them.

----

Cole Johnson
-- E-mail: ***@gmail.com
-- Twitter: @5urd

Hexware, LLC
Post by Josua Dietze
Hello everyone,
1. Is the evidence sufficient to prove code theft? Reason enough for a "cease and desist" request?
2. Does anyone have a recommendation for a lawyer who is familiar with the subject?
(I'm in Germany, by the way)
I'm the author and maintainer of the Linux tool "usb_modeswitch" which includes several components to bring 3G/4G USB modems and several other devices from "Windows Installer" mode to their actual working mode.
It's far from being a piece of art, but I have collected a large bunch of device-specific knowledge; all major Linux distributions have it included by now. It is released under the GPL V2 or later.
http://i-onik.de/tp7zoll-dualcore
usbdongle
usbdongled
libusbdongle.so
These were obviously involved in preparing and using 3G USB modems on the tablet.
Usage: usb_modeswitch [OPTION]
...
MessageContent %d hex string has uneven length. Skipping ...
Trying to send message %d to endpoint 0x%02x ...
Looking for active driver ...
No driver found. Either detached before or never attached
OK, driver found ("%s")
Driver "%s" detach failed with error %d. Trying to continue
OK, driver "%s" detached
Sending Huawei control message ...
Error: sending Huawei control message failed (error %d). Aborting.
OK, Huawei control message sent
Accessing device %03d on bus %03d ...
Ambiguous Class/InterfaceClass: 0x%02x/0x08
Error: send endpoint not given or found. Aborting.
Error: respond endpoint not given or found. Aborting.
Error: could not get description string "manufacturer"
Error: could not get description string "product"
Error: could not get description string "serial number"
USB description data (for identification)
-------------------------
Manufacturer: %s
Product: %s
Serial No.: %s
Setting up communication with interface %d ...
Could not claim interface (error %d). Skipping message sending
Using endpoint 0x%02x for message sending ...
Reading the response to the message (CSW) ...
Resetting response endpoint 0x%02x
Error resetting endpoint: %d
Resetting message endpoint 0x%02x
Reset failed. Can be ignored if device switched OK.
OK, device was reset
I contacted the manufacturer "i-onik"; they were quick to release the kernel source code - even the whole firmware sources - which was commendable, but no source code of "usbdongle". They promised to take care of it, but I haven't heard of them in six weeks.
I have sent them a reminder but won't hold my breath.
http://www.draisberghof.de/usb_modeswitch/usbdongle.zip
http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-1.1.7.tar.bz2
(C), 2011-2012 Cathay Communication Co., LTD.
Sorry for the lengthy message and thanks for the review!
Best regards,
Josua Dietze
Loading...