Ich habe diese Aufzählung und das Streaming synthetischer unkomprimierter Daten über meinen Raspberry Pi Zero W zu FaceTime. Das ConfigFS-Beispiel in der Kernel-Gadget-Dokumentation funktioniert größtenteils. Es gibt einige Tippfehler, wenn es um die richtige ../ ..
-Pfadnavigation geht, das Feld Streaming_maxpacket
, das in ConfigFS nicht mehr vorhanden ist, und Sie müssen bDeviceClass = setzen 239, bDeviceSubClass = 0x02, bDeviceProtocol = 0x01. Für den Anfang ist es jedoch einfacher, nur die ältere modprobe g_webcam
auszuführen. Ich gehe davon aus, dass Sie das erforderliche dtoverlay = dwc2 haben und andere Gadget-Module wie g_serial
getestet haben. Möglicherweise verwenden Sie bereits g_ether
oder das ConfigFS-Äquivalent für Ihre Workaround-Netzwerklösung.
Wenn Sie das Modul g_webcam aktivieren, wird es auf einem typischen Mac / nicht aufgelistet. Windows / Linux-PC, bis das Benutzerbereich-Programm uvc-gadget ausgeführt wird. Das Einrichten hat seine Tücken, da die erforderlichen Patches von Laurent Pinchart nie vollständig überprüft wurden und eigene Fehler verursachen. Sie finden mein gepatchtes Repo mit Fixes hier. Ich habe das mit ./uvc-gadget -d -u / dev / video0
sowohl auf Raspbian 8 Jessie als auch auf Raspbian 9 Stretch ausgeführt.
Ich beschreibe im Grunde die gleichen Schritte Wie Sie gesehen haben, hat joe60 dies in den Raspberry Pi-Foren getan, aber da es sich um eine sehr fehleranfällige Prozedur handelt, sollte ein anderer Referenzpunkt nicht schaden.
Beachten Sie, dass selbst wenn der Basisfall funktioniert, ein großes Kreuz vorhanden ist -Produkt von Fällen für das Format ( -f
), den Speichertyp ( -o
), Bulk vs isochron ( -b
) und Bilddaten Quelle ( -d
vs -i
vs -v
), von denen viele in der Anwendung uvc-gadget möglicherweise nur eingeschränkt unterstützt werden.