Vorschau

Proxmox: USB Passthrough für LXC Container (Z-Wave UZB1)

Proxmox: USB Passthrough an LXC Container (UZB-1 Z-Wave USB Stick)

Zusätzlich zum Proxmox und Proxmox: LXC Tutorial möchte ich heute gerne zeigen, wie man einen USB Stick zu einem Container durchreicht. Ich habe so meinen UZB1 Z-Wave USB Stick zu einer LXC mit Ubuntu und FHEM durchgereicht. Analog dazu kannst du jeden CUL oder andere USB-Geräte durchreichen.

Inhalt

Vorbereitungen in Proxmox

Als erster wählen wir uns über SSH in unseren Proxmox Server ein.

Nun stoppen wir den LXC Container, an den das USB-Gerät durchgereicht werden soll

Die Nummer enspricht deiner VM / LXC – ID in Proxmox. Diese findest du im Proxmox Webinterface heraus

Mit folgendem Befehl kannst du nun die verbundenen USB-Geräte auflisten. Es empfiehlt sich zuerst eine Auflistung ohne eingesteckten USB-Stick anzufertigen und dann nochmal, nachdem der Stick eingsteckt wurde

Wie du auf dem folgendem Screenshot erkennen kannst, heißt mein UZB1 Stick „Sigma Designs, Inc. und hat die BUS Nummer 1 und Device Nummer 18. Du hast vermutlich eine andere Nummer -> notiere dir diese.

Shell Screenshot

Mittels folgendem Befehl kannst du nun den DeviceTree anzeigen. Wichtig: Trage hier deine BUS und DEVICE Nummer ein

Es werden erneut zwei Zahlen ausgegeben, wobei nur die erste für uns relevant ist

crw-rw-r– 1 root root 189, 17 Jul 12 18:35 /dev/bus/usb/001/018

Die Nummer 189 notierst du dir ebenfalls. Als nächstes müssen wir die Konfigurationsdatei für den LXC Container finden und editieren. Höchstwahrscheinlich findest du deine Konfigurationsdatei unter /etc/pve/nodes/pve/lxc – Schaue dazu am besten noch im Proxmox Webinterface welche ID dein Container hat.

Mit folgendem Befehl wechselst du in den Ordner mit den Konfigurationsdateien

mit „ls“ kannst du dir dann den Ordnerinhalt anzeigen lassen

Shell Screenshot


Hier fügen wir folgende Zeilen am Ende der Datei ein

Trage hier entsprechend die BUS und Devicenummer, sowie die Nummer bei der Ausgabe von ls -l /dev/bus ….. ein

In meinem Fall mit dem UZB1 hat das aber noch nicht ausgereicht. Es wird ein Gerät mit dem Namen ttyACM0 angelegt. Dieses müssen wir ebenfalls durchreichen

Führe folgenden Befehl aus und notiere dir wieder die erste Nummer

Dann bearbeiten wir nochmal die LXC Konfig-Datei:

Und fügen am Ende nochmal zwei Zeilen hinzu

Am Ende sieht die Konfig-Datei in etwas so aus:

Dann statten wir das Gerät ttyACM0 noch mit den nötigen Rechten aus

Zuletzt starten wir den LXC Container erneut und können im nächsten Punkt überprüfen, ob alles soweit geklappt hat

Überprüfung im Container

Verbinde dich mittels SSH mit deinem LXC

mit „lsusb“ kannst du dir auch hier die USB-Geräte anzeigen lassen. Ob das Gerät ttyACM0 angelegt wurde erfährst du unter den Devices:

Shell Screenshot


Fazit

Zugegeben, ein wenig kompliziert ist es leider schon, allerdings funktioniert es wirklich einwandfrei. Wenn du dieses Tutorial auch bei anderen Geräte erfolgreich getestet hast würde ich mich über einen kurzen Kommentar freuen und könnte dies diesem Artikel hinzufügen.

Über den Author

Emanuel

teilt seine Begeisterung im Bereich Technik, DIY und Hausautomatisierung gerne auf seinem Blog coldcorner.de

Comments 2

  1. Hallo Emanuel, ich habe alles genau so gemacht wie beschrieben. Installiert habe ich Debian 9.3. Jetzt wollte ich einen USB Stick wie hier beschrieben durchreichen. Leider scheitert es schon an dem ersten Befehl „pct stop 102“. Es kommt dann „command not found.“ Auch der Befehl lsusb wird mit „command not found“ beantwortet. Hast du eine Idee woran es liegen könnte.

    1. Post
      Author

      Hey! Gibst du den Befehl pct stop 102 in der Proxmox Konsole ein? Ich schätze du bist in der falschen Shell, die beiden Befehle müssen funktionieren.
      lg

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.