Treiberproblem mit NUT und APC BX950U-GR

Begonnen von t1me2die, 02 Mai 2019, 15:02:08

Vorheriges Thema - Nächstes Thema

t1me2die

Moin liebes FHEM Gemeinde,

ich weiß, es ist kein reines FHEM Thema, jedoch wollte ich gerne meine USV via NUT Modul über FHEM überwachen, soweit komme ich leider noch gar nicht, bei mir hackt es schon an den Basics.

Ausgangspunkt:
USV hängt via USB an einem QNAP TVS682 und wird hier auch problemlos erkannt.
USV wird an die Linux Distribution (Debian) weitergeleitet und taucht hier auch via auf:

root@debian-jessie-final:~# lsusb -d 051d:0002
Bus 001 Device 009: ID 051d:0002 American Power Conversion Uninterruptible Power Supply


Installiert wurde NUT wie folgt:

root@debian-jessie-final:~# sudo apt-get install nut
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
The following additional packages will be installed:
  libupsclient4 nut-client nut-server
Vorgeschlagene Pakete:
  nut-monitor nut-cgi nut-ipmi nut-snmp nut-xml
Die folgenden NEUEN Pakete werden installiert:
  libupsclient4 nut nut-client nut-server
0 aktualisiert, 4 neu installiert, 0 zu entfernen und 25 nicht aktualisiert.
Es müssen noch 0 B von 1.527 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 6.054 kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] J
Vormals nicht ausgewähltes Paket libupsclient4:amd64 wird gewählt.
(Lese Datenbank ... 119057 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../libupsclient4_2.7.4-5_amd64.deb ...
Entpacken von libupsclient4:amd64 (2.7.4-5) ...
Vormals nicht ausgewähltes Paket nut-client wird gewählt.
Vorbereitung zum Entpacken von .../nut-client_2.7.4-5_amd64.deb ...
Entpacken von nut-client (2.7.4-5) ...
Vormals nicht ausgewähltes Paket nut-server wird gewählt.
Vorbereitung zum Entpacken von .../nut-server_2.7.4-5_amd64.deb ...
Entpacken von nut-server (2.7.4-5) ...
Vormals nicht ausgewähltes Paket nut wird gewählt.
Vorbereitung zum Entpacken von .../archives/nut_2.7.4-5_all.deb ...
Entpacken von nut (2.7.4-5) ...
libupsclient4:amd64 (2.7.4-5) wird eingerichtet ...
Trigger für libc-bin (2.24-11+deb9u4) werden verarbeitet ...
Trigger für systemd (232-25+deb9u9) werden verarbeitet ...
Trigger für man-db (2.7.6.1-2) werden verarbeitet ...
nut-client (2.7.4-5) wird eingerichtet ...
Created symlink /etc/systemd/system/multi-user.target.wants/nut-monitor.service → /lib/systemd/system/nut-monitor.service.
Job for nut-monitor.service failed because of unavailable resources or another system error.
See "systemctl status nut-monitor.service" and "journalctl -xe" for details.
invoke-rc.d: initscript nut-client, action "start" failed.
● nut-monitor.service - Network UPS Tools - power device monitor and shutdown controller
   Loaded: loaded (/lib/systemd/system/nut-monitor.service; enabled; vendor preset: enabled)
   Active: failed (Result: resources) since Thu 2019-05-02 14:23:42 CEST; 8ms ago
  Process: 19149 ExecStart=/sbin/upsmon (code=exited, status=0/SUCCESS)

Mai 02 14:23:42 debian-jessie-final systemd[1]: Starting Network UPS Tools -......
Mai 02 14:23:42 debian-jessie-final upsmon[19149]: upsmon disabled, please ad...ds
Mai 02 14:23:42 debian-jessie-final upsmon[19149]: Then set MODE to a suitabl...it
Mai 02 14:23:42 debian-jessie-final systemd[1]: nut-monitor.service: PID fil...ory
Mai 02 14:23:42 debian-jessie-final systemd[1]: Failed to start Network UPS ...er.
Mai 02 14:23:42 debian-jessie-final systemd[1]: nut-monitor.service: Unit en...te.
Mai 02 14:23:42 debian-jessie-final systemd[1]: nut-monitor.service: Failed ...s'.
Hint: Some lines were ellipsized, use -l to show in full.
nut-server (2.7.4-5) wird eingerichtet ...
Created symlink /etc/systemd/system/multi-user.target.wants/nut-server.service → /lib/systemd/system/nut-server.service.
nut-driver.service is a disabled or a static unit, not starting it.
nut (2.7.4-5) wird eingerichtet ...
Trigger für systemd (232-25+deb9u9) werden verarbeitet ...


Nun habe ich die Config Datei angepasst:

nano /etc/nut/ups.conf


Dort habe ich am Ende folgendes "konfiguriert", wobei ich "maxretry" rausgenommen habe, weil es diesbezüglich eine Fehlermeldung gab:

[USV]
driver = usbhid-ups
port = auto
desc = "USV"
#maxretry = 3


Nun habe ich die Nut-Config Datei angepasst:

nano /etc/nut/nut.conf



MODE=standalone


Versuche ich nun den Driver zu starten, bekomme ich die Meldung:

root@debian-jessie-final:~# upsdrvctl start
Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Can't claim USB device [051d:0002]: could not detach kernel driver from interface 0: No route to host
Driver failed to start (exit status=1)



root@debian-jessie-final:~# systemctl status nut-monitor.service
● nut-monitor.service - Network UPS Tools - power device monitor and shutdown controller
   Loaded: loaded (/lib/systemd/system/nut-monitor.service; enabled; vendor preset: enabled)
   Active: failed (Result: resources) since Thu 2019-05-02 14:23:42 CEST; 39min ago

Mai 02 14:23:42 debian-jessie-final systemd[1]: Starting Network UPS Tools - power device monitor and shutdown controller...
Mai 02 14:23:42 debian-jessie-final upsmon[19149]: upsmon disabled, please adjust the configuration to your needs
Mai 02 14:23:42 debian-jessie-final upsmon[19149]: Then set MODE to a suitable value in /etc/nut/nut.conf to enable it
Mai 02 14:23:42 debian-jessie-final systemd[1]: nut-monitor.service: PID file /var/run/nut/upsmon.pid not readable (yet?) after start: No such file or directory
Mai 02 14:23:42 debian-jessie-final systemd[1]: Failed to start Network UPS Tools - power device monitor and shutdown controller.
Mai 02 14:23:42 debian-jessie-final systemd[1]: nut-monitor.service: Unit entered failed state.
Mai 02 14:23:42 debian-jessie-final systemd[1]: nut-monitor.service: Failed with result 'resources'.


Welche Informationen benötigt ihr noch um mir zu helfen?

Gruß
Mathze

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

t1me2die

#2
Hallo Wernieman,

danke für deine Antwort.
An ein Berechtigungsproblem hatte ich auch erst gedacht, aber wir wollen mir mal nicht unterstellen, dass ich nicht vor Beginn des Beitrages hier im Forum ausgiebig gegoogelt habe.


root@debian-jessie-final:~# lsusb -d 051d:0002
Bus 001 Device 009: ID 051d:0002 American Power Conversion Uninterruptible Power Supply

root@debian-jessie-final:~# ls -l /dev/bus/usb/001/009
crw-rw-rw- 1 root nut 189, 8 Mai  2 15:55 /dev/bus/usb/001/009


Eine Regel hatte ich bereits angelegt gehabt unter:
nano /etc/udev/rules.d/nut-ups.rules

Diese schaut wie folgt aus:
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="051d", ATTR{idProduct}=="0002", MODE="0660", GROUP="nut"

Dies sieht man ja auch unter "ls -l /dev/bus/usb/001/009", sollte doch passen.

Berechtigung sollte doch passen oder täusche ich mich?

Gruß
Mathze

Wernieman

Sorry aber mit der Hardware selber kenne ich mich nicht aus ....

Zitatcould not detach kernel driver

Das bedeutet, das er den alten Treiber von der Hardware nicht wegnehmen kann .... also Rechte ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

t1me2die

Aber er sagt doch:

Can't claim USB device [051d:0002]: could not detach kernel driver from interface 0: No route to host

No route to host.
Wenn es ein Berechtigungsproblem wäre, würde ich eher ein "Operation not permitted" erwarten oder täusche ich mich?

Gruß
Mathze

Wernieman

"No route to host" ist eigentlich Netzwerk .... aber in diesem Falle ....

s.o. habe die Hardware nicht

Vergleiche doch nochmals Deine Config mit dem ersten Link von mir ... mehr Tipp kann ich Dir nicht geben ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

t1me2die

Ja, habe alles mehrfach geprüft.
Alle Probleme, die man findet betreffen die Fehlermeldung:

...Operation not permitted...


Ich habe jedoch:

...No route to host...


Vielleicht hat jemand anderes ja noch einen Tipp.
Vielleicht wird meine USV auch einfach nicht von dem Treiber unterstützt, sodass ich sowieso nichts tun kann dagegen?!

Gruß
Mathze

Wernieman

Das wegen "No route to host" dürfte aus einem anderen Grund kommen.

Eigentlich ist die Software für USV, welche per Netzwerk ansprechbar sind. Deine wird aber direkt per USB.

Also eine von den Klassischen "Fehlermeldung geht am Fehler vorbei"

Interessant ist deshalb eher, was VOR der Meldung kommt und genau da "could not detach kernel driver"
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

t1me2die

Offiziell wird die USV auch nicht unter der Liste (https://networkupstools.org/stable-hcl.html) geführt.
Ich möchte nur ausschließen, dass das Problem 50cm vor dem Monitor sitzt  ;D

Eine falsche Config kann ich eigentlich ausschließen, die drei Parameter kann man nicht großartig falsch setzen.
Hier habe ich auch schon andere Treiber als "Test" ausprobiert, ohne Erfolg.

Die Berechtigung für das Gerät habe ich nun auch mehrfach geprüft, ohne Erfolg.

Vielleicht gibt es auch ein Problem beim durchreichen der USV an die VM. Wobei die USV ja innerhalb der VM ja einwandfrei per "lsusb" sichtbar ist.

Gruß
Mathze

Wernieman

ZitatVielleicht gibt es auch ein Problem beim durchreichen der USV an die VM.
Stimmt .. daran habe ich gar nicht gedacht.

Ich persönlich würde es mal an einem Unix-Testsystem nativ es ausprobieren ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

t1me2die

Ich habe nun noch etwas die Dokumentation studiert und dabei ist mir folgendes aufgefallen:


...This driver is not built by default. You can build it by using "configure --with-usb=yes". Note that it will also install other USB drivers....


Daraufhin habe ich mich gefragt, ob ich den Treiber überhaupt schon auf meinem Debian 9.1 habe?
Ich habe zu Beginn lediglich den apt-get install nut gemacht.
Ob dabei automatisch dieser Treiber mit geladen wurde, ist mir nicht klar.

Laut Aussage des Satzes muss ich aber irgendwo noch einen Parameter ändern. Wo steht leider nirgends geschrieben.

Ganzer Ausschnitt:

INSTALLATION
This driver is not built by default. You can build it by using "configure --with-usb=yes". Note that it will also install other USB drivers.
You also need to install manually the legacy hotplug files (libhidups and libhid.usermap, generally in /etc/hotplug/usb/), or the udev file (nut-usbups.rules, generally in /etc/udev/rules.d/) to address the permission settings problem. For more information, refer to the README file in nut/scripts/hotplug or nut/scripts/udev.
On Linux with MGE equipment, you will need at least a 2.4.25 or 2.6.2 kernel as well as libusb-0.1.8 or later to disable hiddev support and avoid conflict.


Kann mich jemand aufklären?

Gruß
Mathze

Wernieman

Laut dem Text mußt Du das Produkt selber compilieren ... wie .. siehe deren Doku ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html