IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Problème insoluble avec COM1 et RXTX


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Problème insoluble avec COM1 et RXTX
    Bonjour à tous,

    J'utilise RXTX depuis assez longtemps et je suis confronté à un problème incompréhensible depuis deux jours.
    Lorsque je lance la commande basique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CommPortIdentifier cpi=CommPortIdentifier.getPortIdentifier("COM1");
    j'obtiens la sortie suivante, normal :

    Stable Library
    =========================================
    Native lib Version = RXTX-2.1-7
    Java lib Version = RXTX-2.1-7
    Sauf qu'ensuite, d'une le programme se bloque, de deux je ne peux pas interrompre le process dans Netbeans, ni d'aucune autre façon.
    Ci-dessous une liste de ce que j'ai essayé :
    • Interrompre le process java.exe dans le TaskManager, ou en console avec taskkill
      => ne fonctionne pas, le process est toujours actif.
    • Faire juste une énumération des ports avec la commande :
      Enumeration enum_com=CommPortIdentifier.getPortIdentifiers();
      => même blocage que le getPortIdentifier("COM1")
    • Changer d'API : Avec javax.comm
      => Pas de blocage, mais l'exception NoSuchPortException est levée, et dans le cas de l'énumération aucun port n'est détecté (l'énumération est vide).
    • Réinstaller le JRE, le JDK, et Netbeans pour prendre les dernières versions stables
      => Toujours le même problème.
    • Utiliser un autre port série : J'ai connecté un périphérique en liaison USB virtualisé sur mon COM10
      => Même problème qu'avec COM1
    • Tester la couche OS :
      => avec Putty mon périphérique sur liaison série répond, de même sous Ubuntu avec VirtualBox


    Enfin, dernière conséquence observée du problème : à partir du moment du blocage, je peux brancher n'importe quel périphérique (USB, série) il ne sera pas détecté. Le seul moyen pour revenir à la normale est de redémarrer le PC.

    Des idées ?

    Plateforme : Windows 7 x86
    IDE : Netbeans 6.9.1, JDK 1.6.0 update 23, JRE 6

  2. #2
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    J'avais testé RXTX mais cela ne m'avais pas semblé très stable avec window.
    Je suis passé sur win32dll

    ci-joint un lien sur le comm.jar et la dll
    http://projets.developpez.com/projects/abc-wtools/files


    les sources que j'utilise
    http://projets.developpez.com/projec...andard/wSerial

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    RXTX est relativement stable sous Windows normalement.
    javax.comm que tu utilises n'est pas compatible pour plateforme 64bits, mon application devant tourner sous 32 et 64, je suis obligé de prendre Rxtx...

    Et j'ai essayé, sans succès, avec javax.comm il n'y a pas de blocage mais aucun port série n'est détecté.

  4. #4
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    Et sur une autre machine ?

    sinon
    Quel sont les ports reconnus ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    	public CommPortIdentifier listePortsDispo()
    	{
    		CommPortIdentifier ret=null;
    		CommPortIdentifier tmp;
    		Enumeration<?> portList=CommPortIdentifier.getPortIdentifiers();
    		if (portList==null)
    		{
    			System.err.println("Aucun port de communication détecté" );
    			return null;
    		}
    		while (portList.hasMoreElements())
    		{
    			tmp=(CommPortIdentifier)portList.nextElement();
     
    printf Non des port ?
     
    			if (ret==null){ // Valorise le premier port com trouvé
    				ret=tmp;
    				//break;
    			}
    		}
    		return ret;
    	}

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Sur une autre machine, avec le même code et la même version de l'API + des DLLs associées, cela fonctionne bien (testé avec succès sur un Windows 7 x64 et un autre Windows 7 x86).
    Il n'y a que sur ma machine que cela ne fonctionne pas.
    Je viens d'essayer ta fonction de listing des ports, j'ai toujours le même problème :
    Sortie :
    Stable Library
    =========================================
    Native lib Version = RXTX-2.1-7
    Java lib Version = RXTX-2.1-7
    En débuggant, le code s'arrête sur l'instruction CommPortIdentifier.getPortIdentifiers().

  6. #6
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    	static public Enumeration getPortIdentifiers() 
    	{ 
    		if(debug) System.out.println("static CommPortIdentifier:getPortIdentifiers()");
    		CommPortIndex = null;
    		try 
    		{
    			CommDriver RXTXDriver = (CommDriver) Class.forName("gnu.io.RXTXCommDriver").newInstance();
    			RXTXDriver.initialize();
    		} 
    		catch (Throwable e) 
    		{
    			System.err.println(e + " thrown while loading " + "gnu.io.RXTXCommDriver");
    		}
    		return new CommPortEnumerator();
    	}
    il doit probablement bloquer sur le newInstance.

    as-tu essayé de virer tous tes port com au niveau panneau de configuration/system

    puis éteindre et rallumer et enfin détecter ?

  7. #7
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Quand tu dis les virer, c'est les désactiver dans le gestionnaire de périphérique et les réactiver ensuite ?

  8. #8
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    Supprimer directement.

  9. #9
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Je viens d'essayer, j'ai supprimé les trois ports séries qui apparaissaient (COM1, COM3 et LPT1), j'ai redémarré, réinstallé les ports, et aucun changement, toujours le même blocage.
    Et pourtant avec putty, je communique correctement sur tous les ports série...

  10. #10
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    je n'ai pas d'autres idées. Perso je débugguerait a partir des sources pour comprendre ce qui ce passe.

  11. #11
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    D'accord, je vais essayer.
    En dernier recours, j'essayerais une restauration système, ou une réinstall de 7, puisque tout fonctionnait bien il y a quelques semaines...

    Merci beaucoup quand même pour ton aide !

  12. #12
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    Désolé, j'ai pas fait grand chose.

    Bon courage.

Discussions similaires

  1. Problèmes insolubles avec Vim
    Par Oniwaba dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 18/12/2009, 13h54
  2. problème insoluble avec CHECK
    Par NiBicUs dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 25/03/2004, 17h13
  3. Problème mémoire avec une dll par chargement dynamique
    Par widze19 dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/12/2003, 13h20
  4. problèmes bizarres avec jdbc
    Par jaimepasteevy dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 12/12/2003, 12h00
  5. problème JSP avec JBuilder et Weblogic 7
    Par viny dans le forum JBuilder
    Réponses: 2
    Dernier message: 24/04/2003, 08h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo