Déc 2009
28

Sous OpenBSD, après l’installation du package nut, en fonctionnant sur le câble USB avec le driver usbhid-ups, on obtient le message d’erreur :

Network UPS Tools: 0.29 USB communication driver - core 0.32 ()
No matching HID UPS found
Driver failed to start (exit status=1)

Ce message met sur une fausse piste pour la résolution du problème, il s’agit en fait d’un simple problème de droits d’écriture sur les devices /dev/ugen*, il suffit de les rendre accessibles à l’utilisateur _ups pour que tout fonctionne.

A noter que l’entrée port du fichier de configuration /etc/nut/ups.conf doit absolument être renseignée pour que le daemon upsd se lance, mais  qu’on peut y mettre n’importe quoi comme valeur (auto, toto, /dev/tty00, …), le driver se chargeant de trouver lui même les bon ports (/dev/ugen0.00 et /dev/ugen0.01 d’après la commande fstat -u _ups -n), ce qui donne la configuration ci-dessous, pour un onduleur MGE Ellipse 1500 :

[ellipse]
driver=usbhid-ups
# La valeur port est ignore par ce driver
port=auto
vendorid=0463
productid=ffff
desc="MGE Ellipse 1500"

Instabilités du driver usbhid-ups

Elles se traduisent par des erreurs ‘Data stale‘, pour les corriger augmenter la valeur MAXAGE dans upsd.conf; si cette modification ne suffit pas, un script bien bourrin de relance du driver, en crontab, fait aussi l’affaire :

#!/usr/local/bin/bash
TST=$(/usr/local/bin/upsc ellipse ups.status 2>/dev/null)
if [ "x$TST" == "x" ]; then
 /usr/local/bin/upsdrvctl stop
 /usr/local/bin/upsdrvctl start
 logger -p local0.notice -t NUT "Relance daemon UPS"
fi

Depuis la version 4.6 d’OpenBSD, ces erreurs semblent avoir disparues.

Répondre

*