From: Greg KH <greg@kroah.com>
To: linux-kernel@vger.kernel.org, linux-usb-devel@lists.sourceforge.net
Cc: MCU.Tools@silabs.com
Subject: Re: Linux support for SiLabs CP210x devices
Date: Wed, 18 May 2005 08:58:15 -0700 [thread overview]
Message-ID: <20050518155815.GA16544@kroah.com> (raw)
In-Reply-To: <20041118173908.GA10667@kroah.com>
[-- Attachment #1: Type: text/plain, Size: 3830 bytes --]
Back in November of last year, I wrote about how SiLabs were
distributing a binary only version of a usb-serial driver for Linux that
was violating the GPL <http://thread.gmane.org/gmane.linux.kernel/256403>
Well, it looks like SiLabs and MCCI have finally released the source
code to their driver, but in obfuscated form. I've attached the .zip
file to this message so that everyone can see this horrible nightmare of
a "driver". As per the GPL, they are still violating the license as
obfuscated code releases is not allowed. And as such, they are still
violating my copyright, and the copyrights of a few other kernel
developers.
So, just to re-iterate, I very soundly do not recommend ever buying any
devices from this company, as if this is the way they treat well
established legal issues, who know what else they have done...
Oh, and if you don't want to go through the trouble of opening up the
zip file, I've included inline their header file, in all of it's glory,
with no changes made by me at all, below.
And yes, if you notice the 2.6 kernel does now support this device, but
that is because of some people reverse engineering the device. It was
by no help of the company involved (when seeing this code, those
developers just laughed and said it would be more work to try to read it
than to finish up the driver itself.)
thanks,
greg k-h
-------------------- actual .h file is below -------
#ifndef \
O1001101000
#define \
O1001101000 \
#define \
l1001101001 \
\
0200
#define \
l1001101010 \
\
0x00
#define \
l1001101011 \
\
0201
#define \
O1001101100 \
\
0x01
#define \
l1001101101 \
\
0x82
#define \
l1001101110 \
\
0x02
#define \
O1001101111 \
\
0x83
#define \
l1001110000 \
\
0x03
#define \
O1001110001 \
\
0xa0
#define \
O1001110010 \
\
0x20
#define \
O1001110011 \
\
0xa1
#define \
O1001110100 \
\
0x21
#define \
O1001110101 \
\
0242
#define \
O1001110110 \
\
0x22
#define \
O1001110111 \
\
0243
#define \
l1001111000 \
\
043
#define \
O1001111001 \
\
0300
#define \
O1001111010 \
\
0100
#define \
O1001111011 \
\
0xc1
#define \
l1001111100 \
\
0x41
#define \
O1001111101 \
\
0302
#define \
O1001111110 \
\
0102
#define \
l1001111111 \
\
0xc3
#define \
l1010000000 \
\
0x43
#define \
l1010000001 \
\
(7)
#define \
l1010000010 \
\
(1 << l1010000001)
#define \
O1010000011 \
\
(0 << l1010000001)
#define \
O1010000100 \
\
(1 << l1010000001)
#define \
O1010000101 \
\
(5)
#define \
O1010000110 \
\
(3 << O1010000101)
#define \
l1010000111 \
\
(0 << O1010000101)
#define \
l1010001000 \
\
(1 << O1010000101)
#define \
O1010001001 \
\
(2 << O1010000101)
#define \
l1010001010 \
\
(3 << O1010000101)
#define \
O1010001011 \
\
(0)
#define \
O1010001100 \
\
(0x1f << O1010001011)
#define \
l1010001101 \
\
(0x00 << O1010001011)
#define \
O1010001110 \
\
(0x01 << O1010001011)
#define \
l1010001111 \
\
(0x02 << O1010001011)
#define \
O1010010000 \
\
(0x03 << O1010001011)
#define \
O1010010001 \
\
0
#define \
l1010010010 \
\
1
#define \
l1010010011 \
\
3
#define \
l1010010100 \
\
5
#define \
l1010010101 \
\
6
#define \
l1010010110 \
\
7
#define \
O1010010111 \
\
8
#define \
l1010011000 \
\
011
#define \
O1010011001 \
\
0xa
#define \
O1010011010 \
\
0xb
#define \
l1010011011 \
\
0xc
#define \
l1010011100 \
\
1
#define \
O1010011101 \
\
2
#define \
l1010011110 \
\
3
#define \
l1010011111 \
\
4
#define \
l1010100000 \
\
5
#define \
l1010100001 \
\
0
#define \
l1010100010 \
\
1
#define \
O1010100011 \
\
2
#define \
l1010100100 \
\
3
#define \
O1010100101 \
\
0
#define \
l1010100110 \
\
1
#define \
O1010100111 \
\
0x80
#define \
l1010101000 \
\
0x0f
#define \
O1010101001 \
\
(1 << 0)
#define \
O1010101010 \
\
(1 << 1)
#define \
O1010101011 \
\
(1 << 0)
#endif
[-- Attachment #2: Linux.zip.gz --]
[-- Type: application/x-gunzip, Size: 48809 bytes --]
next prev parent reply other threads:[~2005-05-18 16:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-18 17:39 Linux support for SiLabs CP2102 devices Greg KH
2004-11-18 19:41 ` [linux-usb-devel] " Marr
2005-05-18 15:58 ` Greg KH [this message]
2005-05-18 18:00 ` Linux support for SiLabs CP210x devices Stefan Smietanowski
2005-05-18 18:28 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050518155815.GA16544@kroah.com \
--to=greg@kroah.com \
--cc=MCU.Tools@silabs.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.