Forum: PC Hard- und Software USB-Host vs. USB On-the-go


von Michael (Gast)


Lesenswert?

Wikipedia:

" Eine direkte Kommunikation zwischen USB-Geräten, also ohne Beteiligung 
des zentralen Host-Controllers, war im USB-Standard ursprünglich nicht 
vorgesehen; diese wurde erst durch die Erweiterung USB On-the-go (OTG) 
eingeschränkt ermöglicht."

https://de.wikipedia.org/wiki/Universal_Serial_Bus#USB_On-the-go

Hintergrund:

Der Reaspberry Zero W/WH verfügt über keinen USB-Hostcontroller, hat 
aber die Funktionalität USB On-the-go. Auf einer Canon IXUS läuft die 
Firmwareerweiterung CHDK. Die Camera ist über USB mit einem Raspberry Pi 
1 verbunden. Auf einem Raspberry läuft die Software CHDKptp, mit der es 
möglich ist die Canon mittels PTP, LUA ferngesteuert zu bedienen. Der Pi 
1 hat, im Gegensatz zum Zero W, einen USB-Hostcontroller. Der Zero hätte 
für mich den Vorteil kleines Format und geringe Stromaufnahme.

Meine Frage nun, reicht der Funktionsumfang von OTG aus, um die Camera 
zu bedienen?

Hier noch ein paar Links:

https://chdk.fandom.com/wiki/CHDK
https://chdk.fandom.com/wiki/PTP_Extension
https://github.com/tudelft/chdkptp

von STK500-Besitzer (Gast)


Lesenswert?

Michael schrieb:
> Der Reaspberry Zero W/WH verfügt über keinen USB-Hostcontroller

Und wieso kann man da Mäuse und Tastaturen anschließen?
OTG bedeutet doch, dass ein USB-Gerät sowohl als Device als auch als 
Host betrieben werden kann.
Das Zero Pi ist also auch als Device nutzbar.

von Michael (Gast)


Lesenswert?

STK500-Besitzer schrieb:
> Michael schrieb:
>> Der Reaspberry Zero W/WH verfügt über keinen USB-Hostcontroller
>
> Und wieso kann man da Mäuse und Tastaturen anschließen?
> OTG bedeutet doch, dass ein USB-Gerät sowohl als Device als auch als
> Host betrieben werden kann.
> Das Zero Pi ist also auch als Device nutzbar.

Du hast meine Frage nicht verstanden. Wahrscheinlich nicht einmal meinen 
Beitrag durchgelesen. Auch dürfte gerade dir die Kompetenz fehlen meine 
Frage zu beantworten. Es Expertise auf Ingenieursniveau gefragt, nicht 
das Geschwätz eines Bastlers.

von STK500-Besitzer (Gast)


Lesenswert?

Michael schrieb:
> Meine Frage nun, reicht der Funktionsumfang von OTG aus, um die Camera
> zu bedienen?

ja.
Reicht dir das?

Michael schrieb:
> Du hast meine Frage nicht verstanden. Wahrscheinlich nicht einmal meinen
> Beitrag durchgelesen. Auch dürfte gerade dir die Kompetenz fehlen meine
> Frage zu beantworten. Es Expertise auf Ingenieursniveau gefragt, nicht
> das Geschwätz eines Bastlers.

Und du hast USB-OTG-Funktionalität offensichtlich nicht verstanden.

von 🐧 DPA 🐧 (Gast)


Lesenswert?

Stark vereinfacht: Bei OTG gibt es normalerweise einfach einen Kontakt 
im USB Stecker, der ist entweder mit vcc oder mit gnd verbunden. Das OTG 
gerät kann daran erkennen "Oh, ich bin ein Device!" oder "Oh, ich bin 
der Host!". Wenn also das Gerät OTG kann, und im Kernel der Treiber 
beide USB Rollen sowie das Umschalten implementiert hat, kann man das 
Gerät problemlos entweder als Device oder als Host nutzen. Man braucht 
nur das richtige Kabel (welches rein passiv ist). OTG ändert nichts am 
USB Protokoll, oder was damit möglich ist, es ist nur ein in den Stecker 
integrierter Schalter.

Bei USB-C wäre das aber wieder etwas anders/komplizierter.

von 🐧 DPA 🐧 (Gast)


Lesenswert?

Es ist noch zu beachten, dass normalerweise nur der USB Host power 
liefert. Wenn du also einen hub anschliesst, must du eventuell schauen, 
ob der PI auch genug saft liefern kann, oder einen powered hub nehmen. 
Ausserdem weiss ich nicht, wie zuverlässig die USB Host Treiber beim 
Zero W sind. Das hat aber nichts mit OTG zutun, sondern mit USB Hosts, 
hard und software allgemein.

von No Y. (noy)


Lesenswert?

Der ID pin wird nicht auf vcc gezogen!
Floatend oder GND ist erlaubt.

von c-hater (Gast)


Lesenswert?

Michael schrieb:

> " Eine direkte Kommunikation zwischen USB-Geräten, also ohne Beteiligung
> des zentralen Host-Controllers, war im USB-Standard ursprünglich nicht
> vorgesehen; diese wurde erst durch die Erweiterung USB On-the-go (OTG)
> eingeschränkt ermöglicht."

Das ist Bullshit. Welcher Idiot hat das da reingeschrieben?

Nö, USB-OTG regelt nur den Fall, dass ein Port sowohl als Host als auch 
als Device agieren kann, stellt aber niemals die Kommunikation zwischen 
Devices her, auch nicht eingeschränkt.

Im Fall, das der Port Host wird, spielt er dann halt auch die Rolle 
eines solchen und ist eben kein Device mehr, kann aber mit an ihn 
angeschlossenen Devices kommunizieren.

> Meine Frage nun, reicht der Funktionsumfang von OTG aus, um die Camera
> zu bedienen?

Kommt drauf an, was auf der Seite des nunmehrigen Host an Software 
dahinter sitzt. Sowas ist nämlich nicht Job des Hosts selber. Der kann 
nur Devices erkennen und mit ihnen auf unterster Ebene, also auf der 
Ebene von Paketen reden. Alles andere ist der Job höherer 
Softwareschichten. Genau wie bei jedem anderen USB-Host auch.

von STK500-Besitzer (Gast)


Lesenswert?

c-hater schrieb:
> Nö, USB-OTG regelt nur den Fall, dass ein Port sowohl als Host als auch
> als Device agieren kann, stellt aber niemals die Kommunikation zwischen
> Devices her, auch nicht eingeschränkt.

Ich war es nicht, aber wo siehst du da den Bullshit?
Da müsste noch ergänzt werden, dass ein OTG-Gerät in der Lage ist, die 
Host-Funktion zu übernehmen. Das wird mit Hilfe eine (micro-)USB-Kabels, 
bei dem der ID-Pin auf GND gezogen wird, signalisiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.