On Thursday 15 March 2007 6:46 pm, Jan 'RedBully' Seiffert wrote: > Hi, > > product i'm talking about: > http://www.devolo.com/co_EN/produkte/dlan/mldlanduo.html
Networking over power lines. :) > Introduction: > > Due to some cabeling constrains, i decided connecting some clients over > powerline communication (PLC) to my network would be the solution to my > problems. Additional constrains (-EOUTOFSLOTS) made the above mentioned > product quite interesting, because you can connect it over USB to your > PC. After i found out they offer a Linux driver, i was convinced. > On the same evening i downloaded the driver, took a look at it, was not > so convinced, Yeah, a 2.4/2.6 driver gets no respect any more. > and hacked up my own driver from scratch in 200 lines, > thanks to the usbnet framework (even before i own the device...). Kind of handy, eh? :) > Next day i bought a pair of those. > > Problem description (or why i write this email): > > 1) device claims to be cdc-ether, but seems to be non conformant > After i connected one of those devices to my linux box (2.6.19 series, > yes, i know, i should update for such experiments, need to forward port > some patches, -ENOTIME), the cdc-ether driver got loaded, only to > directly bail out: > > usb 1-1: new full speed USB device using uhci_hcd and address 6 > > usb 1-1: configuration #1 chosen from 1 choice > > usb 1-1: bad CDC descriptors > > usbcore: registered new driver cdc_ether > > after some debugging, i found out that the following test in > cdc_ether.c::usbnet_generic_cdc_bind()@96 seems to fail: > if (info->header->bLength != sizeof *info->header) > > Another printk revealed, the length seems to be really wrong: > bLength: 18, sizeof header: 5 > > changing the comparison to: > if (info->header->bLength < sizeof *info->header) > > lead to: > cdc_ether 1-1:1.0: missing cdc union ether descriptor > usb 1-1: bad CDC descriptors > > The bLength bytes at *buf are (in hex): > 12 24 00 10 01 0D 24 0F 03 00 00 00 01 EA 05 80 Clearly bogus, as the code reported. Using the 0x24 as an internal marker, it looks like that's trying to be (a) a cdc 1.1 header, then (b) a "multi-channel management functional descriptor" saying it supports "clear unit parameter" requests and stores params in non-volatile memory, then finally (c) garbage, the "00 00 00 01 EA 05 80". > From here i don't know any further. So the questions are: > Any further hints on debugging? Where to look next? > Could this device maybe used with cdc-ether? > (lsusb -v attached) No. If you contact the vendor, you should tell them their USB descriptors are bogus. Their simple fix would be to update the config descriptors to stop claiming conformance with cdc ethernet. > > 2) My own driver, "contributing back" > Believe it or not, my own driver worked "out of the box", after i moved > it into place: > > usb 1-1: new full speed USB device using uhci_hcd and address 8 > > usb 1-1: configuration #1 chosen from 1 choice > > usb0: register 'devolo_dLan_USB' at usb-0000:00:07.2-1, Devolo dLan USB-NET > > powerline adapter, My:MA:CA:dd:re:ss > > usbcore: registered new driver devolo_dLan_USB > > usbcore: registered new driver cdc_ether > > and: > usb0 Link encap:Ethernet HWaddr My:MA:CA:dd:re:ss > inet addr:192.168.2.254 Bcast:192.168.2.255 Mask:255.255.255.0 > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:52652 errors:0 dropped:0 overruns:0 frame:0 > TX packets:93866 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:1000 > RX bytes:4087973 (3.8 Mb) TX bytes:70982661 (67.6 Mb) > > RX & TX from dhcp over icmp to tcp/udp seem to work (even with the > original win driver on the other side of the PLC-bridge). Interesting ... > I would love to contribute this driver, but i'm not sure on the legal > side of this: I used two informations gained by reading the original > drivers source code. > > module license looks like: > MODULE_LICENSE ("devolo AG"); > > but i could not find any license. I expect that they intended to be GPL compatible, but just did not understand the meaning of MODULE_LICENSE (it's not the same as copyright-owner). You might contact the vendor and tell them their code needs license statements. However, looking at that URL I observe there are no restrictions on the download, so the information you derived from that driver is clearly not NDA material. And the package doesn't have any kind of shrink-wrap license, so there's no attempt at all on their part to restrict that information. So I wouldn't worry about having used that info ... but, I'm not a lawyer, so if you're worried, then contact one. > The head-region of the driver file looks a little sparse on the license > side, only a copyright and the restriction, to only use it with Devolo > devices. The comment I saw was informative; not worded as a legal restriction. > (the userspace tool (in source form) to configure the encryption > (without any usage of the kernel-driver, guessing from the driver side) > contains a little bit more license-alike within the "header" of the > files, but would this also apply to the kernel driver (as in "this is > the mentioned license")?) Each source code file needs its own copyright and licence statement. So -- no, the kernel code and userspace code don't necessarily share the same license. > Maybe someone could give me an advise on this? > Should i contact Devolo and ask, what they think of a GPL'ed driver > using the usbnet framework? As sketched above, I see one technical issue (bogus descriptors, fixable by product revision) and a potential legal issue (they ought to specify their code's license). Feel free to contact the vendor and point those out. I don't believe what they think matters in any way, they've more or less given out a partial operational spec for the product; but maybe they'd give you better specs and be glad to know that a driver might be mainlined. - Dave > > Greetings > Jan > > -- > "...by all means, do not use a hammer." > (taken from an IBM documentation for technicians, approx. 1920) > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel