Problème avec port série

Votre Apache se cache, votre Pi gémit, votre SoC fume ? La panne quoi ! C'est ici que vous trouverez sans doute une solution... Sinon du réconfort :)

Modérateurs : Francois, maxty01

Répondre
s427
Messages : 2
Enregistré le : lun. 21 févr. 2022 21:49

Problème avec port série

Message par s427 » lun. 21 févr. 2022 21:57

Bonjour,

J’ai une situation un peu compliquée sur les bras et j’espère que vous pourrez me donner des pistes. Il s’agit d’un projet dont j’hérite en cours de route. Je suis développeur web (donc pas un débutant en informatique), mais je ne maîtrise pas bien l’environnement Raspberry ou les questions matérielles.

J’ai cinq Raspberry Pi 4 Model B/4GB. Ils sont tous identiques au niveau matériel, sauf un :

- Le premier a une carte d’extension avec un seul port série. Ce port fonctionne correctement.
- Les autres ont une autre carte d’extension (tous la même), avec deux ports série.

La carte avec deux ports est celle-ci : https://www.waveshare.com/wiki/2-CH_RS232_HAT

Pour des raisons pratiques (boîtiers trop petits), le premier connecteur (sur toutes ces cartes à deux ports) a été démonté. On le voit sur la photo suivante, sur la droite : https://imgur.com/a/aQbghwW

C’est donc le connecteur « channel 1 » qui a été démonté. Je ne sais pas si cette opération peut affecter le fonctionnement de l’autre port (channel 2).

Mon problème est que ce deuxième port ne semble pas fonctionner. Aucune donnée ne semble envoyée ou reçue.

La personne qui a testé ces Pi (avant que le connecteur série en trop soit démonté) m’affirme que cela fonctionnait. Mais il n’est plus sûr du port qu’il a utilisé pour ses tests (probablement celui qui a été démonté)…

Sur le premier Pi (celui qui fonctionne et qui n'a qu'un seul port), j’ai pu faire le test suivant :

- utiliser un câble série et un adaptateur série-USB pour relier le Pi à un ordinateur Windows
- sur Windows, utiliser le programme « Simple Serial Terminal »
- sur le PI, utiliser le programme « minicom » (que je lance avec la commande : "minicom -b 9600 -o -D /dev/ttyAMA0")
- si j’ouvre la connexion dans le programme sous Windows et que je tape des lettres, je les vois apparaître dans la fenêtre minicom sur le Pi (et inversement)

Donc c’est un protocole de test basique mais qui me montre que les données sont bien transmises et reçues (sur ce Pi uniquement).
Sur les autres Pi (avec les deux ports série dont un connecteur démonté), cette même procédure ne donne aucun résultat. Rien ne s’affiche à l’autre bout (dans les deux sens).

Sur chacun des 5 Pi qui posent problème, j’ai testé la commande minicom ci-dessus avec les noms de ports suivants :

- ttyAMA0
- ttyAMA1
- ttyAMA2
- ttyAMA3
- ttyAMA4
- ttyS0
- ttySC0 *
- ttySC1 *
- serial0
- serial1

* : pour ces noms de port, minicom ne se lance pas du tout. On attend une seconde et puis on reste dans le terminal normal.

Notez aussi que la LED « PWR » est allumée (on le voit sur la photo), mais aucune des autres LED (RXD1, TXD1, RXD2, TXD2) ne s’allume à aucun moment (câble branché ou non, envoi de données ou non). Je ne sais pas si c’est normal.

Quelles peuvent être les causes du problème ? Et quelles pistes pour le résoudre ?

Merci d’avance pour votre aide. :)

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Problème avec port série

Message par Artemus24 » dim. 27 févr. 2022 02:57

Salut à tous.
s427 a écrit :Je suis développeur web (donc pas un débutant en informatique),
A priori vous êtes débutant car le développement web n'a aucun rapport avec le développement procédurale ou objet.
Les métiers de l'informatique sont vastes.
s427 a écrit :mais je ne maîtrise pas bien l’environnement Raspberry ou les questions matérielles.
C'est la base même de la raspberry car elle est plus tournée vers l'électronique et le développement système.
s427 a écrit :C’est donc le connecteur « channel 1 » qui a été démonté. Je ne sais pas si cette opération peut affecter le fonctionnement de l’autre port (channel 2).
Qu'est-ce que vous entendez par démonter ? Voulez-vous dire dessouder ? Il est fort probable que vous avez endommagé la carte.
Cela peut aller d'un problème d'électricité statique, voire d'un composant qui a grillé lors du dessoudage.
Ou plus simplement, le channel 1 est relié au channel 2. En démontant l'un, l'autre ne fonctionne plus.
s427 a écrit :C’est donc le connecteur « channel 1 » qui a été démonté. Je ne sais pas si cette opération peut affecter le fonctionnement de l’autre port (channel 2).
Vous avez d'ailleurs découper votre boîtier afin de faire entrer votre carte.
s427 a écrit :Mon problème est que ce deuxième port ne semble pas fonctionner. Aucune donnée ne semble envoyée ou reçue.
Je m'avance peut-être un peu trop, mais ressouder ne servira à rien. Une carte électronique est très fragile.
s427 a écrit :Sur les autres Pi (avec les deux ports série dont un connecteur démonté), cette même procédure ne donne aucun résultat.
Démontez le hat "2-CH RS232" et vérifiez que l'uart de la rasberry fonctionne bien.
Je vous signale qu'il existe plusieurs URT dans la Raspberry Pi 4B.
Liser le sujet développé par M. François Mocq.
s427 a écrit :Notez aussi que la LED « PWR » est allumée (on le voit sur la photo), mais aucune des autres LED (RXD1, TXD1, RXD2, TXD2) ne s’allume à aucun moment
Un jour, j'ai fait une mauvaise manipulation sur une de mes raspberry pi 3b+ et j'ai provoqué un court-circuit.
La led rouge de la raspberry pi était bien allumé mar la led verte ne clignotait pas.

Vous vous retrouvez dans le même cas.
s427 a écrit :Quelles peuvent être les causes du problème ?
A moins de me tromper, vous avez grillé le hat "2-CH RS232".
s427 a écrit :Et quelles pistes pour le résoudre ?
Vous devez faire à nouveau l'acquisition de vos cinq hat au prix de $16 chacun.

Cordialement.
Artemus24.
@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

s427
Messages : 2
Enregistré le : lun. 21 févr. 2022 21:49

Re: Problème avec port série

Message par s427 » lun. 28 févr. 2022 12:31

Merci pour votre réponse.

Quand j'ai écrit "pas un débutant en informatique", ce que je voulais dire c'est que j'ai certaines compétences transposables (surtout côté logiciel : lire/comprendre/éditer du code, des fichiers configs etc) qui font que je ne pars pas complètement de zéro. Mais effectivement, je débute dans ce domaine.

Oui le connecteur a été dessoudé. Ce n'est pas moi qui ait fait ce travail donc il m'est difficile de juger, mais a priori la personne qui s'en est chargée a l'habitude de ce genre de manipulation et cela me semble assez propre (j'ai posté un lien vers une photo, je ne sais pas si cela permet de se faire une idée ou non).

Comme mentionné, il y a 4 cartes (et 4 Raspberry), donc je veux bien qu'une ou deux ait été abîmée, mais les 4 ? Pas impossible, mais ça devient moins probable.

Channel 1 et 2 reliés entre eux : pas impossible non plus mais ce serait un choix d'architecture assez curieux il me semble. J'ai écrit au fabriquant la semaine passée, mais je reste sans réponse pour l'instant.

Merci pour le lien sur l'UART, je le consulterai ces prochains jours. (Mais là encore, que 4 Raspberry aient le même problème en même temps... ? Mais OK, toute piste est bonne à explorer.)

Et je précise (même si ce n'est pas très important) que n'ai pas découpé le boîtier pour faire entre la carte.

Pour en revenir à la documentation officielle (https://www.waveshare.com/wiki/2-CH_RS2 ... ware_setup), l'installation du hat au niveau logiciel mentionne l'étape suivante :

> Add the line below to the file, the int_pin should be set according to the actual welding:
> dtoverlay=sc16is752-spi1,int_pin=24

Je ne comprends pas à quoi correspond "the actual welding". De ce qu'on m'a dit, les hat ont été reçus et simplement "pluggués" tels quels sur les Raspberry, il n'y a pas eu de soudage (welding). Par conséquent je n'ai aucune idée de la valeur à utiliser pour init_pin (j'ai utilisé celle donnée en exemple).
Une idée ?

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Problème avec port série

Message par Artemus24 » lun. 28 févr. 2022 18:47

Salut s427.
S427 a écrit :Mais effectivement, je débute dans ce domaine.
C'est une autre façon d'appréhender l'informatique, donc une autre façon de raisonner.
S427 a écrit :a priori la personne qui s'en est chargée a l'habitude de ce genre de manipulation et cela me semble assez propre (j'ai posté un lien vers une photo, je ne sais pas si cela permet de se faire une idée ou non).
On ne peut pas s'en rendre compte, même avec une bonne photo.
S427 a écrit :Mais là encore, que 4 Raspberry aient le même problème en même temps... ? Mais OK, toute piste est bonne à explorer.
Ce ne sont que des hypothèses que j'ai soulevé. Maintenant, je ne suis pas électronicien.
Personnellement, je ne me serai pas risqué à dessouder quoi que ce soit, au risque d'abimer le HAT.
S427 a écrit :Pour en revenir à la documentation officielle, l'installation du hat au niveau logiciel mentionne l'étape suivante :
Je viens de lire cette documentation.

Le PIN24 correspond à l'IRQ (Interrupt output (Interrupt Request).
C'est par cette broche qu'une demande d'interruption doit se faire (je le comprends ainsi).

Je suppose que vous avez modifié le fichier "config.txt".
Avez-vous fait un "ls -al /dev" et avez-vous retrouvé les deux tty de l'exemple donné ?
Si vous n'avez pas réponse attendue, le problème est bien électronique et non logiciel.

Je vois que vous utilisez la bibliothèque WiringPi.
Elle n'est plus maintenue depuis la raspberry PI 4B.

Pour vos exemples, il faut régler aupréalable le débit sur 115200 bits/s.
Ce ne sont pas des bauds, car un baud concerne une vitesse de modulation/démodulation, mais bien une vitesse de transfert de l'information.
Il s'agit de 2400 bauds et l'information transférée est de 115200 / 2400 = 48 bits (=6x8).
C'est une erreur fréquente la confusion entre les bauds et les bits/s.

Il y a un réglage à faire dans le fichier "/boot/cmdline.txt" au niveau de la console.
S427 a écrit :Je ne comprends pas à quoi correspond "the actual welding".
Du jargon d'électronicien anglo-saxon.

Si vous n'obtenez aucun résultat, changez la numérotation de ce PIN24.
Attention de ne pas mettre du 5Vcc ou du 3.3Vcc.

En principe l'exemple donné devrait fonctionné.

Cordialement.
Artemus24.
@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Répondre

Retourner vers « En panne ? »