Comment communiquer avec des ups avec un port série?


0

J'ai ce haut chinois hors marque que je veux brancher mon ordinateur, le manuel indique qu'il a un "port COM" mais rien d'autre à ce sujet, il ne fournit pas de pilote non plus.

Si vous branchez l’onduleur avec un câble USB de type B à A sur mon ordinateur, il est détecté comme un "périphérique compatible HID" et ne semble trouver aucun pilote correspondant.

Capture d'écran du gestionnaire de périphérique

Y a-t-il un moyen d'obtenir des informations de l'onduleur comme la charge restante pour pouvoir créer un programme qui éteindra doucement l'ordinateur avant que le courant ne s'éteigne?

Modifier

Cet outil http://networkupstools.org semble détecter mon UPS

Modifier 2

Je n'arrive pas à faire fonctionner NUT avec mes ups, installer manuellement libusb ne fonctionnait pas non plus.

Modifier 3

rdesc: http://sprunge.us/WEZV

lsusb: http://sprunge.us/hNiM


1
Cliquez avec le bouton droit de la souris sur le périphérique et sélectionnez Propriétés -> onglet Détails , puis, dans la liste déroulante, affichez les ID de matériel , puis les ID compatibles . Si vous recherchez ces chaînes, vous aurez peut-être de la chance.
AFH

Les identifiants compatibles sont vides, et les identifiants matériels me donnent un tas de chaînes, comment puis-je les rechercher? C'était également sur le "périphérique compatible HID", le "périphérique d'entrée USB" me donne des résultats différents, avec lequel dois-je travailler?
quelque chose

Recherchez chaque chaîne à son tour, de préférence entre guillemets doubles. J'essayerais d'abord le périphérique USB, mais essayez l'autre si vous ne trouvez rien.
AFH

J'ai trouvé cette page avec networkupstools.org/stable-hcl.html avec beaucoup de pilotes génériques mais je n'arrive pas à trouver le pilote approprié
quelque chose de

La VENpartie de la chaîne d'ID doit indiquer le fabricant.
AFH

Réponses:


0

Réponse partielle:

Un périphérique compatible HID doit avoir un descripteur HID décrivant le ou les formats valides de données entrant et sortant du périphérique.

Sous Linux, vous pouvez accéder au descripteur HID de la manière suivante:

Regardez les nouvelles lignes dmesgqui apparaissent après avoir branché le périphérique. Cela vous indiquera si le noyau Linux le reconnaît également comme périphérique HID, ainsi que le numéro de bus, ainsi que le fournisseur et l'ID du périphérique.

Si ce n'est pas déjà monté, faites

mount -t debugfs none /sys/kernel/debug

en tant que racine. Ensuite /sys/kernel/debug/hid/<dev>/rdesc, contiendra le descripteur HID, où se <dev>trouve un identifiant de périphérique contenant le numéro de bus, le fournisseur et l'ID de périphérique, ainsi qu'un numéro supplémentaire.

Examinez le contenu du descripteur avec cat '/sys/kernel/debug/hid/<dev>/rdesc'et modifiez la question pour inclure le contenu (ou placez-le dans une boîte à copier, etc., puis modifiez la question avec un lien).

lsusbet lsusb -v -d xxxx:yyyy(où xxxx:yyyysont le fournisseur et l'identifiant du périphérique) donnera également des informations pouvant aider à déterminer comment communiquer avec le périphérique.

Modifier

C’est une façon amusante d’utiliser HID USB: le descripteur HID indique que vous pouvez lire et écrire des fragments d’une longueur de 8 octets, avec un objectif spécifique à l’application (non standard), et le code de pilote blazer_usb dans NUT le fait USB série via des morceaux de 8 octets. Complètement fou.

Voici une description de la façon de le faire fonctionner sous Ubuntu. Apparemment, il y a plusieurs pièges. Le protocole de communication pour l'interface série proprement dite est décrit ici .

Si vous avez toujours du mal à le faire fonctionner sous Linux, jetez un œil à usbmonce qui ne fonctionne pas.

Aucune idée de ce que font les pilotes Windows, à moins de prendre le code source et d’en écrire un vous-même.


Eh bien merci, je pourrais faire mon premier pas en écrivant des pilotes.
quelque chose
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.