Raspberry - COM/USB -> ne fonctionne plus après un reboot

Bonsoir,

Je tourne sur une Raspberry PI B, accouplé à une interface basique de relais ( sigma-shop.com/product/76/-usb-e … v-pcb.html )

Voila donc pour être bref, j’avais réussis à piloté simplement cet interface avec ce petit scrip :

[code]#!/bin/bash

SPEED COM

stty -F /dev/ttyUSB0 9600

ON echo -e “\xFF\x01\x01” > /dev/ttyUSB0

OFF echo -e “\xff\x01\x00” > /dev/ttyUSB0

echo -e “\xFF\x0$1\x0$2” > /dev/ttyUSB0
[/code]

cela fonctionnais parfaitement jusqu’au moment ou j’ai rebooté la machine, et depuis, totalement impossible de refaire fonctionné cet interface.
Pourtant, le convertisseur usb -> com, reçois bien les bit de donnée…

Je suis assez perdu et je ne comprend vraiment pas ce qu’il aurait pu ce passer

Merci d’avance :slightly_smiling:

( youtube.com/watch?v=oliJi_RYueM ( petit test avant le reboot avec un autre script)

info système :

21:24 mous@RPI-01 ~% lsusb Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

21:26 mous@RPI-01 ~% uname -a Linux RPI-01 3.1.9+ #90 Wed Apr 18 18:23:05 BST 2012 armv6l GNU/Linux

Personne n’a une idée ? :slightly_smiling:

Salut,

ta carte relais est peut-être HS ? débranche là complètement (pour réinitialiser le microcontrôleur dedans) puis réessaie… tu peux aussi tester la carte sur un autre PC ? (GNU/Linux ou même Windows avec HyperTerminal).

yop

je confirme qu’il fonctionne bien depuis un autre pc ( sous debian aussi )

/dev/ttyUSBX
ls -la /dev/tty*

vérifie si il n’a pas changé de numéro ?

reboot sans et brancher par la suite?

Salut,

En effet la première chose à faire est de savoir si le périphérique est bien présent dans /dev.
La deuxième consiste à savoir si l’utilisateur qui lance le script à bien le droit d’écriture sur le périphérique.
Si oui aux deux questions et que tu n’as pas plus de réponse que ça dans les logs tu peux envisager de passer par un programme qui exploitera directement le module concerné (doit y’avoir moyen de causer à ta carte via des ioctl’s).
J’ai vu sur le site que tu passes en lien qu’il existait un driver à télécharger. Tu l’utilise ? Ou bien le matos est pris en charge directement par un module noyau ?

Salut !

en faite oui il parle d’un driver, mais en faite, c’est un module ultra basique.

En gros, un simple echo avec le bit de donnée sur le port com, peu donner l’ordre au MC.
Il n’y a pas de protocole spécifique :slightly_smiling:

Ensuite, je suis sur une autre machine sous Debian, et ça fonctionne nikel, reboot etc etc…
Ce qui est étrange… je vais réinstaller une copie pour voir… :slightly_smiling:

Maintenant ce que je ne comprend pas, c’est que sur le système de la RPI, ça fonctionnais bien, puis, plus rien…

Oui mais un “echo” ne s’exécute pas avec un coup de baguette magique.
Si tu regardes le driver il existe tout un set de fonctions te permettant de gérer le device.
Tu peux te faire un petit programme qui ouvre le device, écrit quelque chose dedans et le referme. Tu récupéreras des messages d’erreurs qui te guideront.

D’où les questions sur la présence du device dans /dev, le module chargé et les droits, les logs.
Il te faut quand même une méthode permettant de caractériser le problème autre que “ça marche ailleurs et pas sur mon RPI”.

Pour compléter la remarque d’antalgeek,
tu as validé que ta carte relais fonctionnait sur un autre PC, donc OK, met là de coté.
Il faut maintenant que tu cherches si ton PI envoie bien les bon ordres.
Fait un script qui envoie des données sur le port série, et connecte ce port série sur une machine quelconque munie d’un port série et regarde ce que tu reçois (un vieux minitel pourrais même faire l’affaire, il doit pouvoir se configurer en console VT100)