Hallo zusammen! Ich bräuchte ein Gerät, das auf jeweils 2 verschiedenen USB-Ports im Device- und im Host-Modus läuft. Auf dem Gerät will ich ggf. USB-Traffic manipuliern, weshalb darauf Linux laufen soll. Ausserdem muss es am Device-Port vom angeschlossenen Host mit Strom versorgt werden. Gibt es da etwas? Liebe Grüsse, Fabiano
Fabiano S. schrieb: > Hallo zusammen! > > Ich bräuchte ein Gerät, das auf jeweils 2 verschiedenen USB-Ports im > Device- und im Host-Modus läuft. Auf dem Gerät will ich ggf. USB-Traffic > manipuliern, weshalb darauf Linux laufen soll. Ausserdem muss es am > Device-Port vom angeschlossenen Host mit Strom versorgt werden. > > Gibt es da etwas? Wenn auch ohne Betriebssystem aber mit für einen µC üppigen Resourcen geht, könntest du einen Teensy 4.1 nehmen. Der kann host und device gleichzeitig, allerdings nur USB 2.
Hi, Nimm einen RPi 4, der hat auf USB C einen device Anschluss und offensichtlich 4 USB Host - damit kann man das machen was du willst. Grüße Thorsten
Thorsten schrieb: > Nimm einen RPi 4, der hat auf USB C einen device Anschluss und > offensichtlich 4 USB Host Hmm, cool. Das wusste ich gar nicht. Ich hatte bisher gedacht, der Typ-C-Anschluss sei nur für die Stromversorgung da.
Vielen Dank für die Antworten! Wusste auch nicht, dass der RP4 Device-Modus kann, ist aber logisch, wenn der als PIKVM (https://pikvm.org/) dienen kann. Allerdings ist der zu gross und eigentlich bräuchte ich die USB-Anschlüsse gegenüber der Platine. So dass das Ding halt möglichst wie eine Verlängerung eines USB-Sticks aussieht. Linux ist erforderlich, weil Linux-Treiber darauf laufen müssen. Ausserdem wäre USB3 schon nett. Aber von der Grösse perfekt!
Du könntest auch einen PocketBeagle nehmen: https://beagleboard.org/pocket USB0 ist direkt auf eine Buchse herausgeführt, USB1 list für auf einer der STiftleisten zu finden. Da musst Du halt ein Kabel anschließen. fchk
Vielleicht ist das,was du suchst ist zwar schon älter aber wenn es hilft... http://travisgoodspeed.blogspot.com/2012/07/emulating-usb-devices-with-python.html
Ja, sowas in die Richtung such ich, nur sollte es halt vom Format her etwa dem eines USB-Sticks (also Massenspeicher) entsprechen, mit einem USB-Port je schmaler Seite, wenn möglich Typ A. Lässt sich sowas allenfalls (fürs Prototyping in geringen Stückzahlen) produziern?
Fabiano S. schrieb: > Hallo zusammen! > > Ich bräuchte ein Gerät, das auf jeweils 2 verschiedenen USB-Ports im > Device- und im Host-Modus läuft. Auf dem Gerät will ich ggf. USB-Traffic > manipuliern, > weshalb darauf Linux laufen soll. Da ist Linux aber komplett fehl am Platz! Das musst du über einen FPGA machen. Die Soft kann dann auf dem PC laufen der Linux hat. Ist aber sehr unkompfortabel. Da nimmst lieber die aktuelle Version für Windows 10 > Ausserdem muss es am > Device-Port vom angeschlossenen Host mit Strom versorgt werden. > > Gibt es da etwas? Leider nein. Ich empfehle dir selbst eine PCB zu machen. Wegen der Signalintegrität empfehle ich dir 4 Layer. Bei BiDi wären aber 6 Layer sinnvoller. Achte auf die Wellenwiderstände der Leiterbahnen.
Fabiano S. schrieb: > Ja, sowas in die Richtung such ich, nur sollte es halt vom Format her > etwa dem eines USB-Sticks (also Massenspeicher) entsprechen, mit einem > USB-Port je schmaler Seite, wenn möglich Typ A. Lässt sich sowas > allenfalls (fürs Prototyping in geringen Stückzahlen) produziern? Warum ist das mechanische Format für Dich wichtig? Und ja, technisch ginge da was, aber das wird teuer, eben wegen der geringen Stückzahlen. Rechne mal mit 10k. Da nimmst Du besser was fertiges, was aber mechanisch nicht ganz passt. fchk
Horft schrieb: > Da ist Linux aber komplett fehl am Platz! Linux ist deshalb nicht fehl am Platz, weil auf dem Teil Linuxtreiber laufen müssen. > Das musst du über einen FPGA machen. Ich verstehe deinen Einwand schon, aber leider geht das hier nicht. > Die Soft kann dann auf dem PC laufen der Linux hat. Ist aber > sehr unkompfortabel. Da nimmst lieber die aktuelle Version für Windows > 10 Also ich finde Linux wesentlich komfortabler als Windows...;) > Ich empfehle dir selbst eine PCB zu machen. Wegen der Signalintegrität > empfehle ich dir 4 Layer. Bei BiDi wären aber 6 Layer sinnvoller. Achte > auf die Wellenwiderstände der Leiterbahnen. Ich habe mir zum Thema PCB einmal paar Google-Ergebnisse angeschaut und tatsächlich wäre ein Selbstdesign zumindest nicht sooo unerreichbar wie ich es erwartet hätte. Kannst du irgendwelche Youtube-Videos, Howtos und dergleichen empfehlen, wo so ein selbstdesigntes Gerät vom PCB über die Bestückung mit Komponenten bis vielleicht zur Gehäusekonstruktion abgehandelt wird? Ich bin leider extrem schlecht darin, losgelöst irgendwelche Formeln und Begriffe zu lernen, aber anhand eines konkreten Beispiels sollte ich es eher schaffen.
> eines konkreten Beispiels
Lach, in so einem Projekt stecken dutzende Beispiele.
Die Platine ist nun wirklich für den Anfang das, worum man sich
am wenigsten Sorgen machen muss.
Die Anregung das ganze überhaupt erst einmal, z.B. auf einem
Raspberry lauffähig zu haben, kann ich nur unterstützen.
Alternativ, such dir ein Evalboard dass eine USB-E/XHCI-PHY,
einen USB-Client-Port und den gewünschten Controller enthält.
Du darfst auch nicht damit rechnen, dass die bereits vorhandene
Treiberschicht des Linuxkernel, dein Vorhaben allzu sehr
unterstützen wird. USB ist kein Protokoll, wo man so einfach
eine Bridge zwischen zwei Ports klemmen kann.
Nicht das ich bezweifle das es grundsätzlich möglich ist.
Aber der Weg wird lang werden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.