Hello balbi ,
Thank you for your reply.

Yes, my system is an Edison board.  It is embedded in a larger system
and is hardwired to a hub which is hardwired to another (custom)
embedded board based on an Atmel SAMA5 device.  I had been trying (and
finally succeeded) to convince the two boards to communicate with each
other via ethernet-over-usb, and was getting confused by my lack of
knowledge of vocabulary terms such as CDC, EEM, NCM, RNDIS, etc...
Yes, I know that the Google and, in a lot of cases, the KConfig files
can define all of these terms for me, but none of that helped explain
why, when I thought I had configured both ends equivalently, they
still wouldn't talk to each other.  It was only very late in the game
where I realized that the kernel on the Edison board was creating a
usb0 and a usb1 device and that made me wonder how one got associated
with the working connection and one did not.

Your explanation of the architecture on the Edison board and the
operation of the DWC3 device is much appreciated, and provides a much
more palatable explanation of the use of the "Gadget only mode"
selection in my Edison kernel than the explanation I invented.  Thank
you very much.

I remain confused by the fact that the Edison does not switch to
host-mode until/unless I load the g_multi module.  ("lsusb" won't even
work until I load that module.)  I expect that when I load that
module, it kicks off enough other things that realize that the Edison
is plugged into a hub and it should switch over to "host-only XHCI"
and therefore things start to work.  Perhaps, based on your
explanation, I should just disable the DWC3 driver completely and that
would enable the XHCI driver to work.  I'll give that a try.

Thank you again.

--wpd
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to