Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    683

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    526

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.1k

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

Geplant Angeheftet Gesperrt Verschoben Proxmox
5 Beiträge 2 Kommentatoren 1.1k Aufrufe 3 Beobachtet
  • Ä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 Offline
    MartinPM Offline
    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 on Proxmox * 6 GByte RAM für den iobroker Container * Remote-Access über Wireguard meiner Fritzbox

    1 Antwort Letzte Antwort
    0
    • David G.D Online
      David G.D Online
      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 Offline
        MartinPM Offline
        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 on Proxmox * 6 GByte RAM für den iobroker Container * Remote-Access über Wireguard meiner 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 Offline
          MartinPM Offline
          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 on Proxmox * 6 GByte RAM für den iobroker Container * Remote-Access über Wireguard meiner Fritzbox

          1 Antwort Letzte Antwort
          1
          • MartinPM Offline
            MartinPM Offline
            MartinP
            schrieb am zuletzt editiert von
            #5

            Das Obige habe ich irgendwann nicht mehr zum Laufen gebracht.
            Folgendes funktioniert aber ersatzweise:

            1. Im PVE feststellen, wie der Coral - Stick sich manifestiert.
            root@pve:~# lsusb
            Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
            Bus 001 Device 002: ID 1b1f:c020 eQ-3 Entwicklung GmbH HmIP-RFUSB
            Bus 001 Device 003: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)
            Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
            Bus 002 Device 002: ID 2109:711f VIA Labs, Inc. External
            Bus 002 Device 003: ID 18d1:9302 Google Inc. 
            root@pve:~# 
            

            Aktuell Bus 002/Device 003, kontrollieren...

            root@pve:~# ls -l /dev/bus/usb/002
            total 0
            crw-rw-r-- 1 root root    189, 128 Apr 30 16:02 001
            crw-rw-r-- 1 root root    189, 129 Apr 30 16:02 002
            crw-rw-r-- 1 root plugdev 189, 130 Apr 30 16:02 003
            root@pve:~# 
            

            Jetzt muss man leider im LXC-Config file basteln

            In /etc/pve/lxc# cat 107.conf habe ich folgende Zeile angehängt:

            lxc.mount.entry: /dev/bus/usb/002 dev/bus/usb/002 none bind,optional,create=dir 0,0
            

            Damit wird das komplette obenstehende Verzeichnis in den LXC gemappt ...

            Das "Bäumchen-Wechsel-Dich" zwischen /dev/bus/usb/002/003 und /dev/bus/usb/002/004 ist damit egal, da frigate den kompletten /dev/bus/usb - Tree nach dem Coral-Stick durchforstet...

            frigate@ubuntu-frigate-privileged:~$ ls /dev/bus/usb/002
            001  002  003
            frigate@ubuntu-frigate-privileged:~$ ls /dev/bus/usb
            002
            frigate@ubuntu-frigate-privileged:~$
            

            Intel(R) Celeron(R) CPU N3000 @1.04GHz 8G RAM 480G SSD * Virtualization : unprivileged lxc container on Proxmox * 6 GByte RAM für den iobroker Container * Remote-Access über Wireguard meiner Fritzbox

            1 Antwort Letzte Antwort
            0

            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

            Registrieren Anmelden
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            372

            Online

            32.8k

            Benutzer

            82.9k

            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