Deutsche Telekom W700V GPL violation [resent]
Felix Fietkau
nbd at nbd.name
Fri Jun 20 13:25:19 CEST 2008
(previous mail got rejected, resent from a different address)
ard wrote:
> Hello,
>
> On Sat, Jun 14, 2008 at 02:00:16AM +0200, Sebastian Gottschall wrote:
>> [ipriv]: Usage: iwpriv interface [private-command [private-arguments]]
>> interface [roam {on|off}]
>> interface [port {ad-hoc|managed|N}]
>> Not yet implemented...
>> The command %s need exactly %d argument...
>> Interface doesn't accept private ioctl...
>> %s (%X): %s
>> Invalid command : %s
>> Invalid private ioctl definition for
>> (and others)
>>
>> which shows that the linux wireless tools are compiled in
>
> As others said: I don't think that is evidence. It merely states
> that they are using an OS that also implements ioctl's and uses
> wireless.
> Besides that: if it uses iwpriv in some way: that code has been
> around for so long that you might be able to trace it back to a
> non GPL fork.
Forget iwconfig. I've analyzed the strings of the binary to look for more
patterns, since I believe those accusations to be entirely credible. To me
it looks like they grabbed a lot of code for stuff from Linux for whichever
functionality they didn't have in their proprietary OS.
Here are some strings from the Linux PCI subsystem (which are copied
verbatim, I compared against Linux 2.4.35, although it's likely that they
were 'fishing' in an older version of Linux)
---- drivers/pci/*
PCI: Device %s not available because of resource collisions
PCI: Enabling device %s (%04x -> %04x)
PCI: Unable to reserve %s region #%d:%lx@%lx for device %s
PCI: Enabling bus mastering for device %s
PCI: Setting latency timer of device %s to %d
PCI: %s PCI cache line size set incorrectly (%i bytes) by BIOS/FW,
PCI: Enabling Mem-Wr-Inval for device %s
PCI: Unable to handle 64-bit address for device %s
[a lot more, snipped here...]
----
Wireless extensions (yes, from the Kernel part!)
---- net/core/wireless.c (mangled with the KERN_ERR:, but otherwise intact)
KERN_ERR: %s (WE) : Buffer for request SIOCGIWPRIV too small (%d<%d)
KERN_ERR: %s (WE) : Buffer for request %04X too small (%d<%d)
KERN_ERR: %s (WE) : Invalid/Unknown Wireless Event (0x%04X)
KERN_ERR: %s (WE) : Wireless Event too big (%d)
KERN_ERR: %s (WE) : Wireless Event too small (%d)
----
Additionally, strings of applications, user space stuff, libraries like
OpenSSL, etc. are mixed together with kernel code and the snippets that I
pasted here, which makes me doubt that there is any kernel/user separation
in this code. This would also make it legally impossible to include the
aforementioned code in a proprietary OS like this.
- Felix
More information about the legal
mailing list