Redirection de port serie

Tags: #<Tag:0x00007f509b11a600>

Bonjour,
J’utilise pour la navigation une antenne GPS USB connecté à mon portable sous Debian 12.
Le GPS est reconnu sous /dev/ttyUSB0 et se connecte à OpenCPN ou à Memory-Map, mais pas aux deux en même temps :-((
Or je voudrais pouvoir travailler ces deux logiciels de navigation qui n’utilisent pas les mêmes cartes.
Je voudrais donc rediriger les signaux du GPS vers 2 ports tty différents.
J’ai testé muplex qui crée bien des ports /dev/ttyPSx, mais sur lesquels je ne retrouve pas de données. Marinux Website
Je l’ai peut être mal configuré (je ne peux pas lancer le GUI qui demande gksudo ;-((
Y a t’il une solution (simple …) pour envoyer les donnée de mon GPS vers 2 ports séries différents ?

Merci Henri

Bonjour,

Peux-tu nous indiquer les messages d’erreur de la part des applications OpenCPN et Memory-Map lorsque tu essaie de les connecter simultanément au même tty ?

Voici les messages d’erreur :
Memory Map : open serial port /dev/ttyUSB0, Failed, errno:2

Dans les logs d’OpenCPN :
21:47:55.024 MESSAGE comm_drv_n0183_net.cpp:523 TCP NetworkDataStream connection established: TCP:localhost:2947
21:48:00.045 MESSAGE comm_drv_n0183_net.cpp:340 TCP NetworkDataStream watchdog timeout: TCP:localhost:2947. Reconnection is disabled, waiting another 5 seconds.
21:48:021:47:55.024 MESSAGE comm_drv_n0183_net.cpp:523 TCP NetworkDataStream connection established: TCP:localhost:2947
21:48:00.045 MESSAGE comm_drv_n0183_net.cpp:340 TCP NetworkDataStream watchdog timeout: TCP:localhost:2947. Reconnection is disabled, waiting another 5 seconds.
21:48:02.875 MESSAGE comm_drv_n0183_net.cpp:622 Closing NMEA NetworkDataStream 29472.875 MESSAGE comm_drv_n0183_net.cpp:622 Closing NMEA NetworkDataStream 2947

Et si j’essaie gpscat :
gpscat -s 4800 /dev/ttyUSB0 => OSError: [Errno 16] Device or resource busy: ‹ /dev/ttyUSB1 ›

Je ne suis pas étonné qu’un port série ne puisse communiquer qu’avec un seul service
Cordialement, Henri

Moi non plus, sans multiplexeur, le port est alloué par une application de manière exclusive…

On voit bien la dépendance à gksudo indiquée sur la page de download de muplex. As-tu tout de même essayé de lancer le script avec sudo ? (sudo /usr/local/bin/muplex-gui) ?

Sinon, je n’ai malheureusement pas de réponse à t’apporter, mais je vois deux pistes :

  1. Trouver une manière d’installer/utiliser gksudo sur Debian 12.
  2. Trouver un autre multiplexer de port.

J’espère que quelqu’un sur ce forum pourra t’aider dans l’une ou l’autre.

Bon vent ! :sailboat:

Sur tout ce qui est tty, plusieurs applications peuvent y écrire simultanément mais une seule peut y lire.

On peut voir un multiplexeur tel que stripydog.com/kplex , qui était auparavant dans les dépôts Debian et qui doit encore pouvoir s’utiliser.
Malheureusement, il semble que Systemd ne puisse pas faire démarrer kplex à coup sûr.


AnonymousCoward

même avec sudo, muplex-gui réclame gksudo :-((

Merci, je vais regarder kplex.

Bon, j’ai testé un truc pas très propre, mais qui te permet de voir ta config dans muplex-gui :

Si on édite le fichier muplex-gui (script bash), on voit un premier test de dépendance pour gksudo (ligne 119), puis 2 utilisations pour lancer ou arrêter muplex. Tu peux remplacer les occurrences de gksudo par un simple sudo dans tout le script. Mais en fait seule la première est intéressante : elle permet d’éviter le test et donc de lancer l’interface. Et là tu peux utiliser le bouton « INFO » pour voir ta config.

Mais tu ne pourras pas utiliser l’interface pour démarrer/arrêter muplex.sh (tu dois continuer à le lancer via le terminal). En effet, dans ce cas, la commande sudo en place de gksudo renvoie un beau
sudo: /usr/local/sbin/muplex.sh start : commande introuvable dans le terminal.

Donc je récapitule :

  1. Tu lances muplex.sh en mode commande (comme tu le fais déjà).
  2. Tu lances muplex-gui après avoir modifié la ligne 119 en supprimant gksudo du test.
  3. Tu peux utiliser le bouton Info.

C’est pas chouette, mais si ça peut t’aider…

Merci,
ta « bidouille » marche et je peux voir avec « info » que ma config à la main semble bonne.
Et en lançant muplex.sh, j’ai vu qu’il cherchait route et ifconfig
J’ai installé net-tools, et j’obtiens maintenant des sorties sur ttyPS1 et ttyPS3 …