Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Proxmox
  5. Gelöst-Proxmox: Google Coral USB Modul im LXC-Container

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    917

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Gelöst-Proxmox: Google Coral USB Modul im LXC-Container

Geplant Angeheftet Gesperrt Verschoben Proxmox
4 Beiträge 2 Kommentatoren 930 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • MartinPM Online
    MartinPM Online
    MartinP
    schrieb am zuletzt editiert von MartinP
    #1

    ich habe ein Coral USB Modul an einen privilegierten LXC-Container durchgereicht.
    Funktioniert EIGENTLICH gut, ABER:

    Bei jedem Neustart würfelt Proxmox bei "dev/bus/usb/002/...." andere Werte für den Google Coral Stick:

    f5fee749-3c7e-404f-ad0a-78dcdf43d523-grafik.png

    Dann muss ich jeweils hier schauen, was angezeigt wird:

    root@pve:~# lsusb
    Bus 002 Device 003: ID 18d1:9302 Google Inc. 
    Bus 002 Device 002: ID 2109:711f VIA Labs, Inc. External
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 003: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)
    Bus 001 Device 004: ID 303a:80c2 WEMOS.CC LOLIN-S2-MINI
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    

    ... und hier anpassen:

    84967188-e217-4181-8191-3d4c6c8d96fa-grafik.png

    Dann startet auch der Container wieder.

    Gibt es da auch Möglichkeiten, ähnlich wie bei "/dev/serial/by-id" eine Gerätespezifische Weiterleitung zu konfigurieren?

    Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
    Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
    Linux pve 6.8.12-16-pve
    6 GByte RAM für den Container
    Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
    Remote-Access über Wireguard der Fritzbox

    1 Antwort Letzte Antwort
    0
    • David G.D Offline
      David G.D Offline
      David G.
      schrieb am zuletzt editiert von
      #2

      Laut ChatGPT (weil es mich auch gtad interessiert hat):

      Ja, du kannst eine gerätespezifische Weiterleitung für den Google Coral Stick in einem LXC-Container einrichten, indem du udev-Regeln verwendest. Diese Regeln können ein konsistentes Gerät erstellen, ähnlich wie es /dev/serial/by-id für serielle Geräte tut. Hier ist eine Anleitung, wie du dies erreichen kannst.

      1. Geräteinformationen erfassen

      Zuerst musst du die spezifischen Informationen des Google Coral USB-Sticks ermitteln, die für eine eindeutige Identifikation verwendet werden können. Die wichtigsten Informationen sind Vendor ID (VID) und Product ID (PID).

      1. Verbinde den Google Coral Stick und führe den Befehl lsusb aus:

      lsusb

      Suche nach dem Eintrag des Google Coral Sticks, der so aussehen sollte:

      Bus 002 Device 003: ID 18d1:9302 Google Inc.

      In diesem Fall ist die Vendor ID (VID) 18d1 und die Product ID (PID) 9302.

      1. Udev-Regel erstellen

      Jetzt kannst du eine udev-Regel erstellen, die für den Coral Stick ein statisches Gerät im /dev-Verzeichnis erzeugt.

      1. Erstelle eine neue udev-Regel, z. B. in /etc/udev/rules.d/99-coral.rules:

      sudo nano /etc/udev/rules.d/99-coral.rules

      1. Füge folgende Zeile hinzu, um eine Regel für den Google Coral Stick zu erstellen:

      SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="9302", SYMLINK+="coral"

      Diese Regel erstellt einen symbolischen Link /dev/coral, der immer auf den Google Coral Stick verweist, unabhängig davon, welchen Pfad dev/bus/usb/002/... ihm zugewiesen wird.

      1. Speichere die Datei und lade die udev-Regeln neu:

      sudo udevadm control --reload-rules
      sudo udevadm trigger

      1. LXC-Konfiguration anpassen

      Jetzt kannst du die LXC-Konfiguration so anpassen, dass der Container immer den statischen Pfad /dev/coral verwendet.

      1. Öffne die Konfigurationsdatei deines Containers in /etc/pve/lxc/<Container-ID>.conf:

      sudo nano /etc/pve/lxc/<Container-ID>.conf

      1. Füge eine Zeile hinzu, um /dev/coral in den Container durchzureichen:

      lxc.mount.entry = /dev/coral dev/coral none bind,optional,create=file

      1. Speichere die Datei und starte den Container neu:

      sudo pct start <Container-ID>

      1. Testen

      Nach dem Neustart sollte der Google Coral Stick immer über /dev/coral im Container verfügbar sein. Du kannst dies überprüfen, indem du den Container startest und die Verbindung zum Gerät überprüfst:

      ls -l /dev/coral

      Optional: Prüfen der udev-Regel

      Falls die Regel nicht sofort greift, kannst du prüfen, ob sie funktioniert, indem du das Gerät abziehst und erneut ansteckst. Du kannst auch den folgenden Befehl ausführen, um sicherzustellen, dass das Gerät korrekt erkannt wird:

      udevadm test $(udevadm info -q path -n /dev/bus/usb/002/<Device-Nummer>)

      Zusammenfassung

      Mit dieser Methode:

      Erstellst du eine udev-Regel, die den Google Coral Stick über einen stabilen Symlink wie /dev/coral verfügbar macht.

      Konfigurierst du den LXC-Container so, dass er diesen Symlink verwendet, anstatt sich auf den variablen USB-Pfad zu verlassen.

      Jetzt sollte der Container den Google Coral Stick unabhängig von seiner USB-Bus-Adresse erkennen.

      Zeigt eure Lovelace-Visualisierung klick
      (Auch ideal um sich Anregungen zu holen)

      Meine Tabellen für eure Visualisierung klick

      MartinPM 1 Antwort Letzte Antwort
      1
      • David G.D David G.

        Laut ChatGPT (weil es mich auch gtad interessiert hat):

        Ja, du kannst eine gerätespezifische Weiterleitung für den Google Coral Stick in einem LXC-Container einrichten, indem du udev-Regeln verwendest. Diese Regeln können ein konsistentes Gerät erstellen, ähnlich wie es /dev/serial/by-id für serielle Geräte tut. Hier ist eine Anleitung, wie du dies erreichen kannst.

        1. Geräteinformationen erfassen

        Zuerst musst du die spezifischen Informationen des Google Coral USB-Sticks ermitteln, die für eine eindeutige Identifikation verwendet werden können. Die wichtigsten Informationen sind Vendor ID (VID) und Product ID (PID).

        1. Verbinde den Google Coral Stick und führe den Befehl lsusb aus:

        lsusb

        Suche nach dem Eintrag des Google Coral Sticks, der so aussehen sollte:

        Bus 002 Device 003: ID 18d1:9302 Google Inc.

        In diesem Fall ist die Vendor ID (VID) 18d1 und die Product ID (PID) 9302.

        1. Udev-Regel erstellen

        Jetzt kannst du eine udev-Regel erstellen, die für den Coral Stick ein statisches Gerät im /dev-Verzeichnis erzeugt.

        1. Erstelle eine neue udev-Regel, z. B. in /etc/udev/rules.d/99-coral.rules:

        sudo nano /etc/udev/rules.d/99-coral.rules

        1. Füge folgende Zeile hinzu, um eine Regel für den Google Coral Stick zu erstellen:

        SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="9302", SYMLINK+="coral"

        Diese Regel erstellt einen symbolischen Link /dev/coral, der immer auf den Google Coral Stick verweist, unabhängig davon, welchen Pfad dev/bus/usb/002/... ihm zugewiesen wird.

        1. Speichere die Datei und lade die udev-Regeln neu:

        sudo udevadm control --reload-rules
        sudo udevadm trigger

        1. LXC-Konfiguration anpassen

        Jetzt kannst du die LXC-Konfiguration so anpassen, dass der Container immer den statischen Pfad /dev/coral verwendet.

        1. Öffne die Konfigurationsdatei deines Containers in /etc/pve/lxc/<Container-ID>.conf:

        sudo nano /etc/pve/lxc/<Container-ID>.conf

        1. Füge eine Zeile hinzu, um /dev/coral in den Container durchzureichen:

        lxc.mount.entry = /dev/coral dev/coral none bind,optional,create=file

        1. Speichere die Datei und starte den Container neu:

        sudo pct start <Container-ID>

        1. Testen

        Nach dem Neustart sollte der Google Coral Stick immer über /dev/coral im Container verfügbar sein. Du kannst dies überprüfen, indem du den Container startest und die Verbindung zum Gerät überprüfst:

        ls -l /dev/coral

        Optional: Prüfen der udev-Regel

        Falls die Regel nicht sofort greift, kannst du prüfen, ob sie funktioniert, indem du das Gerät abziehst und erneut ansteckst. Du kannst auch den folgenden Befehl ausführen, um sicherzustellen, dass das Gerät korrekt erkannt wird:

        udevadm test $(udevadm info -q path -n /dev/bus/usb/002/<Device-Nummer>)

        Zusammenfassung

        Mit dieser Methode:

        Erstellst du eine udev-Regel, die den Google Coral Stick über einen stabilen Symlink wie /dev/coral verfügbar macht.

        Konfigurierst du den LXC-Container so, dass er diesen Symlink verwendet, anstatt sich auf den variablen USB-Pfad zu verlassen.

        Jetzt sollte der Container den Google Coral Stick unabhängig von seiner USB-Bus-Adresse erkennen.

        MartinPM Online
        MartinPM Online
        MartinP
        schrieb am zuletzt editiert von
        #3

        @david-g erster Versuch hat nicht funktioniert - sowohl im PVE, als auch im LXC ist zwar /dev/coral aufgetaucht, aber der Frigate docker container konnte die TPU nicht finden ...

        Habe wieder zurückgebaut ...

        9b35ad19-b1da-4fb9-a668-4ba4ac0d169e-grafik.png

        Habe nun beides eingebaut ... mir scheint, frigate schaut nur über den "bus" tree ...

        frigate@ubuntu-frigate-privileged:~$ ls -l /dev/coral
        crw-rw---- 1 root root 189, 130 Nov  4 15:42 /dev/coral
        frigate@ubuntu-frigate-privileged:~$ ls -l /dev/bus/usb/002/003 
        crw-rw---- 1 root root 189, 130 Nov  4 15:42 /dev/bus/usb/002/003
        frigate@ubuntu-frigate-privileged:~$ 
        
        

        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
        Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
        Linux pve 6.8.12-16-pve
        6 GByte RAM für den Container
        Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
        Remote-Access über Wireguard der Fritzbox

        MartinPM 1 Antwort Letzte Antwort
        0
        • MartinPM MartinP

          @david-g erster Versuch hat nicht funktioniert - sowohl im PVE, als auch im LXC ist zwar /dev/coral aufgetaucht, aber der Frigate docker container konnte die TPU nicht finden ...

          Habe wieder zurückgebaut ...

          9b35ad19-b1da-4fb9-a668-4ba4ac0d169e-grafik.png

          Habe nun beides eingebaut ... mir scheint, frigate schaut nur über den "bus" tree ...

          frigate@ubuntu-frigate-privileged:~$ ls -l /dev/coral
          crw-rw---- 1 root root 189, 130 Nov  4 15:42 /dev/coral
          frigate@ubuntu-frigate-privileged:~$ ls -l /dev/bus/usb/002/003 
          crw-rw---- 1 root root 189, 130 Nov  4 15:42 /dev/bus/usb/002/003
          frigate@ubuntu-frigate-privileged:~$ 
          
          
          MartinPM Online
          MartinPM Online
          MartinP
          schrieb am zuletzt editiert von MartinP
          #4

          mir scheint, frigate schaut nur über den "bus" tree ...

          Eine kleine Modifikation hat es zum Fliegen gebracht

          Hängt jetzt an einem "Fake" USB-Bus 10 als erstes Device (wenn der Berg nicht zum Propheten .....)

          root@pve:/etc/udev/rules.d# cat 98-coral.rules
          SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="9302", SYMLINK+="/bus/usb/010/001"
          root@pve:/etc/udev/rules.d# ls /dev/bus/usb
          001  002  010
          root@pve:/etc/udev/rules.d# ls /dev/bus/usb/010
          001
          root@pve:/etc/udev/rules.d# ls -l /dev/bus/usb/010/001
          lrwxrwxrwx 1 root root 10 Nov  4 15:56 /dev/bus/usb/010/001 -> ../002/003
          root@pve:/etc/udev/rules.d# 
          

          be64733d-3b27-43dd-a05a-561d45196f34-grafik.png

          info 2024-11-04 15:59:55 frigate.detectors.plugins.edgetpu_tfl Attempting to load TPU as usb
          info 2024-11-04 15:59:56 frigate.app Camera processor started for stellplatz: 379
          info 2024-11-04 15:59:56 frigate.app Capture process started for stellplatz: 380
          info 2024-11-04 15:59:58 frigate.detectors.plugins.edgetpu_tflTPU found
          

          Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
          Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
          Linux pve 6.8.12-16-pve
          6 GByte RAM für den Container
          Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
          Remote-Access über Wireguard der Fritzbox

          1 Antwort Letzte Antwort
          1
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          538

          Online

          32.6k

          Benutzer

          82.2k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe