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/CHDKhttps://chdk.fandom.com/wiki/PTP_Extensionhttps://github.com/tudelft/chdkptp
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.
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.
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.
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.
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.
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.
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.