From: David Brownell <[EMAIL PROTECTED]>
To: linux-usb-devel@lists.sourceforge.net
CC: "Ethan Du" <[EMAIL PROTECTED]>
Subject: Re: [linux-usb-devel] Questions on CDC EEM
Date: Sun, 2 Apr 2006 07:56:54 -0800

On Sunday 02 April 2006 1:05 am, Ethan Du wrote:
>
> I am currently working on CDC EEM. I would like to implement a CDC EEM > device. But I feel confused about CDC ECM and CDC EEM. As I see, both are
> implemented by writing a pseudo network adapter driver for both the host
> side and device side.

I don't know what you mean by "pseudo" here, but certainly drivers for
both of them would be network adapter drivers.

By the way, for clarity:  "CDC ECM" is what Linux calls "CDC Ethernet".

I said “pseudo”, as is described in EEM spec, ”The term pseudo is used because the network adapter driver does not control a traditional Ethernet chip but instead communicates with the USB host or device controller.”
I got it.

> The only difference is ECM extended a data class
> interface. EEM doesn't. Is this the benefit of EEM? And is it more efficient
> using less interfaces?

If you look at EEM, it's clearly a bit less demanding than ECM in terms of
hardware; it can work without altsettings.  (The interrupt/status endpoint
is optional for ECM.) Which means there's more choice for peripheral hardware.


Do you mean EEM is saving endpoints? Or could you explain the relationship between altsettings and hardware. As I see EEM only needs endpoint 0 (in/out) + a pair of bulk endpoints. And using altsetting doesn’t mean adding endpoints.

But it's a bit more demanding in terms of software, because adds all kind of funky (and not especially useful or necessary) in-band link control operations. Those happen to be a subset of the (not-useful-or-necessary) operations that
clutter up drivers for Microsoft's RNDIS protocol; maybe one of the hidden
goals for EEM was to make MSFT happier using a standard protocol.

In my opinion, EEM is a lot more complex than it needed to be. ECM could have achieved the "more choice for peripheral hardware" goal by just removing the
altsetting requirement; then it would be pretty much the "cdc_subset" that
Linux uses to talk to hardware which can't support altsettings.


> And for the driver on host side, I checked linux-2.6.13.1, and found it
> only support ECM, there is no codes related to EEM packets. Are there
> patches for linux to support EEM or are later version of linux support it
> now?

No, there's no host side support yet.  In fact I've not even heard of a
peripheral than needs EEM yet.  To debug an EEM peripheral driver, you
may well need to write the host side too.  (Just add a module on top of
the usbnet core.)

- Dave
        I will try it.

     A lot of thanks, Dave: )

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to