[Rxtx] Block permanently when open serial port on Linux

Francois Hamard francois.hamard at intesens.com
Tue Apr 10 09:48:47 MDT 2012


Hello,

I am still blocked on this issue. Is anyone reproduce the case? I have 
began to look at the RxTxPort code but I'm not really sure to understand 
this code. Especially when there is native code.

Please help!
François.

On 04/04/2012 18:41, Francois Hamard wrote:
> Hello,
>
> I'm a newbie using rxtx directly but I use it for 2 year now through 
> the mina framework. Today, I try to open a serial port with RXTX and 
> it blocks permanently on the open function. It seems works fine on 
> windows but not on linux.
> Do you have any clue of what can append?
> Hereunder my environment, stacktraces, logs and my code as simple as I 
> can.
>
> Best regards,
> Francois
>
> OS:
> $ uname -a
> Linux francois-PC 2.6.38-13-generic #56-Ubuntu SMP Tue Feb 14 12:40:40 
> UTC 2012 i686 i686 i386 GNU/Linux
> JRE:
> java-6-openjdk
> Lib:
> librxtxSerial.so
> rxtxcomm-2.2pre2-sources.jar
>
> Code:
>     public static void main(String[] args) {
>         System.out.println("Try to open serial port");
>         String comPort = "/dev/ttyHS3";
>         System.setProperty("gnu.io.rxtx.SerialPorts", comPort);
>         SerialPort sp = null;
>         try {
>             CommPortIdentifier id = 
> CommPortIdentifier.getPortIdentifier(comPort);
>             if (id.getPortType() == CommPortIdentifier.PORT_SERIAL) {
>
>                 sp = (SerialPort) id.open("LinuxOpenTester", 1000);
>
>                 sp.setSerialPortParams(4800, SerialPort.DATABITS_8, 
> SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
>
>             }
>             System.out.println("NMEA data was not found..");
>
>         } catch (Exception e) {
>             System.out.println("Error opening GPS com port");
>             e.printStackTrace();
>         }
>         System.out.println("Open is finished.");
>         System.out.println("sp = " + sp);
>
>     }
> Log:
> Try to open serial port
> WARNING:  RXTX Version mismatch
>     Jar version = RXTX-2.2pre1
>     native lib Version = RXTX-2.2pre2
> RXTX Warning:  Removing stale lock file. /var/lock/LCK..ttyHS3
>
> StackTrace:
> TestOpenSerial at localhost:60821
>     Thread [main] (Suspended)
>         Thread.sleep(long) line: not available [native method]
>         RXTXPort.waitForTheNativeCodeSilly() line: 892
>         RXTXPort.<init>(String) line: 129
>         RXTXCommDriver.getCommPort(String, int) line: 861
>         CommPortIdentifier.open(String, int) line: 458
>         TestOpenSerial.main(String[]) line: 16
>     Thread [Thread-0] (Suspended)
>         RXTXPort.eventLoop() line: not available [native method]
>         RXTXPort$MonitorThread.run() line: 1641
>
>




More information about the Rxtx mailing list