Ich komme nach einem arg arbeitsreichen Jahr endlich dazu, den im Februar begonnen Server-Umzug zu fortzuführen und hoffentlich bald abzuschließen; das Meiste ist jetzt erfolgreich umgezogen, der kleine Rest wehrt sich aber noch...
Vorher: Ubuntu-Server mit 2xUSB-Anschluss: 1-Wire Busmaster DS2490 + APC USV. 1-wire (owfs) direkt im Ubuntu installiert, NUT für die USV via Docker -> Container. Hat mit den beiden USB-Geräten über lange Zeit problemlos und verlässlich funktioniert.
Jezt: Proxmox -> LXC und habe offenbar 2 generelle Probleme mit USB-Geräten
LXC (mit Ubuntu-Server und durch gereichten USB-Geräten): Für 1-wire OWFS wie es bisher schon auf dem bare-metal jahrelang funktionierte. Für APC entweder direkt im LXC oder darin wieder als Docker-Container (über die Sinnhaftigkeit von Docker in LXC gibt es sicher unterschiedliche Meinungen)
A) Ich scheitere an der Übergabe der USB-Geräte an LXC, weil man in der CONF nur feste BUS/PORT-Kombinationen übergeben kann, aber die Reihenfolge der USB-Geräte offenbar zufällig ist und nach jedem reboot variieren kann. (Oder habe ich da eine falsche Wahrnehmung?) Daher hilft z.B.
wenig, wenn die USV morgen an /001/005 hängt.
Ich habe versucht, per udev die USV auf z.B. dev/APC zu legen
und so zu übergeben. Technisch scheint es zu funktionieren, weil
im LXC funktioniert. Aber dort scheitert
(und auch NUT), obwohl z.B.
funktioniert (auch für NUT) - nur eben nach dem nächsten Reboot manchmal nicht mehr.
Fragen zu A)
B) Der 1-wire-Busmaster DS2490 scheint am Proxmox nicht zu funktionieren. In lsusb wird er mir angezeigt als
aber schon auf dem Host liefert mir lsusb nach einiger Zeit gar nichts mehr (lsusb läuft endlos). Ein strace lsusb endet mit
Nach reboot des Proxmox-Hosts ist's eine Weile wieder ok - aber natürlich keine Lösung. Die Geräte-Infos zum Gerät schien mir sehr dürftig gegenüber z.B. der Ausgabe des APC (ID_VENDOR,...)
Grundsätzlich scheint ein Treiber ja da zu ein:
Fragen zu B)
Nach 24h an dem Thema bin ich ratlos. Bin gespannt, wie Ihr es geschafft habt und wo ich mich vielleicht nur verrannt habe...
Wenn der Server-Umzug geschafft ist, kann ich endlich auch den edomi-Umzug auf 2.02 fortsetzen und endlich mal wieder visu und LBS machen...
Vorher: Ubuntu-Server mit 2xUSB-Anschluss: 1-Wire Busmaster DS2490 + APC USV. 1-wire (owfs) direkt im Ubuntu installiert, NUT für die USV via Docker -> Container. Hat mit den beiden USB-Geräten über lange Zeit problemlos und verlässlich funktioniert.
Jezt: Proxmox -> LXC und habe offenbar 2 generelle Probleme mit USB-Geräten
LXC (mit Ubuntu-Server und durch gereichten USB-Geräten): Für 1-wire OWFS wie es bisher schon auf dem bare-metal jahrelang funktionierte. Für APC entweder direkt im LXC oder darin wieder als Docker-Container (über die Sinnhaftigkeit von Docker in LXC gibt es sicher unterschiedliche Meinungen)
A) Ich scheitere an der Übergabe der USB-Geräte an LXC, weil man in der CONF nur feste BUS/PORT-Kombinationen übergeben kann, aber die Reihenfolge der USB-Geräte offenbar zufällig ist und nach jedem reboot variieren kann. (Oder habe ich da eine falsche Wahrnehmung?) Daher hilft z.B.
Code:
lxc.mount.entry: /dev/bus/usb/001/004 dev/bus/usb/001/004 none bind,optional,create=file
Ich habe versucht, per udev die USV auf z.B. dev/APC zu legen
Code:
SUBSYSTEMS=="usb", KERNEL=="hiddev*", ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0002", SYMLINK+="APC", MODE="0666", GROUP="dialout"
Code:
ls -al /dev/APS
Code:
lsusb -D /dev/APC
Code:
lsusb -D /dev/bus/usb/001/004
Fragen zu A)
- Bei den VMs kann man die USB-Geräte offenbar nach Vendor:Product übergeben. Geht das auch für LXC und ich habs' nur noch nicht gefunden?
- Oder kann man (via udev?) sicherstellen, dass ein USB-Gerät eine verlässliche/feste Bus/Port-Kombination hat? Oder war der obige udev-Weg grundsätzlich richtig, aber ich habe einen Fehler gemacht?
- Kann man NUT ein konkretes USB-Gerät festlegen, damit es nicht (erfolglos) suchen muss, sondern direkt findet? z.B. /dev/APC? In der ups.conf der "port = /dev/APC" hat nicht funktioniert, weil es wohl auch kein Device-Parameter, sondern eben ein Port-Paramter ist?
- Gibt es andere Dienste statt NUT, die das vielleicht besser können (für APC).
- Andere Lösung außer NUT auf dem Host zu installieren? Weil den wollte ich gerne so pur wie möglich lassen; ich denke, dass jede Änderung am Host die Stabilität potentiell gefährdet und daher auf das Nötigste begrenzt werden sollte. Wie habt Ihr das gelöst?
B) Der 1-wire-Busmaster DS2490 scheint am Proxmox nicht zu funktionieren. In lsusb wird er mir angezeigt als
Code:
Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=DS9490R, 12M
Code:
[...] openat(AT_FDCWD, "/sys/bus/usb/devices/usb1/speed", O_RDONLY|O_CLOEXEC) = 7 fcntl(7, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) fstat(7, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 read(7, "480\n", 4096) = 4 close(7) = 0 openat(AT_FDCWD, "/sys/bus/usb/devices/usb1/descriptors", O_RDONLY|O_CLOEXEC) = 7 read(7,
Code:
udevadm info --query=all --name=/dev/bus/usb/001/003 P: /devices/pci0000:00/0000:00:14.0/usb1/1-3 N: bus/usb/001/003 L: 0 E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-3 E: DEVNAME=/dev/bus/usb/001/003 E: DEVTYPE=usb_device E: DRIVER=usb E: PRODUCT=4fa/2490/2 E: TYPE=255/255/255 E: BUSNUM=001 E: DEVNUM=003 E: MAJOR=189 E: MINOR=2 E: SUBSYSTEM=usb
Code:
lsmod | grep ds2490 ds2490 20480 0 wire 45056 5 regmap_w1,w1_ds2413,max1721x_battery,ds2490,w1_the rm
- Muss man in Proxmox für das USB-Geräte 1-wire-Busmaster etwas installieren, damit es sauber funktioniert?
- Wie habt Ihr es gelöst?
Nach 24h an dem Thema bin ich ratlos. Bin gespannt, wie Ihr es geschafft habt und wo ich mich vielleicht nur verrannt habe...

Wenn der Server-Umzug geschafft ist, kann ich endlich auch den edomi-Umzug auf 2.02 fortsetzen und endlich mal wieder visu und LBS machen...
Kommentar