Hilfe bei USB durchschleifen an Docker (BEANTWORTET)


Duck666
Go to solution Solved by hawihoney,

Recommended Posts

Hallo alle miteinander.

 

Leider komme ich seit einiger zeit nicht weiter.

Ich würde gerne einen USB Anschluss durchschleifen an einen Docker Container.

Allerdings weiß ich nicht genau wie das Funktioniert und welcher das dann genau ist.

Der USB Anschluss ist auch kein üblicher USB Stick sondern ein Adapter für ein Analogsignal von einem Wechselrichter

1518888889_USBStick.JPG.55e0f8d84a4ba42e0ff6d335fac3d67f.JPG

und taucht somit nicht als normaler stick auf :/

 

Wäre schön wenn mir da einer behilflich sein kann :)

Edited by Duck666
Link to comment
38 minutes ago, Duck666 said:

Ich würde gerne einen USB Anschluss durchschleifen an einen Docker Container.

Allerdings weiß ich nicht genau wie das Funktioniert und welcher das dann genau ist.

Der USB Anschluss ist auch kein üblicher USB Stick sondern ein Adapter für ein Analogsignal von einem Wechselrichter

Noch habe ich mit 'durchreichen' keine Erfahrung, aber wenn ich diverse Beiträge hier richtig verfolgt habe, kann es sein, daß man in einigen Konstellationen einzelne Sticks nicht durchschleifen kann, sondern nur ganze Kontroller.

Vielleicht einfach einen günstigen USB Kontroller als PCIe/PCI (je nachdem, was Dein Board so bietet) einsetzen und den komplett durchreichen?

Link to comment

Doch das geht als Device und dann den Pfad /dev/Blabla 1:1 durchgeben 

 

Mein Home Assistant greift zb über /dev/ttyACM0 auf den ZigBee Stick zu.

 

So sollte man zwei Pfade sehen können:

ls -go /dev/serial/by-id

 

Man kann sowohl /dev/bla oder /dev/serial/by-id/bla nehmen. Letzterer geht auch nach Umstecken auf eine andere Buchse, kann sich aber bei Firmware Updates des Sticks evtl ändern. Der erste kann sich bei jedem Booten ändern, wenn mehrere Sticks eingesteckt sind. Hat also alles Vor- und Nachteile. 

  • Like 2
Link to comment
2 hours ago, Duck666 said:

Ich würde gerne einen USB Anschluss durchschleifen an einen Docker Container.

 

es werden normal nur einzelne USB Geräte an Docker "durchgereicht", Geräte einstecken, lesen wie und an welchem port es erkannt wurde, dann als "device" einbinden, dazu muss der Docker aber auch den Treiber des Geräts haben usw usw ...

 

Beispielsweise zum Thema Conbee usw einlesen ... da gibt es einige Threads wie man ein USB Device weiterreicht.

 

1 hour ago, DataCollector said:

sondern nur ganze Kontroller.

das ist Thema für VM's, nicht für Docker ... qemu arbeitet da anders, nur als Randbemerkung.

 

@mgutt war schneller ;) siehe Post über meinem.

Link to comment
11 minutes ago, mgutt said:

Doch das geht als Device und dann den Pfad /dev/Blabla 1:1 durchgeben 

 

Mein Home Assistant greift zb über /dev/ttyACM0 auf den ZigBee Stick zu.

 

So sollte man zwei Pfade sehen können:

ls -go /dev/serial/by-id

 

Man kann sowohl /dev/bla oder /dev/serial/by-id/bla nehmen. Letzterer geht auch nach Umstecken auf eine andere Buchse, kann sich aber bei Firmware Updates des Sticks evtl ändern. Der erste kann sich bei jedem Booten ändern, wenn mehrere Sticks eingesteckt sind. Hat also alles Vor- und Nachteile. 

 

Sied dann bei mir wie folgt aus:

 

64922378_USBStick.JPG.4b7f731ad19a698ecebfa2b96c9a7ac3.JPG

 

Wie kann ich nun Sicher sein das es der Stick ist den ich suche? Oder ob es der Stick ist worauf Unraid läuft?

 

Link to comment
Just now, Duck666 said:

 

Sied dann bei mir wie folgt aus:

 

64922378_USBStick.JPG.4b7f731ad19a698ecebfa2b96c9a7ac3.JPG

 

Wie kann ich nun Sicher sein das es der Stick ist den ich suche? Oder ob es der Stick ist worauf Unraid läuft?

 

Das ist anscheinend ein Universal Asynchronous Receiver Transmitter (UART) Adapter.

Ein MemoryStick sieht anders aus.

 

https://de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter

  • Like 1
Link to comment
14 minutes ago, DataCollector said:

Das ist anscheinend ein Universal Asynchronous Receiver Transmitter (UART) Adapter.

Ein MemoryStick sieht anders aus.

 

https://de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter

Ja cool....

In deinem link bei Wiki steht "Eine UART-Schnittstelle dient zum Senden und Empfangen von Daten über eine Datenleitung und bildet den Standard der seriellen Schnittstellen an PCs und Mikrocontrollern. Auch im industriellen Bereich ist die Schnittstelle mit verschiedenen Interfaces (z. B. RS-232 oder EIA-485) sehr verbreitet."

 

Tatsächlich ist dies eine USB Schnitstelle die auf RS485 zugreift :)

Somit haut das ja hin :)

 

Jetzt nur noch die Frage...wie binde ich das jetzt im docker ein?

Edetiere ich ihn einfach und fürge ein neues device hinzu oder wie funktioniert das genau?

Das wäre jetzt mein erster gedanke:

1622970048_USBStick.JPG.d84ea9e17d4b3fe8a2f604a19d33c0f1.JPG

  • Upvote 1
Link to comment
  • Solution
13 minutes ago, Duck666 said:

Jetzt nur noch die Frage...wie binde ich das jetzt im docker ein?

 

Hängt gegebenfalls vom Container ab. Bei meinem Homeassistant Container geht das so:

 

root@Tower:~# ls -go /dev/serial/by-id/
total 0
lrwxrwxrwx 1 13 Feb  9 12:21 usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_XXXXXXXX-if00 -> ../../ttyACM0

 

Davon verwende ich diesen String:

 

/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_XXXXXXXX-if00:/dev/ttyACM0

 

Hier wird das als Value eingetragen:

 

image.thumb.png.0d2f566789fa8528540b8b814af55f25.png

 

 

Edited by hawihoney
  • Like 1
Link to comment
  • Duck666 changed the title to Hilfe bei USB durchschleifen an Docker (BEANTWORTET)
  • 1 year later...
  • 2 months later...

Hallo.

Das mit dem Pfad zusammenbauen ist mir klar. Doch mit welchen Werten?

Ich möchte einen HUAWEI_Mobile Stick an den Container hängen. Ich nutzte das bisher als SMS Benachrichtigung vom Raspi mit ioBroker.
Dazu musste nur beim Starten sudo usb_modeswitch -v 12d1 -p 1f01 -M '55534243123456780000000000000011062000000100000000000000000000' eingeben. Im ioBroker selbst wurde dann /dev/ttyUSB1 benannt und fertig. Leider ist das nun nicht mehr so einfach. 

Als lsusb Ausgabe bekomme ich bei unraid:

 

1.png.3ead02ac88c452ace273f6b4f35dea99.png

 

unraid selbst zeit mir aber:

 

2.thumb.png.fae3253736989650f50ffa4e528c4aad.png

 

Weder /dev/12d1:1f01/usb_modeswitch -v 12d1 -p 1f01 -M '55534243123456780000000000000011062000000100000000000000000000'/dev/ttyUSB1

noch /dev/FFFFFFFFFFFFFFFF/HUAWEI:HUAWEI_Mobile/dev/ttyUSB1

funktioniert. 

 

Als Vorlage nahm ich das von @hawihoney.

 

3.webp.57c7f26b51c8e3ea436394ed74b235a4.webp

 

 

Vielleicht mag mir ja einer verraten wie die Reihenfolge ist. Danke

 

 

Da der Befehl ls -l /dev/serial/by-id nicht funktioniert, hab ich den Syslog Server aktiviert um die Serialnummer zu bekommen. 

 

Apr 23 15:59:43 unraid usb_manager: Info: rc.usb_manager usb_add HUAWEI_HUAWEI_Mobile_FFFFFFFFFFFFFFFF /dev/bus/usb/003/005 003 005

Apr 23 15:59:44 unraid usb_manager: Info: rc.usb_manager Autoconnect No Mapping found HUAWEI_HUAWEI_Mobile_FFFFFFFFFFFFFFFF /dev/bus/usb/003/005 003 005 port 3-2

Apr 23 15:59:44 unraid kernel: scsi 1:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2

 

Ich vermute daher das der richtige Pfad nur 

/dev/serial/by-id/HUAWEI_HUAWEI_Mobile_FFFFFFFFFFFFFFFF:/dev/ttyUSB1

sein kann. 

Aber leider nein, da wird nichts durchgereicht.

 

 

 

 

 

Edited by Letztfetz1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.