Proxmox LXC Container bei USB-Busänderung automatisch neu starten

Begonnen von betateilchen, 22 November 2025, 21:05:03

Vorheriges Thema - Nächstes Thema

betateilchen

Für Flightradar24 betreibe ich hier einen ADSB-Feeder in einem LXC-Container unter Proxmox.
Dazu habe ich ein USB-Passthrough für den verwendeten SDR-Stick eingerichtet

dev0: /dev/bus/usb/001/010,mode=0666
So weit, so gut. Nun kommt es aber vor, dass sich durch Neustart oder Änderungen an den USB Geräten am Host die Bus-Zuordnung ändert und der SDR-Stick dann einfach nicht mehr verfügbar ist. Das ist nicht ohne weiteres erkennbar. Nachdem man die Zuordnung dann korrigiert und den Container dann neu gestartet hat, funktioniert alles wieder - bis zur nächsten Änderung.

Dazu habe ich mir jetzt ein Skript zur Überwachung und automatischen Korrektur gebaut:

#!/bin/bash

USB=`lsusb |grep RTL2832U|awk '{print "dev0: /dev/bus/usb/" $2 "/" $4 ",mode=0666"}'|sed s/:,/,/`
DEV=`cat /etc/pve/lxc/110.conf |grep dev0`

if [ "$DEV" != "$USB" ];
then
 sed -i /dev0/d /etc/pve/lxc/110.conf
 echo $USB >>   /etc/pve/lxc/110.conf
 /usr/sbin/pct reboot 110
fi

#

Wird per cronjob regelmäßig aufgerufen und prüft, ob sich Container-config und USB-Bus-Liste unterscheiden. Wenn ja, wird die config angepasst und der Container neu gestartet.

Hat sich bisher gut bewährt, vielleicht kann es ja jemand gebrauchen. Das Prinzip läßt sich natürlich auch für andere USB Geräte verwenden :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!