Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / March 2007

Tip: Looking for answers? Try searching our database.

Error loading SolarisSerial

Thread view: 
quad - 02 Mar 2007 16:25 GMT
Hello
I tried running the examples on the following link on windows XP and
2000.
http://java.sun.com/products/javacomm/reference/docs/API_users_guide_3.html
Are those programs specific to solaris? Will they work on windows?

I get the following errors when i tried to run the programs:

E:\project\ckt download\Serial_port\trial2\classes>java SimpleWrite
Error loading SolarisSerial: java.lang.UnsatisfiedLinkError: no
SolarisSerialPar
allel in java.library.path
Caught java.lang.UnsatisfiedLinkError: readRegistrySerial while
loading driver c
om.sun.comm.SolarisDriver
Error loading SolarisSerial: java.lang.UnsatisfiedLinkError: no
SolarisSerialPar
allel in java.library.path
Caught java.lang.UnsatisfiedLinkError: readRegistrySerial while
loading driver c
om.sun.comm.SolarisDriver
port COM1 not found.

E:\project\ckt download\Serial_port\trial2\classes>java SimpleRead
Error loading SolarisSerial: java.lang.UnsatisfiedLinkError: no
SolarisSerialPar
allel in java.library.path
Caught java.lang.UnsatisfiedLinkError: readRegistrySerial while
loading driver c
om.sun.comm.SolarisDriver
Error loading SolarisSerial: java.lang.UnsatisfiedLinkError: no
SolarisSerialPar
allel in java.library.path
Caught java.lang.UnsatisfiedLinkError: readRegistrySerial while
loading driver c
om.sun.comm.SolarisDriver
port COM1 not found.

I get the following errors:

comm.jar is placed in:

   %JAVA_HOME%/lib

   %JAVA_HOME%/jre/lib/ext

win32com.dll is placed in:

   %JAVA_HOME%/bin

   %JAVA_HOME%/jre/bin

   %windir%System32

javax.comm.properties is placed in:

   %JAVA_HOME%/lib

   %JAVA_HOME%/jre/lib

Environment variable PATH also points to comm.jar file. Please guide
me as to how I can correct the above errors.
Regards
Quad
Knute Johnson - 02 Mar 2007 17:38 GMT
> Hello
> I tried running the examples on the following link on windows XP and
[quoted text clipped - 60 lines]
> Regards
> Quad

It looks like you are using the Solaris API on a Windows machine?

Get a Windows copy of JavaComm API and put the comm.jar file in:

JDK?.?.?/bin/jre/lib/ext

JRE?.?.?/lib/ext

The win32com.dll goes in:

JRE?.?.?/bin

and the javax.comm.properties file goes in:

JRE?.?.?/lib

Signature

Knute Johnson
email s/nospam/knute/

a249@mailinator.com - 02 Mar 2007 23:47 GMT
On Mar 2, 6:38 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
wrote:
> Get a Windows copy of JavaComm API and put the comm.jar file in:

Sun no longer distributes the Windows version. Get RxTx.
Knute Johnson - 03 Mar 2007 00:34 GMT
> On Mar 2, 6:38 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
> wrote:
>> Get a Windows copy of JavaComm API and put the comm.jar file in:
>
> Sun no longer distributes the Windows version. Get RxTx.

You can still get it and RXTX has a bunch of bugs under Windows.  I
don't recommend it.  Google around and you can find Sun's version.

Signature

Knute Johnson
email s/nospam/knute/

a24900@googlemail.com - 03 Mar 2007 10:30 GMT
On Mar 3, 1:34 am, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
wrote:
> You can still get it and RXTX has a bunch of bugs under Windows.  I
> don't recommend it.  Google around and you can find Sun's version.

Such finds are likely illegal. Sun never approved redistribution. And
it is not a clever idea to download software for Windows from
untrusted sources.
Knute Johnson - 03 Mar 2007 16:48 GMT
> On Mar 3, 1:34 am, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
> wrote:
[quoted text clipped - 4 lines]
> it is not a clever idea to download software for Windows from
> untrusted sources.

It is on Sun's site.

https://sdlc2e.sun.com/ECom/EComActionServlet;jsessionid=A2EF022FE18F2C218AAAA1B
87D00B6D5


And you really don't have a choice if you want it to work.

Signature

Knute Johnson
email s/nospam/knute/

quad - 06 Mar 2007 05:49 GMT
> It is on Sun's site.
>
> https://sdlc2e.sun.com/ECom/EComActionServlet;jsessionid=A2EF022FE18F...

Sorry I tried accessing that link, but it leads me to a login page. So
couldn't find which download you were actually referring to.

I downloaded the generic com api from
https://sdlc3a.sun.com:443/ECom/EComActionServlet;jsessionid=FFE02C11D1406DB4570
B3DFF7EEC945A


Generic Platform - Java(tm) Communication API
comm.jar, 2.0.3, generic, English (3rd party backward compatibility,
only), English     comm2.0.3.zip    31.84 KB

And tried the examples from this link:
http://java.sun.com/products/javacomm/reference/docs/API_users_guide_3.html.
But i've been getting the same error again n again. Is it a prob with
API or with the program?

> And you really don't have a choice if you want it to work.

I desperately want it to work. Please guide me!

Regards
Quad
Knute Johnson - 06 Mar 2007 06:59 GMT
>> It is on Sun's site.
>>
[quoted text clipped - 21 lines]
> Regards
> Quad

The one you downloaded won't work.  I don't know what happened with the
other link but try this one.

http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=7235-jav
acomm-2.0-spec-oth-JSpec&SiteId=JSC&TransactionId=noreg


Signature

Knute Johnson
email s/nospam/knute/

quad - 07 Mar 2007 09:05 GMT
> The one you downloaded won't work.  I don't know what happened with the
> other link but try this one.
>
> http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetail...

Thanks Mr.Johnson! I downloaded the windows version from that link,
and copied the files in their appropriate locations:

win32com.dll in <JDK>\bin directory.

comm.jar in <JDK>\lib directory.

javax.comm.properties in <JDK>\lib directory. (as per instructions
given in the Java(tm) Communications API Win32 Installation
Instructions html page that is included in the zip file.

I tried executing the SimpleRead and SimpleWrite programs with serial
port name as COM1 or COM2. It compiled without errors. But it does not
give any output.

I also tried executing the program below, which you had posted
sometime back in this group.

import java.io.*;
import java.util.*;
import javax.comm.*;

public class CheckPort {
    public CheckPort() {
        CommPortIdentifier cpi = null;

        Enumeration e = CommPortIdentifier.getPortIdentifiers();

        while (e.hasMoreElements()) {
            try {
                cpi = (CommPortIdentifier) e.nextElement();
            } catch (NoSuchElementException n) {}
            System.out.println(cpi.getName());
        }
    }
    public static void main(String[] args) { new CheckPort(); }

}

The program does not return any results. I'd placed the files as per
the instructions page, and as per your post on mar2. But still I get
the same display: "port COM1 not found".

The installation instructions page says: "The javax.comm.properties
file must be installed. If it is not, no ports will be found by the
system." Does this simply mean copying java.comm.properties file to
<JDK>\lib directory or something more??
Please help me resolve this issue.
Thanks a lot
Quad
Knute Johnson - 07 Mar 2007 17:26 GMT
>> The one you downloaded won't work.  I don't know what happened with the
>> other link but try this one.
[quoted text clipped - 51 lines]
> Thanks a lot
> Quad

comm.jar goes in JDK/jre/lib/ext and JRE/lib/ext
javax.comm.properties goes in JRE/lib
win32com.dll goes in JRE/bin

JDK is the base directory of your JDK installation.  On my system that
is C:\Program Files\Java\jdk1.6.0\

JRE is the base directory of your JRE installation.  On my system that
is C:\Program Files\Java\jre1.6.0\

If any of the files are in the wrong directories it won't work even
though it may compile.  All that is required for it to compile is to
have the comm.jar file in your path or the extension directory (where it
belongs).  This should work for any real serial port.  I don't know if
it will work with the USB->serial devices.

Let us know if you get it going.

Signature

Knute Johnson
email s/nospam/knute/

quad - 14 Mar 2007 11:54 GMT
> comm.jar goes in JDK/jre/lib/ext and JRE/lib/ext
> javax.comm.properties goes in JRE/lib
> win32com.dll goes in JRE/bin

I have set the above paths.

> JDK is the base directory of your JDK installation.  On my system that
> is C:\Program Files\Java\jdk1.6.0\
>
> JRE is the base directory of your JRE installation.  On my system that
> is C:\Program Files\Java\jre1.6.0\

I'm using j2sdk1.4.2_05 and windows 2000. Hope that shouldn't be the
problem.
> If any of the files are in the wrong directories it won't work even
> though it may compile.  All that is required for it to compile is to
> have the comm.jar file in your path or the extension directory (where it
> belongs).  

import java.io.*;
import java.util.*;
import javax.comm.*;

public class CheckPort {
    public CheckPort() {
        CommPortIdentifier cpi = null;

        Enumeration e = CommPortIdentifier.getPortIdentifiers();

        while (e.hasMoreElements()) {
            try {
                cpi = (CommPortIdentifier) e.nextElement();
            } catch (NoSuchElementException n) {}
            System.out.println(cpi.getName());
        }
        System.out.println("done");
    }
    public static void main(String[] args) { new CheckPort(); }

}

The above program compiles, and prints only "done" when run.(that
means it does run properly?!) It doesn't ennumerate any serial ports,
even though COM1 port is connected to serial port of 8051
microcontroller.

>This should work for any real serial port.  I don't know if
> it will work with the USB->serial devices.

Its not a USB serial device. Here's a snapshot of my setup. It has the
virtex board on the left, and the 8051 microcontroller on the right,
whose serial port I'm trying to connect to the PC:

http://www.esnips.com/doc/e646fd74-9672-4b29-94c0-d9741e9475c0/board_setup

I'm using the serial cable supplied along with the kit and it does
give me the right output on a hyperterminal. I read somewhere that
these serial devices work on java and C till win98, and for later
versions, I'd have to write my own device drivers. Is that true?

> Let us know if you get it going.

Waiting for your response.
Thanks
Quad
Knute Johnson - 14 Mar 2007 19:03 GMT
>> comm.jar goes in JDK/jre/lib/ext and JRE/lib/ext
>> javax.comm.properties goes in JRE/lib
[quoted text clipped - 61 lines]
> Thanks
> Quad

I've used the Java Comm API with 1.4.2 so that shouldn't be a problem.
I have never used Windows 2000 however.  All of my current work is with
XP and the Comm API works fine with XP.

The test program should enumerate ports whether or not they are
connected to a cable and other port.  So the only thing I can suggest
now is to double check that the files are in the right places,
especially the javax.comm.properties file.  If you can get a hold of a
Windows 98 or XP computer, try and see if you can list the ports on that
computer.

Signature

Knute Johnson
email s/nospam/knute/

quad - 15 Mar 2007 05:59 GMT
Will you be able to mail me a copy of java.comm.properties file, jus
in case mine was corrupt?
quad - 15 Mar 2007 15:40 GMT
I reinstalled java and jre on my system, made the path changes, and
the serial port finally did work. Thanks a lot for your support!
Regards
Quad


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.