lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 24 Sep 2014 21:22:21 +0700
From:	Lars Melin <larsm17@...il.com>
To:	hs@...x.de
CC:	linux-usb@...r.kernel.org, Felipe Balbi <balbi@...com>,
	Greg Kroah-Hartman <gregkh@...e.de>,
	linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
	linux-api@...r.kernel.org,
	Andrzej Pietrasiewicz <andrzej.p@...sung.com>,
	Michal Nazarewicz <mina86@...a86.com>,
	Kyungmin Park <kyungmin.park@...sung.com>,
	Dan Carpenter <dan.carpenter@...cle.com>,
	Macpaul Lin <macpaul@...il.com>
Subject: Re: [PATCH] usb: gadget: f_rndis: fix usb_interface_descriptor for
 rndis

On 2014-09-24 20:12, Heiko Schocher wrote:
> Hello Lars,
>
> Am 24.09.2014 14:25, schrieb Lars Melin:
>> On 2014-09-24 13:48, Heiko Schocher wrote:
>>> use the values for RNDIS over Ethernet as defined in
>>> http://www.usb.org/developers/defined_class
>>> (search for RDNIS):
>>>
>>> - baseclass: 0xef (miscellaneous)
>>> - subclass: 0x04
>>> - protocol: 0x01
>>>
>> That is usb class, it is not the same thing as communication device 
>> class.
>>> --- a/include/uapi/linux/usb/cdc.h
>>> +++ b/include/uapi/linux/usb/cdc.h
>>> @@ -12,6 +12,7 @@
>>> #include <linux/types.h>
>>> #define USB_CDC_SUBCLASS_ACM 0x02
>>> +#define USB_CDC_SUBCLASS_RNDIS 0x04
>> No, no, no.
>> There is no CDC_SUBCLASS_RNDIS and you can not define one over an 
>> already used cdc subclass number, 0x04 is Multi-Channel Control Model
>
> Ah, ok, so I have to define this values in a new header file, as there
> is no current file for the USB_CLASS_MISC defines? Or is there a proper
> place for them?
>
> BTW: where do I find the "cdc subclass number, 0x04 is Multi-Channel
> Control Model" define?
>
> bye,
> Heiko

You can still find the original specification usbcdc11.pdf on the net if 
you google for it, it has been pulled from usb.org where you could 
download it until a few years ago.
It is old but covers a lot of what you need to know.

Linux has afaik only the cdc.h definition file, everything else is coded 
by class/subclass in respectively drivers when needed.
02/02/ff  or  e0/01/03  are the most common interface attribute for 
rndis,  both of them together with a data interface with attributes 
0a/00/00.
Please check the whitelisting in drivers/net/usb/rndis_host.c  and also 
blacklistings in other net drivers under the same path, it should give 
you an idea how to bind an interface to a specific driver by interface 
attributes and/or usb vid:pid.
You should be able to do the same for your particular device.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ