<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://rxtx.qbang.org/wiki/skins/common/feed.css?207"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Rxtx - User contributions [en]</title>
		<link>http://rxtx.qbang.org/wiki/index.php/Special:Contributions/Niko.delarich</link>
		<description>From Rxtx</description>
		<language>en</language>
		<generator>MediaWiki 1.15.4</generator>
		<lastBuildDate>Sun, 21 Jun 2026 10:58:16 GMT</lastBuildDate>
		<item>
			<title>FAQ</title>
			<link>http://rxtx.qbang.org/wiki/index.php/FAQ</link>
			<description>&lt;p&gt;Niko.delarich:&amp;#32;/* On MacOS X I get a 'PortInUseException', even though it isn't? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General ==&lt;br /&gt;
&lt;br /&gt;
=== What is RXTX? ===&lt;br /&gt;
&lt;br /&gt;
RXTX is a Java library, using a native implementation (via JNI), providing serial and parallel communication for the Java Development Toolkit (JDK). All deliverables are under the GNU LGPL license. It is based on the specification for Sun's [http://java.sun.com/products/javacomm/index.jsp Java Communications API], though while many of the class descriptions are the same the package used it not, since gnu.io is used instead. A certain amount of compatibility is intended with API, though this project should be considered as a fork and therefore compatible in spirit, but not in implementation.&lt;br /&gt;
&lt;br /&gt;
=== Do you have a Mailing List? ===&lt;br /&gt;
&lt;br /&gt;
Yes, see the [[mailing-list]] page for details.&lt;br /&gt;
&lt;br /&gt;
=== Where can I find information about how to write apps using RXTX? ===&lt;br /&gt;
&lt;br /&gt;
Take a look at the [[Examples]]&lt;br /&gt;
&lt;br /&gt;
=== What does RXTX install where? ===&lt;br /&gt;
&lt;br /&gt;
The RXTX installation procedures installs files directly underneath $JAVA_HOME, i.e. directly into the JDK distribution.&lt;br /&gt;
&lt;br /&gt;
In case you are using the Sun JDK:&lt;br /&gt;
&lt;br /&gt;
The 'gnu.io' Java .class files are all packed into:&lt;br /&gt;
&lt;br /&gt;
   $JAVA_HOME/jre/lib/ext/RXTXcomm.jar&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/Library_(computer_science)#Shared_library Shared Object] files necessary to access OS-level functionality can be found underneath: &lt;br /&gt;
&lt;br /&gt;
   $JAVA_HOME/jre/lib/&amp;lt;architecture&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
and they are:&lt;br /&gt;
&lt;br /&gt;
  librxtxI2C-2.1-7.so&lt;br /&gt;
  librxtxI2C.la&lt;br /&gt;
  librxtxI2C.so -&amp;gt; librxtxI2C-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxParallel-2.1-7.so&lt;br /&gt;
  librxtxParallel.la&lt;br /&gt;
  librxtxParallel.so -&amp;gt; librxtxParallel-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxRaw-2.1-7.so&lt;br /&gt;
  librxtxRaw.la&lt;br /&gt;
  librxtxRaw.so -&amp;gt; librxtxRaw-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxRS485-2.1-7.so&lt;br /&gt;
  librxtxRS485.la&lt;br /&gt;
  librxtxRS485.so -&amp;gt; librxtxRS485-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxSerial-2.1-7.so&lt;br /&gt;
  librxtxSerial.la&lt;br /&gt;
  librxtxSerial.so -&amp;gt; librxtxSerial-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also see the '[[installation]]' page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Is there a Change Log? ===&lt;br /&gt;
&lt;br /&gt;
Yes, see the '[[Change Log]]' page.&lt;br /&gt;
&lt;br /&gt;
=== What License does RXTX use? ===&lt;br /&gt;
&lt;br /&gt;
RXTX is license under the LGPL with an exception for linking over controlled interfaces, a copy of which can be found in the '[[License]]' page.  The exception allows people to use RXTX as a service plugin with Sun's CommAPI: 'A Controlled Interface.'&lt;br /&gt;
&lt;br /&gt;
=== What Platforms does RXTX run on? ===&lt;br /&gt;
&lt;br /&gt;
See the page entitled '[[Porting]]', for more information.&lt;br /&gt;
&lt;br /&gt;
== Problems and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
=== On MacOS X I get a 'PortInUseException', even though it isn't? ===&lt;br /&gt;
&lt;br /&gt;
Versions prior to 2.1-8 use lock files, which is not the MacOS X way of doing things, and therefore has issues. For this reason make sure that you have version 2.1-8 or higher, which makes use of [http://developer.apple.com/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/ I/O Kit]. At this point in time 2.1-8 is only availble from CVS, in source form. See the section [[Retrieving Source Code]], on getting the latest code - be sure to get the code from the 'gnu.io' branch.&lt;br /&gt;
&lt;br /&gt;
=== RXTX does not find my device, what's wrong? ===&lt;br /&gt;
&lt;br /&gt;
There may be a number of reasons, but most often it is because your operating system can't find it either. RXTX is built upon the functionality provided by your operating system, and therefore is dependent on its limitations. For this reason find out whether your system can find the port, if it can and you still can't work what is going on, then there may be some help on the [[Mailing-List]].&lt;br /&gt;
&lt;br /&gt;
You can specify the available ports by&lt;br /&gt;
  System.setProperty(&amp;quot;gnu.io.rxtx.SerialPorts&amp;quot;, portFileNames);&lt;br /&gt;
where the file names of the ports are separated by File.pathSeparator.&lt;br /&gt;
&lt;br /&gt;
=== RXTX installation fails with JDK 1.6 ===&lt;br /&gt;
&lt;br /&gt;
This applies to the source package of RXTX 2.1-7r2.&lt;br /&gt;
&lt;br /&gt;
After having run ''./configure; make; make install'', the following message appears:&lt;br /&gt;
&lt;br /&gt;
  make  all-am&lt;br /&gt;
  make[1]: Entering directory `/&amp;lt;mumble mumble your directory&amp;gt;/rxtx-2.1-7r2'&lt;br /&gt;
  make[1]: Nothing to be done for `all-am'.&lt;br /&gt;
  make[1]: Leaving directory `/&amp;lt;mumble mumble your directory&amp;gt;/rxtx-2.1-7r2'&lt;br /&gt;
  libtool: install: `x86_64-unknown-linux-gnu/librxtxRS485.la' is not a directory&lt;br /&gt;
  Try `libtool --help --mode=install' for more information.&lt;br /&gt;
  make: *** [install] Error 1&lt;br /&gt;
&lt;br /&gt;
This is caused by a missing case in the 'configure' script generated from 'configure.in', which&lt;br /&gt;
causes the variable RXTX_PATH to not be set which causes the above confusion.&lt;br /&gt;
You can change the 'configure' script directly. Look for the case instruction that matches JDK version strings:&lt;br /&gt;
&lt;br /&gt;
  1.2*|1.3*|1.4*|1.5*&lt;br /&gt;
&lt;br /&gt;
and extend it to&lt;br /&gt;
&lt;br /&gt;
  1.2*|1.3*|1.4*|1.5*|1.6*&lt;br /&gt;
&lt;br /&gt;
Note that there are matches for Linux, BSD, Solaris and Win32.&lt;br /&gt;
&lt;br /&gt;
Then run ''./configure; make; make install'' as usual.&lt;br /&gt;
&lt;br /&gt;
=== RXTX and the Equinox SST-4P/LP multiport card ===&lt;br /&gt;
&lt;br /&gt;
A note for those who want to install an Equinox board (in this case &amp;quot;SST-4P/LP&amp;quot;) and try to&lt;br /&gt;
run it with RXTX under Linux (in this case, Red Hat ES 4)&lt;br /&gt;
&lt;br /&gt;
Get the driver source from the [http://www.equinox.com/support/download-drivers/ www.equinox.com driver page] and&lt;br /&gt;
compile it as described therein.&lt;br /&gt;
&lt;br /&gt;
The four serial ports of the Equinox SST-4P are available as the device files:&lt;br /&gt;
&lt;br /&gt;
   /dev/ttyQ1a1 ... /dev/ttyQ1a4&lt;br /&gt;
&lt;br /&gt;
These device files are created by the 'ssmkn' (alias 'make device nodes') executable. &lt;br /&gt;
&lt;br /&gt;
In order to make things work, you have to:&lt;br /&gt;
&lt;br /&gt;
Modify the 'eqnx' startup script '/etc/rc.d/init.d/eqnx'&lt;br /&gt;
and make it set the permissions of the devices files in the&lt;br /&gt;
'start' section, immediately after the call to 'ssmkn':&lt;br /&gt;
&lt;br /&gt;
        # create device files&lt;br /&gt;
        /usr/bin/ssmkn&lt;br /&gt;
        # fix rights on device files&lt;br /&gt;
        LIST=`ls /dev/ttyQ*`&lt;br /&gt;
        for DEV in $LIST; do&lt;br /&gt;
          chown root.uucp $DEV&lt;br /&gt;
          chmod 660 $DEV&lt;br /&gt;
        done&lt;br /&gt;
&lt;br /&gt;
Modify 'src/RXTXCommDriver.java' in the RXTX distribution. Add&lt;br /&gt;
the 'ttyQ1a' radical to the list of port radicals that RXTX checks:&lt;br /&gt;
&lt;br /&gt;
        if(osName.equals(&amp;quot;Linux&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
           String[] Temp = {&lt;br /&gt;
                &amp;quot;ttyS&amp;quot;, // linux Serial Ports&lt;br /&gt;
                &amp;quot;ttySA&amp;quot;, // for the IPAQs&lt;br /&gt;
                &amp;quot;ttyUSB&amp;quot;, // for USB frobs&lt;br /&gt;
                &amp;quot;ttyQ1a&amp;quot; // Equinox&lt;br /&gt;
           };&lt;br /&gt;
           CandidatePortPrefixes=Temp;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
Then recompile and reinstall.&lt;br /&gt;
&lt;br /&gt;
=== Is there a way to access serial and parallel port with standard Java API ? ===&lt;br /&gt;
&lt;br /&gt;
Currently no. This includes all Java versions including JDK 1.6 and probably JDK 1.7 when it is released. The [http://java.sun.com/products/javacomm/ Java Communications] API is a Java extension providing the necessary support for serial and parallel communication. RxTx is the most complete and currently maintained implementation of this API.&lt;/div&gt;</description>
			<pubDate>Thu, 05 Nov 2009 16:08:58 GMT</pubDate>			<dc:creator>Niko.delarich</dc:creator>			<comments>http://rxtx.qbang.org/wiki/index.php/Talk:FAQ</comments>		</item>
		<item>
			<title>Talk:Download</title>
			<link>http://rxtx.qbang.org/wiki/index.php/Talk:Download</link>
			<description>&lt;p&gt;Niko.delarich:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It would be interesting to distribute a version of RxTx with the debug constants set to 'true'.&lt;br /&gt;
&lt;br /&gt;
== Linux,AMD 64, &amp;amp; 2.2 ==&lt;br /&gt;
&lt;br /&gt;
Adding a note that you may need the 2.2 pre-release if your running 64 bit may save some people a bit of time. I wasn't able to get any of the stable releases working on Ubuntu 9.04&lt;br /&gt;
&lt;br /&gt;
== MacOS Snow Leopard ==&lt;br /&gt;
&lt;br /&gt;
RXTX 2.2pre is needed for MacOS Snow Leopard os.version 10.6 and above.&lt;br /&gt;
:Only works partially for me (SerialPort.close() is broken/hangs forever) --[[User:Niko.delarich|Niko.delarich]] 16:06, 5 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
The issue is that this version does not work with MacOS 10.4 - there the stable version is needed...&lt;br /&gt;
&lt;br /&gt;
It is fairly difficult (maybe impossible) to get a single setup for webstart.&lt;br /&gt;
&lt;br /&gt;
Would it be possible to provide/implement/explain a way to have the nativelib selection done partly in the Java code itself while providing several native libs through webstarts.&lt;br /&gt;
&lt;br /&gt;
By the way, the error is:&lt;br /&gt;
 &amp;quot;Symbol not found: _open$UNIX2003&amp;quot;&lt;/div&gt;</description>
			<pubDate>Thu, 05 Nov 2009 16:06:52 GMT</pubDate>			<dc:creator>Niko.delarich</dc:creator>			<comments>http://rxtx.qbang.org/wiki/index.php/Talk:Download</comments>		</item>
		<item>
			<title>FAQ</title>
			<link>http://rxtx.qbang.org/wiki/index.php/FAQ</link>
			<description>&lt;p&gt;Niko.delarich:&amp;#32;/* On MacOS X I get a 'PortInUseException', even though it isn't? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General ==&lt;br /&gt;
&lt;br /&gt;
=== What is RXTX? ===&lt;br /&gt;
&lt;br /&gt;
RXTX is a Java library, using a native implementation (via JNI), providing serial and parallel communication for the Java Development Toolkit (JDK). All deliverables are under the GNU LGPL license. It is based on the specification for Sun's [http://java.sun.com/products/javacomm/index.jsp Java Communications API], though while many of the class descriptions are the same the package used it not, since gnu.io is used instead. A certain amount of compatibility is intended with API, though this project should be considered as a fork and therefore compatible in spirit, but not in implementation.&lt;br /&gt;
&lt;br /&gt;
=== Do you have a Mailing List? ===&lt;br /&gt;
&lt;br /&gt;
Yes, see the [[mailing-list]] page for details.&lt;br /&gt;
&lt;br /&gt;
=== Where can I find information about how to write apps using RXTX? ===&lt;br /&gt;
&lt;br /&gt;
Take a look at the [[Examples]]&lt;br /&gt;
&lt;br /&gt;
=== What does RXTX install where? ===&lt;br /&gt;
&lt;br /&gt;
The RXTX installation procedures installs files directly underneath $JAVA_HOME, i.e. directly into the JDK distribution.&lt;br /&gt;
&lt;br /&gt;
In case you are using the Sun JDK:&lt;br /&gt;
&lt;br /&gt;
The 'gnu.io' Java .class files are all packed into:&lt;br /&gt;
&lt;br /&gt;
   $JAVA_HOME/jre/lib/ext/RXTXcomm.jar&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/Library_(computer_science)#Shared_library Shared Object] files necessary to access OS-level functionality can be found underneath: &lt;br /&gt;
&lt;br /&gt;
   $JAVA_HOME/jre/lib/&amp;lt;architecture&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
and they are:&lt;br /&gt;
&lt;br /&gt;
  librxtxI2C-2.1-7.so&lt;br /&gt;
  librxtxI2C.la&lt;br /&gt;
  librxtxI2C.so -&amp;gt; librxtxI2C-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxParallel-2.1-7.so&lt;br /&gt;
  librxtxParallel.la&lt;br /&gt;
  librxtxParallel.so -&amp;gt; librxtxParallel-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxRaw-2.1-7.so&lt;br /&gt;
  librxtxRaw.la&lt;br /&gt;
  librxtxRaw.so -&amp;gt; librxtxRaw-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxRS485-2.1-7.so&lt;br /&gt;
  librxtxRS485.la&lt;br /&gt;
  librxtxRS485.so -&amp;gt; librxtxRS485-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxSerial-2.1-7.so&lt;br /&gt;
  librxtxSerial.la&lt;br /&gt;
  librxtxSerial.so -&amp;gt; librxtxSerial-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also see the '[[installation]]' page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Is there a Change Log? ===&lt;br /&gt;
&lt;br /&gt;
Yes, see the '[[Change Log]]' page.&lt;br /&gt;
&lt;br /&gt;
=== What License does RXTX use? ===&lt;br /&gt;
&lt;br /&gt;
RXTX is license under the LGPL with an exception for linking over controlled interfaces, a copy of which can be found in the '[[License]]' page.  The exception allows people to use RXTX as a service plugin with Sun's CommAPI: 'A Controlled Interface.'&lt;br /&gt;
&lt;br /&gt;
=== What Platforms does RXTX run on? ===&lt;br /&gt;
&lt;br /&gt;
See the page entitled '[[Porting]]', for more information.&lt;br /&gt;
&lt;br /&gt;
== Problems and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
=== On MacOS X I get a 'PortInUseException', even though it isn't? ===&lt;br /&gt;
&lt;br /&gt;
Versions prior to 2.1-8 use lock files, which is not the MacOS X way of doing things, and therefore has issues. For this reason make sure that you have version 2.1-8 or higher, which makes use of [http://developer.apple.com/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/ I/O Kit]. At this point in time 2.1-8 is only availble from CVS, in source form. See the section [[Retrieving Source Code]], on getting the latest code - be sure to get the code from the 'gnu.io' branch.&lt;br /&gt;
&lt;br /&gt;
 'TODO': Can anyone who knows how please make an easy download available like the 2.1-7 version?&lt;br /&gt;
     There you go: &amp;lt;strike&amp;gt;http://www.mediafire.com/download.php?zx1hlhghyyh&amp;lt;/strike&amp;gt; Offline... -- [[User:Niko.delarich|Niko.delarich]] 17:40, 15 August 2009 (UTC)&lt;br /&gt;
        'TODO': Can anyone who knows how please upload this file to rxtx.org?&lt;br /&gt;
&lt;br /&gt;
=== RXTX does not find my device, what's wrong? ===&lt;br /&gt;
&lt;br /&gt;
There may be a number of reasons, but most often it is because your operating system can't find it either. RXTX is built upon the functionality provided by your operating system, and therefore is dependent on its limitations. For this reason find out whether your system can find the port, if it can and you still can't work what is going on, then there may be some help on the [[Mailing-List]].&lt;br /&gt;
&lt;br /&gt;
You can specify the available ports by&lt;br /&gt;
  System.setProperty(&amp;quot;gnu.io.rxtx.SerialPorts&amp;quot;, portFileNames);&lt;br /&gt;
where the file names of the ports are separated by File.pathSeparator.&lt;br /&gt;
&lt;br /&gt;
=== RXTX installation fails with JDK 1.6 ===&lt;br /&gt;
&lt;br /&gt;
This applies to the source package of RXTX 2.1-7r2.&lt;br /&gt;
&lt;br /&gt;
After having run ''./configure; make; make install'', the following message appears:&lt;br /&gt;
&lt;br /&gt;
  make  all-am&lt;br /&gt;
  make[1]: Entering directory `/&amp;lt;mumble mumble your directory&amp;gt;/rxtx-2.1-7r2'&lt;br /&gt;
  make[1]: Nothing to be done for `all-am'.&lt;br /&gt;
  make[1]: Leaving directory `/&amp;lt;mumble mumble your directory&amp;gt;/rxtx-2.1-7r2'&lt;br /&gt;
  libtool: install: `x86_64-unknown-linux-gnu/librxtxRS485.la' is not a directory&lt;br /&gt;
  Try `libtool --help --mode=install' for more information.&lt;br /&gt;
  make: *** [install] Error 1&lt;br /&gt;
&lt;br /&gt;
This is caused by a missing case in the 'configure' script generated from 'configure.in', which&lt;br /&gt;
causes the variable RXTX_PATH to not be set which causes the above confusion.&lt;br /&gt;
You can change the 'configure' script directly. Look for the case instruction that matches JDK version strings:&lt;br /&gt;
&lt;br /&gt;
  1.2*|1.3*|1.4*|1.5*&lt;br /&gt;
&lt;br /&gt;
and extend it to&lt;br /&gt;
&lt;br /&gt;
  1.2*|1.3*|1.4*|1.5*|1.6*&lt;br /&gt;
&lt;br /&gt;
Note that there are matches for Linux, BSD, Solaris and Win32.&lt;br /&gt;
&lt;br /&gt;
Then run ''./configure; make; make install'' as usual.&lt;br /&gt;
&lt;br /&gt;
=== RXTX and the Equinox SST-4P/LP multiport card ===&lt;br /&gt;
&lt;br /&gt;
A note for those who want to install an Equinox board (in this case &amp;quot;SST-4P/LP&amp;quot;) and try to&lt;br /&gt;
run it with RXTX under Linux (in this case, Red Hat ES 4)&lt;br /&gt;
&lt;br /&gt;
Get the driver source from the [http://www.equinox.com/support/download-drivers/ www.equinox.com driver page] and&lt;br /&gt;
compile it as described therein.&lt;br /&gt;
&lt;br /&gt;
The four serial ports of the Equinox SST-4P are available as the device files:&lt;br /&gt;
&lt;br /&gt;
   /dev/ttyQ1a1 ... /dev/ttyQ1a4&lt;br /&gt;
&lt;br /&gt;
These device files are created by the 'ssmkn' (alias 'make device nodes') executable. &lt;br /&gt;
&lt;br /&gt;
In order to make things work, you have to:&lt;br /&gt;
&lt;br /&gt;
Modify the 'eqnx' startup script '/etc/rc.d/init.d/eqnx'&lt;br /&gt;
and make it set the permissions of the devices files in the&lt;br /&gt;
'start' section, immediately after the call to 'ssmkn':&lt;br /&gt;
&lt;br /&gt;
        # create device files&lt;br /&gt;
        /usr/bin/ssmkn&lt;br /&gt;
        # fix rights on device files&lt;br /&gt;
        LIST=`ls /dev/ttyQ*`&lt;br /&gt;
        for DEV in $LIST; do&lt;br /&gt;
          chown root.uucp $DEV&lt;br /&gt;
          chmod 660 $DEV&lt;br /&gt;
        done&lt;br /&gt;
&lt;br /&gt;
Modify 'src/RXTXCommDriver.java' in the RXTX distribution. Add&lt;br /&gt;
the 'ttyQ1a' radical to the list of port radicals that RXTX checks:&lt;br /&gt;
&lt;br /&gt;
        if(osName.equals(&amp;quot;Linux&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
           String[] Temp = {&lt;br /&gt;
                &amp;quot;ttyS&amp;quot;, // linux Serial Ports&lt;br /&gt;
                &amp;quot;ttySA&amp;quot;, // for the IPAQs&lt;br /&gt;
                &amp;quot;ttyUSB&amp;quot;, // for USB frobs&lt;br /&gt;
                &amp;quot;ttyQ1a&amp;quot; // Equinox&lt;br /&gt;
           };&lt;br /&gt;
           CandidatePortPrefixes=Temp;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
Then recompile and reinstall.&lt;br /&gt;
&lt;br /&gt;
=== Is there a way to access serial and parallel port with standard Java API ? ===&lt;br /&gt;
&lt;br /&gt;
Currently no. This includes all Java versions including JDK 1.6 and probably JDK 1.7 when it is released. The [http://java.sun.com/products/javacomm/ Java Communications] API is a Java extension providing the necessary support for serial and parallel communication. RxTx is the most complete and currently maintained implementation of this API.&lt;/div&gt;</description>
			<pubDate>Sat, 15 Aug 2009 17:40:45 GMT</pubDate>			<dc:creator>Niko.delarich</dc:creator>			<comments>http://rxtx.qbang.org/wiki/index.php/Talk:FAQ</comments>		</item>
		<item>
			<title>FAQ</title>
			<link>http://rxtx.qbang.org/wiki/index.php/FAQ</link>
			<description>&lt;p&gt;Niko.delarich:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General ==&lt;br /&gt;
&lt;br /&gt;
=== What is RXTX? ===&lt;br /&gt;
&lt;br /&gt;
RXTX is a Java library, using a native implementation (via JNI), providing serial and parallel communication for the Java Development Toolkit (JDK). All deliverables are under the GNU LGPL license. It is based on the specification for Sun's [http://java.sun.com/products/javacomm/index.jsp Java Communications API], though while many of the class descriptions are the same the package used it not, since gnu.io is used instead. A certain amount of compatibility is intended with API, though this project should be considered as a fork and therefore compatible in spirit, but not in implementation.&lt;br /&gt;
&lt;br /&gt;
=== Do you have a Mailing List? ===&lt;br /&gt;
&lt;br /&gt;
Yes, see the [[mailing-list]] page for details.&lt;br /&gt;
&lt;br /&gt;
=== Where can I find information about how to write apps using RXTX? ===&lt;br /&gt;
&lt;br /&gt;
Take a look at the [[Examples]]&lt;br /&gt;
&lt;br /&gt;
=== What does RXTX install where? ===&lt;br /&gt;
&lt;br /&gt;
The RXTX installation procedures installs files directly underneath $JAVA_HOME, i.e. directly into the JDK distribution.&lt;br /&gt;
&lt;br /&gt;
In case you are using the Sun JDK:&lt;br /&gt;
&lt;br /&gt;
The 'gnu.io' Java .class files are all packed into:&lt;br /&gt;
&lt;br /&gt;
   $JAVA_HOME/jre/lib/ext/RXTXcomm.jar&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/Library_(computer_science)#Shared_library Shared Object] files necessary to access OS-level functionality can be found underneath: &lt;br /&gt;
&lt;br /&gt;
   $JAVA_HOME/jre/lib/&amp;lt;architecture&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
and they are:&lt;br /&gt;
&lt;br /&gt;
  librxtxI2C-2.1-7.so&lt;br /&gt;
  librxtxI2C.la&lt;br /&gt;
  librxtxI2C.so -&amp;gt; librxtxI2C-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxParallel-2.1-7.so&lt;br /&gt;
  librxtxParallel.la&lt;br /&gt;
  librxtxParallel.so -&amp;gt; librxtxParallel-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxRaw-2.1-7.so&lt;br /&gt;
  librxtxRaw.la&lt;br /&gt;
  librxtxRaw.so -&amp;gt; librxtxRaw-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxRS485-2.1-7.so&lt;br /&gt;
  librxtxRS485.la&lt;br /&gt;
  librxtxRS485.so -&amp;gt; librxtxRS485-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxSerial-2.1-7.so&lt;br /&gt;
  librxtxSerial.la&lt;br /&gt;
  librxtxSerial.so -&amp;gt; librxtxSerial-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also see the '[[installation]]' page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Is there a Change Log? ===&lt;br /&gt;
&lt;br /&gt;
Yes, see the '[[Change Log]]' page.&lt;br /&gt;
&lt;br /&gt;
=== What License does RXTX use? ===&lt;br /&gt;
&lt;br /&gt;
RXTX is license under the LGPL with an exception for linking over controlled interfaces, a copy of which can be found in the '[[License]]' page.  The exception allows people to use RXTX as a service plugin with Sun's CommAPI: 'A Controlled Interface.'&lt;br /&gt;
&lt;br /&gt;
=== What Platforms does RXTX run on? ===&lt;br /&gt;
&lt;br /&gt;
See the page entitled '[[Porting]]', for more information.&lt;br /&gt;
&lt;br /&gt;
== Problems and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
=== On MacOS X I get a 'PortInUseException', even though it isn't? ===&lt;br /&gt;
&lt;br /&gt;
Versions prior to 2.1-8 use lock files, which is not the MacOS X way of doing things, and therefore has issues. For this reason make sure that you have version 2.1-8 or higher, which makes use of [http://developer.apple.com/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/ I/O Kit]. At this point in time 2.1-8 is only availble from CVS, in source form. See the section [[Retrieving Source Code]], on getting the latest code - be sure to get the code from the 'gnu.io' branch.&lt;br /&gt;
&lt;br /&gt;
 'TODO': Can anyone who knows how please make an easy download available like the 2.1-7 version?&lt;br /&gt;
     There you go: http://www.mediafire.com/download.php?zx1hlhghyyh&lt;br /&gt;
        'TODO': Can anyone who knows how please upload this file to rxtx.org?&lt;br /&gt;
&lt;br /&gt;
=== RXTX does not find my device, what's wrong? ===&lt;br /&gt;
&lt;br /&gt;
There may be a number of reasons, but most often it is because your operating system can't find it either. RXTX is built upon the functionality provided by your operating system, and therefore is dependent on its limitations. For this reason find out whether your system can find the port, if it can and you still can't work what is going on, then there may be some help on the [[Mailing-List]].&lt;br /&gt;
&lt;br /&gt;
You can specify the available ports by&lt;br /&gt;
  System.setProperty(&amp;quot;gnu.io.rxtx.SerialPorts&amp;quot;, portFileNames);&lt;br /&gt;
where the file names of the ports are separated by File.pathSeparator.&lt;br /&gt;
&lt;br /&gt;
=== RXTX installation fails with JDK 1.6 ===&lt;br /&gt;
&lt;br /&gt;
This applies to the source package of RXTX 2.1-7r2.&lt;br /&gt;
&lt;br /&gt;
After having run ''./configure; make; make install'', the following message appears:&lt;br /&gt;
&lt;br /&gt;
  make  all-am&lt;br /&gt;
  make[1]: Entering directory `/&amp;lt;mumble mumble your directory&amp;gt;/rxtx-2.1-7r2'&lt;br /&gt;
  make[1]: Nothing to be done for `all-am'.&lt;br /&gt;
  make[1]: Leaving directory `/&amp;lt;mumble mumble your directory&amp;gt;/rxtx-2.1-7r2'&lt;br /&gt;
  libtool: install: `x86_64-unknown-linux-gnu/librxtxRS485.la' is not a directory&lt;br /&gt;
  Try `libtool --help --mode=install' for more information.&lt;br /&gt;
  make: *** [install] Error 1&lt;br /&gt;
&lt;br /&gt;
This is caused by a missing case in the 'configure' script generated from 'configure.in', which&lt;br /&gt;
causes the variable RXTX_PATH to not be set which causes the above confusion.&lt;br /&gt;
You can change the 'configure' script directly. Look for the case instruction that matches JDK version strings:&lt;br /&gt;
&lt;br /&gt;
  1.2*|1.3*|1.4*|1.5*&lt;br /&gt;
&lt;br /&gt;
and extend it to&lt;br /&gt;
&lt;br /&gt;
  1.2*|1.3*|1.4*|1.5*|1.6*&lt;br /&gt;
&lt;br /&gt;
Note that there are matches for Linux, BSD, Solaris and Win32.&lt;br /&gt;
&lt;br /&gt;
Then run ''./configure; make; make install'' as usual.&lt;br /&gt;
&lt;br /&gt;
=== RXTX and the Equinox SST-4P/LP multiport card ===&lt;br /&gt;
&lt;br /&gt;
A note for those who want to install an Equinox board (in this case &amp;quot;SST-4P/LP&amp;quot;) and try to&lt;br /&gt;
run it with RXTX under Linux (in this case, Red Hat ES 4)&lt;br /&gt;
&lt;br /&gt;
Get the driver source from the [http://www.equinox.com/support/download-drivers/ www.equinox.com driver page] and&lt;br /&gt;
compile it as described therein.&lt;br /&gt;
&lt;br /&gt;
The four serial ports of the Equinox SST-4P are available as the device files:&lt;br /&gt;
&lt;br /&gt;
   /dev/ttyQ1a1 ... /dev/ttyQ1a4&lt;br /&gt;
&lt;br /&gt;
These device files are created by the 'ssmkn' (alias 'make device nodes') executable. &lt;br /&gt;
&lt;br /&gt;
In order to make things work, you have to:&lt;br /&gt;
&lt;br /&gt;
Modify the 'eqnx' startup script '/etc/rc.d/init.d/eqnx'&lt;br /&gt;
and make it set the permissions of the devices files in the&lt;br /&gt;
'start' section, immediately after the call to 'ssmkn':&lt;br /&gt;
&lt;br /&gt;
        # create device files&lt;br /&gt;
        /usr/bin/ssmkn&lt;br /&gt;
        # fix rights on device files&lt;br /&gt;
        LIST=`ls /dev/ttyQ*`&lt;br /&gt;
        for DEV in $LIST; do&lt;br /&gt;
          chown root.uucp $DEV&lt;br /&gt;
          chmod 660 $DEV&lt;br /&gt;
        done&lt;br /&gt;
&lt;br /&gt;
Modify 'src/RXTXCommDriver.java' in the RXTX distribution. Add&lt;br /&gt;
the 'ttyQ1a' radical to the list of port radicals that RXTX checks:&lt;br /&gt;
&lt;br /&gt;
        if(osName.equals(&amp;quot;Linux&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
           String[] Temp = {&lt;br /&gt;
                &amp;quot;ttyS&amp;quot;, // linux Serial Ports&lt;br /&gt;
                &amp;quot;ttySA&amp;quot;, // for the IPAQs&lt;br /&gt;
                &amp;quot;ttyUSB&amp;quot;, // for USB frobs&lt;br /&gt;
                &amp;quot;ttyQ1a&amp;quot; // Equinox&lt;br /&gt;
           };&lt;br /&gt;
           CandidatePortPrefixes=Temp;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
Then recompile and reinstall.&lt;br /&gt;
&lt;br /&gt;
=== Is there a way to access serial and parallel port with standard Java API ? ===&lt;br /&gt;
&lt;br /&gt;
Currently no. This includes all Java versions including JDK 1.6 and probably JDK 1.7 when it is released. The [http://java.sun.com/products/javacomm/ Java Communications] API is a Java extension providing the necessary support for serial and parallel communication. RxTx is the most complete and currently maintained implementation of this API.&lt;/div&gt;</description>
			<pubDate>Sat, 16 May 2009 16:25:35 GMT</pubDate>			<dc:creator>Niko.delarich</dc:creator>			<comments>http://rxtx.qbang.org/wiki/index.php/Talk:FAQ</comments>		</item>
		<item>
			<title>FAQ</title>
			<link>http://rxtx.qbang.org/wiki/index.php/FAQ</link>
			<description>&lt;p&gt;Niko.delarich:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General ==&lt;br /&gt;
&lt;br /&gt;
=== What is RXTX? ===&lt;br /&gt;
&lt;br /&gt;
RXTX is a Java library, using a native implementation (via JNI), providing serial and parallel communication for the Java Development Toolkit (JDK). All deliverables are under the GNU LGPL license. It is based on the specification for Sun's [http://java.sun.com/products/javacomm/index.jsp Java Communications API], though while many of the class descriptions are the same the package used it not, since gnu.io is used instead. A certain amount of compatibility is intended with API, though this project should be considered as a fork and therefore compatible in spirit, but not in implementation.&lt;br /&gt;
&lt;br /&gt;
=== Do you have a Mailing List? ===&lt;br /&gt;
&lt;br /&gt;
Yes, see the [[mailing-list]] page for details.&lt;br /&gt;
&lt;br /&gt;
=== Where can I find information about how to write apps using RXTX? ===&lt;br /&gt;
&lt;br /&gt;
Take a look at the [[Examples]]&lt;br /&gt;
&lt;br /&gt;
=== What does RXTX install where? ===&lt;br /&gt;
&lt;br /&gt;
The RXTX installation procedures installs files directly underneath $JAVA_HOME, i.e. directly into the JDK distribution.&lt;br /&gt;
&lt;br /&gt;
In case you are using the Sun JDK:&lt;br /&gt;
&lt;br /&gt;
The 'gnu.io' Java .class files are all packed into:&lt;br /&gt;
&lt;br /&gt;
   $JAVA_HOME/jre/lib/ext/RXTXcomm.jar&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/Library_(computer_science)#Shared_library Shared Object] files necessary to access OS-level functionality can be found underneath: &lt;br /&gt;
&lt;br /&gt;
   $JAVA_HOME/jre/lib/&amp;lt;architecture&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
and they are:&lt;br /&gt;
&lt;br /&gt;
  librxtxI2C-2.1-7.so&lt;br /&gt;
  librxtxI2C.la&lt;br /&gt;
  librxtxI2C.so -&amp;gt; librxtxI2C-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxParallel-2.1-7.so&lt;br /&gt;
  librxtxParallel.la&lt;br /&gt;
  librxtxParallel.so -&amp;gt; librxtxParallel-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxRaw-2.1-7.so&lt;br /&gt;
  librxtxRaw.la&lt;br /&gt;
  librxtxRaw.so -&amp;gt; librxtxRaw-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxRS485-2.1-7.so&lt;br /&gt;
  librxtxRS485.la&lt;br /&gt;
  librxtxRS485.so -&amp;gt; librxtxRS485-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxSerial-2.1-7.so&lt;br /&gt;
  librxtxSerial.la&lt;br /&gt;
  librxtxSerial.so -&amp;gt; librxtxSerial-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also see the '[[installation]]' page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Is there a Change Log? ===&lt;br /&gt;
&lt;br /&gt;
Yes, see the '[[Change Log]]' page.&lt;br /&gt;
&lt;br /&gt;
=== What License does RXTX use? ===&lt;br /&gt;
&lt;br /&gt;
RXTX is license under the LGPL with an exception for linking over controlled interfaces, a copy of which can be found in the '[[License]]' page.  The exception allows people to use RXTX as a service plugin with Sun's CommAPI: 'A Controlled Interface.'&lt;br /&gt;
&lt;br /&gt;
=== What Platforms does RXTX run on? ===&lt;br /&gt;
&lt;br /&gt;
See the page entitled '[[Porting]]', for more information.&lt;br /&gt;
&lt;br /&gt;
== Problems and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
=== On MacOS X I get a 'PortInUseException', even though it isn't? ===&lt;br /&gt;
&lt;br /&gt;
Versions prior to 2.1-8 use lock files, which is not the MacOS X way of doing things, and therefore has issues. For this reason make sure that you have version 2.1-8 or higher, which makes use of [http://developer.apple.com/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/ I/O Kit]. At this point in time 2.1-8 is only availble from CVS, in source form. See the section [[Retrieving Source Code]], on getting the latest code - be sure to get the code from the 'gnu.io' branch.&lt;br /&gt;
&lt;br /&gt;
 'TODO': Can anyone who knows how please make an easy download available like the 2.1-7 version?&lt;br /&gt;
     There you go: http://www.mediafire.com/?sharekey=261f0b4bfc5aff850c814df2efeadc50e04e75f6e8ebb871&lt;br /&gt;
        'TODO': Can anyone who knows how please upload this file to rxtx.org?&lt;br /&gt;
&lt;br /&gt;
=== RXTX does not find my device, what's wrong? ===&lt;br /&gt;
&lt;br /&gt;
There may be a number of reasons, but most often it is because your operating system can't find it either. RXTX is built upon the functionality provided by your operating system, and therefore is dependent on its limitations. For this reason find out whether your system can find the port, if it can and you still can't work what is going on, then there may be some help on the [[Mailing-List]].&lt;br /&gt;
&lt;br /&gt;
You can specify the available ports by&lt;br /&gt;
  System.setProperty(&amp;quot;gnu.io.rxtx.SerialPorts&amp;quot;, portFileNames);&lt;br /&gt;
where the file names of the ports are separated by File.pathSeparator.&lt;br /&gt;
&lt;br /&gt;
=== RXTX installation fails with JDK 1.6 ===&lt;br /&gt;
&lt;br /&gt;
This applies to the source package of RXTX 2.1-7r2.&lt;br /&gt;
&lt;br /&gt;
After having run ''./configure; make; make install'', the following message appears:&lt;br /&gt;
&lt;br /&gt;
  make  all-am&lt;br /&gt;
  make[1]: Entering directory `/&amp;lt;mumble mumble your directory&amp;gt;/rxtx-2.1-7r2'&lt;br /&gt;
  make[1]: Nothing to be done for `all-am'.&lt;br /&gt;
  make[1]: Leaving directory `/&amp;lt;mumble mumble your directory&amp;gt;/rxtx-2.1-7r2'&lt;br /&gt;
  libtool: install: `x86_64-unknown-linux-gnu/librxtxRS485.la' is not a directory&lt;br /&gt;
  Try `libtool --help --mode=install' for more information.&lt;br /&gt;
  make: *** [install] Error 1&lt;br /&gt;
&lt;br /&gt;
This is caused by a missing case in the 'configure' script generated from 'configure.in', which&lt;br /&gt;
causes the variable RXTX_PATH to not be set which causes the above confusion.&lt;br /&gt;
You can change the 'configure' script directly. Look for the case instruction that matches JDK version strings:&lt;br /&gt;
&lt;br /&gt;
  1.2*|1.3*|1.4*|1.5*&lt;br /&gt;
&lt;br /&gt;
and extend it to&lt;br /&gt;
&lt;br /&gt;
  1.2*|1.3*|1.4*|1.5*|1.6*&lt;br /&gt;
&lt;br /&gt;
Note that there are matches for Linux, BSD, Solaris and Win32.&lt;br /&gt;
&lt;br /&gt;
Then run ''./configure; make; make install'' as usual.&lt;br /&gt;
&lt;br /&gt;
=== RXTX and the Equinox SST-4P/LP multiport card ===&lt;br /&gt;
&lt;br /&gt;
A note for those who want to install an Equinox board (in this case &amp;quot;SST-4P/LP&amp;quot;) and try to&lt;br /&gt;
run it with RXTX under Linux (in this case, Red Hat ES 4)&lt;br /&gt;
&lt;br /&gt;
Get the driver source from the [http://www.equinox.com/support/download-drivers/ www.equinox.com driver page] and&lt;br /&gt;
compile it as described therein.&lt;br /&gt;
&lt;br /&gt;
The four serial ports of the Equinox SST-4P are available as the device files:&lt;br /&gt;
&lt;br /&gt;
   /dev/ttyQ1a1 ... /dev/ttyQ1a4&lt;br /&gt;
&lt;br /&gt;
These device files are created by the 'ssmkn' (alias 'make device nodes') executable. &lt;br /&gt;
&lt;br /&gt;
In order to make things work, you have to:&lt;br /&gt;
&lt;br /&gt;
Modify the 'eqnx' startup script '/etc/rc.d/init.d/eqnx'&lt;br /&gt;
and make it set the permissions of the devices files in the&lt;br /&gt;
'start' section, immediately after the call to 'ssmkn':&lt;br /&gt;
&lt;br /&gt;
        # create device files&lt;br /&gt;
        /usr/bin/ssmkn&lt;br /&gt;
        # fix rights on device files&lt;br /&gt;
        LIST=`ls /dev/ttyQ*`&lt;br /&gt;
        for DEV in $LIST; do&lt;br /&gt;
          chown root.uucp $DEV&lt;br /&gt;
          chmod 660 $DEV&lt;br /&gt;
        done&lt;br /&gt;
&lt;br /&gt;
Modify 'src/RXTXCommDriver.java' in the RXTX distribution. Add&lt;br /&gt;
the 'ttyQ1a' radical to the list of port radicals that RXTX checks:&lt;br /&gt;
&lt;br /&gt;
        if(osName.equals(&amp;quot;Linux&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
           String[] Temp = {&lt;br /&gt;
                &amp;quot;ttyS&amp;quot;, // linux Serial Ports&lt;br /&gt;
                &amp;quot;ttySA&amp;quot;, // for the IPAQs&lt;br /&gt;
                &amp;quot;ttyUSB&amp;quot;, // for USB frobs&lt;br /&gt;
                &amp;quot;ttyQ1a&amp;quot; // Equinox&lt;br /&gt;
           };&lt;br /&gt;
           CandidatePortPrefixes=Temp;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
Then recompile and reinstall.&lt;br /&gt;
&lt;br /&gt;
=== Is there a way to access serial and parallel port with standard Java API ? ===&lt;br /&gt;
&lt;br /&gt;
Currently no. This includes all Java versions including JDK 1.6 and probably JDK 1.7 when it is released. The [http://java.sun.com/products/javacomm/ Java Communications] API is a Java extension providing the necessary support for serial and parallel communication. RxTx is the most complete and currently maintained implementation of this API.&lt;/div&gt;</description>
			<pubDate>Sat, 16 May 2009 16:24:48 GMT</pubDate>			<dc:creator>Niko.delarich</dc:creator>			<comments>http://rxtx.qbang.org/wiki/index.php/Talk:FAQ</comments>		</item>
		<item>
			<title>FAQ</title>
			<link>http://rxtx.qbang.org/wiki/index.php/FAQ</link>
			<description>&lt;p&gt;Niko.delarich:&amp;#32;Added a link to a compiled librxtxSerial.jnilib (2.2pre2) for MacOS X&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General ==&lt;br /&gt;
&lt;br /&gt;
=== What is RXTX? ===&lt;br /&gt;
&lt;br /&gt;
RXTX is a Java library, using a native implementation (via JNI), providing serial and parallel communication for the Java Development Toolkit (JDK). All deliverables are under the GNU LGPL license. It is based on the specification for Sun's [http://java.sun.com/products/javacomm/index.jsp Java Communications API], though while many of the class descriptions are the same the package used it not, since gnu.io is used instead. A certain amount of compatibility is intended with API, though this project should be considered as a fork and therefore compatible in spirit, but not in implementation.&lt;br /&gt;
&lt;br /&gt;
=== Do you have a Mailing List? ===&lt;br /&gt;
&lt;br /&gt;
Yes, see the [[mailing-list]] page for details.&lt;br /&gt;
&lt;br /&gt;
=== Where can I find information about how to write apps using RXTX? ===&lt;br /&gt;
&lt;br /&gt;
Take a look at the [[Examples]]&lt;br /&gt;
&lt;br /&gt;
=== What does RXTX install where? ===&lt;br /&gt;
&lt;br /&gt;
The RXTX installation procedures installs files directly underneath $JAVA_HOME, i.e. directly into the JDK distribution.&lt;br /&gt;
&lt;br /&gt;
In case you are using the Sun JDK:&lt;br /&gt;
&lt;br /&gt;
The 'gnu.io' Java .class files are all packed into:&lt;br /&gt;
&lt;br /&gt;
   $JAVA_HOME/jre/lib/ext/RXTXcomm.jar&lt;br /&gt;
&lt;br /&gt;
The [http://en.wikipedia.org/wiki/Library_(computer_science)#Shared_library Shared Object] files necessary to access OS-level functionality can be found underneath: &lt;br /&gt;
&lt;br /&gt;
   $JAVA_HOME/jre/lib/&amp;lt;architecture&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
and they are:&lt;br /&gt;
&lt;br /&gt;
  librxtxI2C-2.1-7.so&lt;br /&gt;
  librxtxI2C.la&lt;br /&gt;
  librxtxI2C.so -&amp;gt; librxtxI2C-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxParallel-2.1-7.so&lt;br /&gt;
  librxtxParallel.la&lt;br /&gt;
  librxtxParallel.so -&amp;gt; librxtxParallel-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxRaw-2.1-7.so&lt;br /&gt;
  librxtxRaw.la&lt;br /&gt;
  librxtxRaw.so -&amp;gt; librxtxRaw-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxRS485-2.1-7.so&lt;br /&gt;
  librxtxRS485.la&lt;br /&gt;
  librxtxRS485.so -&amp;gt; librxtxRS485-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
  librxtxSerial-2.1-7.so&lt;br /&gt;
  librxtxSerial.la&lt;br /&gt;
  librxtxSerial.so -&amp;gt; librxtxSerial-2.1-7.so&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also see the '[[installation]]' page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Is there a Change Log? ===&lt;br /&gt;
&lt;br /&gt;
Yes, see the '[[Change Log]]' page.&lt;br /&gt;
&lt;br /&gt;
=== What License does RXTX use? ===&lt;br /&gt;
&lt;br /&gt;
RXTX is license under the LGPL with an exception for linking over controlled interfaces, a copy of which can be found in the '[[License]]' page.  The exception allows people to use RXTX as a service plugin with Sun's CommAPI: 'A Controlled Interface.'&lt;br /&gt;
&lt;br /&gt;
=== What Platforms does RXTX run on? ===&lt;br /&gt;
&lt;br /&gt;
See the page entitled '[[Porting]]', for more information.&lt;br /&gt;
&lt;br /&gt;
== Problems and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
=== On MacOS X I get a 'PortInUseException', even though it isn't? ===&lt;br /&gt;
&lt;br /&gt;
Versions prior to 2.1-8 use lock files, which is not the MacOS X way of doing things, and therefore has issues. For this reason make sure that you have version 2.1-8 or higher, which makes use of [http://developer.apple.com/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/ I/O Kit]. At this point in time 2.1-8 is only availble from CVS, in source form. See the section [[Retrieving Source Code]], on getting the latest code - be sure to get the code from the 'gnu.io' branch.&lt;br /&gt;
&lt;br /&gt;
'TODO': Can anyone who knows how please make an easy download available like the 2.1-7 version?&lt;br /&gt;
    There you go: http://www.mediafire.com/?sharekey=261f0b4bfc5aff850c814df2efeadc50e04e75f6e8ebb871&lt;br /&gt;
        'TODO': Can anyone who knows how please upload this file to rxtx.org?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RXTX does not find my device, what's wrong? ===&lt;br /&gt;
&lt;br /&gt;
There may be a number of reasons, but most often it is because your operating system can't find it either. RXTX is built upon the functionality provided by your operating system, and therefore is dependent on its limitations. For this reason find out whether your system can find the port, if it can and you still can't work what is going on, then there may be some help on the [[Mailing-List]].&lt;br /&gt;
&lt;br /&gt;
You can specify the available ports by&lt;br /&gt;
  System.setProperty(&amp;quot;gnu.io.rxtx.SerialPorts&amp;quot;, portFileNames);&lt;br /&gt;
where the file names of the ports are separated by File.pathSeparator.&lt;br /&gt;
&lt;br /&gt;
=== RXTX installation fails with JDK 1.6 ===&lt;br /&gt;
&lt;br /&gt;
This applies to the source package of RXTX 2.1-7r2.&lt;br /&gt;
&lt;br /&gt;
After having run ''./configure; make; make install'', the following message appears:&lt;br /&gt;
&lt;br /&gt;
  make  all-am&lt;br /&gt;
  make[1]: Entering directory `/&amp;lt;mumble mumble your directory&amp;gt;/rxtx-2.1-7r2'&lt;br /&gt;
  make[1]: Nothing to be done for `all-am'.&lt;br /&gt;
  make[1]: Leaving directory `/&amp;lt;mumble mumble your directory&amp;gt;/rxtx-2.1-7r2'&lt;br /&gt;
  libtool: install: `x86_64-unknown-linux-gnu/librxtxRS485.la' is not a directory&lt;br /&gt;
  Try `libtool --help --mode=install' for more information.&lt;br /&gt;
  make: *** [install] Error 1&lt;br /&gt;
&lt;br /&gt;
This is caused by a missing case in the 'configure' script generated from 'configure.in', which&lt;br /&gt;
causes the variable RXTX_PATH to not be set which causes the above confusion.&lt;br /&gt;
You can change the 'configure' script directly. Look for the case instruction that matches JDK version strings:&lt;br /&gt;
&lt;br /&gt;
  1.2*|1.3*|1.4*|1.5*&lt;br /&gt;
&lt;br /&gt;
and extend it to&lt;br /&gt;
&lt;br /&gt;
  1.2*|1.3*|1.4*|1.5*|1.6*&lt;br /&gt;
&lt;br /&gt;
Note that there are matches for Linux, BSD, Solaris and Win32.&lt;br /&gt;
&lt;br /&gt;
Then run ''./configure; make; make install'' as usual.&lt;br /&gt;
&lt;br /&gt;
=== RXTX and the Equinox SST-4P/LP multiport card ===&lt;br /&gt;
&lt;br /&gt;
A note for those who want to install an Equinox board (in this case &amp;quot;SST-4P/LP&amp;quot;) and try to&lt;br /&gt;
run it with RXTX under Linux (in this case, Red Hat ES 4)&lt;br /&gt;
&lt;br /&gt;
Get the driver source from the [http://www.equinox.com/support/download-drivers/ www.equinox.com driver page] and&lt;br /&gt;
compile it as described therein.&lt;br /&gt;
&lt;br /&gt;
The four serial ports of the Equinox SST-4P are available as the device files:&lt;br /&gt;
&lt;br /&gt;
   /dev/ttyQ1a1 ... /dev/ttyQ1a4&lt;br /&gt;
&lt;br /&gt;
These device files are created by the 'ssmkn' (alias 'make device nodes') executable. &lt;br /&gt;
&lt;br /&gt;
In order to make things work, you have to:&lt;br /&gt;
&lt;br /&gt;
Modify the 'eqnx' startup script '/etc/rc.d/init.d/eqnx'&lt;br /&gt;
and make it set the permissions of the devices files in the&lt;br /&gt;
'start' section, immediately after the call to 'ssmkn':&lt;br /&gt;
&lt;br /&gt;
        # create device files&lt;br /&gt;
        /usr/bin/ssmkn&lt;br /&gt;
        # fix rights on device files&lt;br /&gt;
        LIST=`ls /dev/ttyQ*`&lt;br /&gt;
        for DEV in $LIST; do&lt;br /&gt;
          chown root.uucp $DEV&lt;br /&gt;
          chmod 660 $DEV&lt;br /&gt;
        done&lt;br /&gt;
&lt;br /&gt;
Modify 'src/RXTXCommDriver.java' in the RXTX distribution. Add&lt;br /&gt;
the 'ttyQ1a' radical to the list of port radicals that RXTX checks:&lt;br /&gt;
&lt;br /&gt;
        if(osName.equals(&amp;quot;Linux&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
           String[] Temp = {&lt;br /&gt;
                &amp;quot;ttyS&amp;quot;, // linux Serial Ports&lt;br /&gt;
                &amp;quot;ttySA&amp;quot;, // for the IPAQs&lt;br /&gt;
                &amp;quot;ttyUSB&amp;quot;, // for USB frobs&lt;br /&gt;
                &amp;quot;ttyQ1a&amp;quot; // Equinox&lt;br /&gt;
           };&lt;br /&gt;
           CandidatePortPrefixes=Temp;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
Then recompile and reinstall.&lt;br /&gt;
&lt;br /&gt;
=== Is there a way to access serial and parallel port with standard Java API ? ===&lt;br /&gt;
&lt;br /&gt;
Currently no. This includes all Java versions including JDK 1.6 and probably JDK 1.7 when it is released. The [http://java.sun.com/products/javacomm/ Java Communications] API is a Java extension providing the necessary support for serial and parallel communication. RxTx is the most complete and currently maintained implementation of this API.&lt;/div&gt;</description>
			<pubDate>Sat, 16 May 2009 16:23:42 GMT</pubDate>			<dc:creator>Niko.delarich</dc:creator>			<comments>http://rxtx.qbang.org/wiki/index.php/Talk:FAQ</comments>		</item>
		<item>
			<title>Installation on MacOS X</title>
			<link>http://rxtx.qbang.org/wiki/index.php/Installation_on_MacOS_X</link>
			<description>&lt;p&gt;Niko.delarich:&amp;#32;typos i guess&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing From Source ==&lt;br /&gt;
Before you start installing RXTX you will need to make sure that XCode, Apple's development environment is installed. It should be on one of the system installation disks, or the more recent version is available from [http://www.apple.com/developer/ Apple's developer web site]. As for Java, MacOS X already comes with Java installed so no need to install it again.&lt;br /&gt;
&lt;br /&gt;
Once you have XCode installed download RXTX. See the [[download]] page on how to get the latest version.&lt;br /&gt;
&lt;br /&gt;
Once you have downloaded the source extract it, in a terminal window navigate to the extracted directory and enter the command:&lt;br /&gt;
&lt;br /&gt;
 sh ./configure&lt;br /&gt;
&lt;br /&gt;
This will configure the build and generate the necessary make files. &lt;br /&gt;
&lt;br /&gt;
Note, that there may be supplementary options you may want to configure, though the standard options should suffice. To see what they are:&lt;br /&gt;
&lt;br /&gt;
 sh ./configure --help&lt;br /&gt;
&lt;br /&gt;
Once confiugre has finished running start the make process:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
If everything has gone to plan you should have a directory corresponding to the system's unix name, for example &amp;quot;powerpc-apple-darwin8.11.0&amp;quot;, with the native library 'librxtxSerial.jnilib' and in the current directory there should be the java librar 'RXTXcomm.jar'. See the section on &amp;quot;installing binaries&amp;quot; below, on where to put things.&lt;br /&gt;
&lt;br /&gt;
== Installing Binaries ==&lt;br /&gt;
&lt;br /&gt;
Whether you compiled from source, or got a binary distribution you should have two files: RXTXcomm.jar and librxtxSerial.jnilib. You will need to copy them to an appropriate location. If you want them to be available to all programs, then the standard locations are:&lt;br /&gt;
* /Library/Java/Extensions - to make available to all users&lt;br /&gt;
* ~/Library/Java/Extensions - to make available to only your user&lt;br /&gt;
&lt;br /&gt;
Also, if you are using an IDE such as Eclipse, you can opt to include them in your project instead. If your project is MyHelloWorld then locations would be:&lt;br /&gt;
* MyHelloWorld/lib/RXTXcomm.jar&lt;br /&gt;
* MyHelloWorld/librxtxSerial.jnilib&lt;br /&gt;
Don't forget to include them in your build path.&lt;br /&gt;
&lt;br /&gt;
== Environment Variables ==&lt;br /&gt;
&lt;br /&gt;
It should be noted that if you have issues configuring or building RXTX, then the first thing to check out are any environment variable that could be causing problems. For example:&lt;br /&gt;
* PATH - ensure that /usr/bin &amp;amp; /bin are first, since it has been know for other libraries to conflict, such as those installed with Fink or MacPorts&lt;br /&gt;
* CFLAGS - here it has been know the '-ansi' flags to cause issues with the RXTX source and gcc.&lt;br /&gt;
&lt;br /&gt;
Also, if you run configure again, after changing environment variables, removing the config.status file would be handy, since that acts a cache for the values taken from the first run.&lt;br /&gt;
&lt;br /&gt;
Additionally, if you wish to add support for 64-bit architectures, then you can add the following to your CFLAGS and LDFLAGS environment variables before you run configure:&lt;br /&gt;
&lt;br /&gt;
 -arch x86_64 -arch ppc64&lt;br /&gt;
&lt;br /&gt;
It should be noted that you will need MacOS X 10.5 for 64-bit support on Intel machines and at least 10.4 for 64-bit support for PowerPC machines.&lt;br /&gt;
&lt;br /&gt;
For 64-bit Java 6 you will also need to patch SerialImpl.c and SerialImpl.h according to the note on the forum here: [[http://mailman.qbang.org/pipermail/rxtx/2007-June/3368151.html]]. A user has provided a binary download of librxtxSerial.jnilib here: [[http://iharder.sourceforge.net/current/java/] http://iharder.sourceforge.net/current/java/]&lt;/div&gt;</description>
			<pubDate>Sat, 16 May 2009 16:15:47 GMT</pubDate>			<dc:creator>Niko.delarich</dc:creator>			<comments>http://rxtx.qbang.org/wiki/index.php/Talk:Installation_on_MacOS_X</comments>		</item>
	</channel>
</rss>