Hallo zusammen,
und vielen Dank an die Community hier, die die Dinge immer weiter voranbringt und auch immer wieder meine HM-Probleme weiter lösen hilft.
Ich habe nun auch selbst in vielen Versuchen meine seit 20 Jahren angeschlossene UPS servicetechnisch ans laufen gebracht und zwei entscheidende Probleme gelöst, wodurch vielleicht auch dem einen oder anderen hier geholfen werden kann. Deshalb möchte ich die Lösungen teilen:
Situation:
Raspberrymatic, Eine Powerwalker vi2200shl USV UPS, an die CCU, NAS von Synology, PC, Fritzbox und verbindende LAN-Hubs angeschlossen sind. Die 2200W UPS hat eine USB HID Schnittstelle, die allerdings vom Raspberrymatic NUT Service nicht erkannt wird (der Befehl 'lsusb' listet sie einfach nicht auf, obwohl initial folgendes erkannt wurde:
Code: Alles auswählen
usb 1-1.3.1: new low-speed USB device number 8 using xhci_hcd
usb 1-1.3.1: New USB device found, idVendor=06da, idProduct=ffff, bcdDevice= 0.03
usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=4
usb 1-1.3.1: Product: Offline UPS
usb 1-1.3.1: Manufacturer: PPC
usb 1-1.3.1: SerialNumber: 000000000
hid-generic 0003:06DA:FFFF.0002: hiddev96,hidraw0: USB HID v1.00 Device [PPC Offline UPS] on usb-0000:01:00.0-1.3.1/input0
usb 1-1.3.1: USB disconnect, device number 8
Es handelt sich somit um eine UPS/USV mit idVendor=06da (Phonix..) mit allgemeiner idProduct=ffff, die sogleich (oder zumindest unzuverlässig später) wieder disconnected wird.
Lösung für dieses Problem ist, einen einfachen USB-Hub (ohne eigene Stromversorgung) zwischenzustecken.
Zumindest wird mit USB-Hub zwischen meinem Raspi 4 mit 2GB und der USV mit dem Befehl 'lsusb' dann eine Zeile für die USB angezeigt:
Vorher, also ohne diesen Eintrag, kann der Treiber usbhid-usb, der in nut-Datei ups.conf zu dieser USV nicht starten.
So sieht für meine Powerwalker USV der Eintrag in ups.conf aus:
Code: Alles auswählen
[ups]
driver = usbhid-ups
port = auto
desc = "PowerWalker UPS"
# vendorid = 06da
# productid = ffff
Der Name [ups] muss so gewählt sein, damit der UPS Service in der Diskstaion des Synology NAS den NUT Service im Raspi als seinen NUT-server erkennen kann.
Ich hatte feststellen müssen, dass sich mit diesem Namen (just [ups]) der Start des NUT/UPS Treibers schwierig gestaltet und es nicht zur Verbindung kommt, wenn der Prozess upsd den Treiber usbhid-ups starten möchte. Die Fehlermeldung lautet dann, dass der Treiber "usbhid-ups
-ups" nicht gefunden werden kann.
Nun, bei richtigem Ergebnis im Output von lsusb kann man den Treiber nun aber in seinem richtigen Modus für Phoenix/Liebert UPSen manuell starten und somit alles mit konnektiertem NAS erfolgreich zum Laufen bringen: '
usbhid-ups -a ups &'.
Frage in die Runde: An welcher Stelle in einer Rasberrymatic-Konfiguration ist es am sinnvollsten, diesen Prozess initial und automatisch ausführen zu lassen?
2. Frage (evt. an den grandiosen Jens Maus, der auch den WD-Mechanismus für CCUs entwickelt hat, danke auch dafür): Könnte man den WD-Mechanismus so konfigurieren (oder noch besser frei konfigurierbar machen), dass der UPS Treiber, sofern ein NUT konfiguriert ist, mit überwacht wird und ggfls. neu gestartet wird, wenn er nicht mehr existiert? Das wäre in meinem Fall, wenn 'ps | grep usbhid-ups | grep -v grep' nichts mehr anzeigt (aber eigentlich z.b.
688 nobody 0:16 /usr/bin/usbhid-ups -a ups
anzeigen müsste.