[ECOS] How to enable RNDIS and CDC for USB

Imran Khan imran@alumnux.com
Tue Sep 18 08:58:00 GMT 2007


Hi Andrew,
Thank you for your reply.
I agree with you as far as GPL issue is concerned but at the moment
we are not concerned about this issue.
You are correct that host is getting wrong descriptors but such is the 
design of linux code.
Here the compilation is done on the basis of some configuration flags
specific to CDC or RNDIS so you can use your image with either CDC or
RNDIS ,but in our code instead of having compile time flags we are
setting some flags at run time and monitoring the enumeration
process ,if enumeration is not complete within a specific time our
device assumes that host is not right, then we set flags for 
other host and reinitialize the USB part.Our default flag setting is for
RNDIS.
Our problem is that once the host gets wrong descriptor it stops
communication with the device so the new configuration is never used.
Could you please tell me is there any other way of doing this ?

Thanks & Regards,
Imran
On Tue, 2007-09-18 at 09:39 +0200, Andrew Lunn wrote:
> On Tue, Sep 18, 2007 at 10:57:47AM +0530, Imran Khan wrote:
> > Hi all,
> > We have ported the RNDIS support code provided in linux-2.4.XX along
> > with our platform specific USB code into the ecos.
> 
> I hope you thought about the licensing issues here. I expect the USB
> code is GPL. That makes your whole application now GPL. So you need to
> give away all your sources, eCos, USB, and application, to your
> customer. If you don't you are violating the GPL license.
> 
> > But the design of the code is such that at any time it can support
> > either RNDIS or CDC but not both at the same time.
> > Could any one of you please tell us whether is there any possibility of
> > checking the type of host at run time and doing the initialization
> > again.
> >
> > We have tried with advertising two configurations to linux host,the
> > first configuration being RNDIS but when the host gets a wrong
> > descriptor it stops sending interrupts.
> 
> Using two configurations sounds like the right way to do it. However
> if the host is going wrong, maybe your descriptors are wrong. What
> does usbview show? Does it look correct? Have you debugged the Linux
> host code to work out why it goes wrong?
> 
>      Andrew
> 


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list