On Fri 01 Jun 2018 at 09:08:53 (-0500), Richard Owlett wrote: > On 06/01/2018 08:21 AM, to...@tuxteam.de wrote: > >On Fri, Jun 01, 2018 at 08:23:42AM -0400, Stefan Monnier wrote: > >>>The one choice you have is that one of both sides takes a step > >>>back and plays "gadget" [...] > > > >>The gadget API is the programming API offered by the kernel for the OTG > >>ports: no OTG => no gadget! > >> > >>>[OTG] > > > >>More importantly, the USB ports which support OTG are driven by > >>different hardware. > > > >Ah, so the hardware has to play along... > > > >>Right, you need both your hardware's USB port to support OTG and you > >>need your kernel to have a driver that supports this hardware. > >>AFAIK the driver is usually available. > > > >Did I say I was handwaving? > > > >Thanks for the clarifications! > > > > It also suggests that I frequently grasp some of the implications of > what I read. Thank you. > As an illustration of my mindset: > If they had really intended USB to be *UNIVERSAL* serial bus, then > it should have been OTG from the get go. > P.S. I know of thousands of reasons they did not. > Vast majority preceded by $ ;/
I think you're misunderstanding the use of the word universal. USB was designed to be a universal way of connecting "any" peripherals to a PC (sensu lato) which acts as a unique, controlling host for them. It wasn't designed to duplicate networking hardware, communicating between multiple hosts. Nor was OTG. OTG was designed to allow, for example, what's normally a peripheral to be disconnected from the host, be connected to a peripheral and effectively become a host controlling it. Eg, a camera could act as a peripheral while uploading photos to a PC, then act as a host when connected to an inkjet to print them. Cheers, David.