I just com­piled the rxtx v2.2pre3 library (I just call it that way, its the cvs head from 31.6.2010). There are bina­ries for win32, win64 (untested) and Mac OSX in the package:

1
2
3
4
5
# file librxtxSerial.jnilib
librxtxSerial.jnilib: Mach-O uni­ver­sal binary with 3 archi­tec­tures
librxtxSerial.jnilib (for archi­tec­ture x86_64): Mach-O 64-bit dynam­i­cally linked shared library x86_64
librxtxSerial.jnilib (for archi­tec­ture i386):   Mach-O dynam­i­cally linked shared library i386
librxtxSerial.jnilib (for archi­tec­ture ppc7400):    Mach-O dynam­i­cally linked shared library ppc

Down­load rxtx v2.2pre3 here

The max­i­mal ser­ial speed for MacOs X is 230400 (check the file /Developer/SDKs/MacOSX10.6.sdk/usr/include/sys/termios.h) — but I wasn’t able to com­mu­ni­cate with my Arduino at this speed. 115200 baud works fine. Any hints how to fix this?

For your view­ing plea­sure, here is the changelog since v2.1.7 (Jan 29 2006):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
2.2 ???
        Dea­mon Mon­i­tor thread.
        http://mailman.qbang.org/pipermail/rxtx/2009-November/5481981.html
        Ivan Maid­an­ski <ivmai@mail.ru>

        64 bit/ 32 bit fall­back of load­li­brary
        Nathan A. Sweet <nate@n4te.com>

        http://mailman.qbang.org/pipermail/rxtx/2009-November/5482004.html
        regen­er­ated gnu_io_RXTXPort.h and gnu_io_RXTXCommDriver.h;
        changed ver­sion string returned nativeG­etVer­sion();
        moved nativeG­etVer­sion() to RXTXVer­sion;
        added native_psmisc_report_owner() (same as for Win32);
        removed unnec­es­sary Get­LastEr­ror() calls;
        added explicit WCHAR-to-jchar casts (and vice versa) where the
        com­piler com­plains (same for LPWSTR and for “const” qual­i­fier);
        adjusted some debug­ging mes­sages (to also print returned error
        code);
        wrapped remain­ing printed error mes­sages (and Mes­sage­Beep) into
        IF_DEBUG();
        made printj() defined only if DEBUG;
        replaced trail­ing “n” with “rn” in printj();
        replaced “I” type char with “J” one for “eis” field;
        replaced get_java_int_var() with get_java_var_long();
        changed nativeSet­Se­ri­al­Port­Params() returned type to jboolean;
        added native­ClearCom­mIn­put() and read­Ter­mi­natedAr­ray()
        stubs (these should be imple­mented in future);
        removed “Mon­i­torThread­Close­Lock” field usage in event­Loop();
        com­mented out unused throw_java_exception(),
        get_java_boolean_var2() and removed get_java_boolean_var();
        replaced Sleep(0) call with Sleep(1) one in Com­mEvent­Thread() (
        to make yield­ing a bit “more reli­able” among threads with
        dif­fer­ent pri­or­i­ties);
        replaced named event with an unnamed one in
        Ini­tialiseEventIn­foS­truct() (see the note below);
        added new JAVAXCOMM_FRONTEND macro for con­ve­nience (if defined
        then Port­I­nUse­Ex­cep­tion and Unsup­port­ed­Com­m­Op­er­a­tionEx­cep­tion
        are used “javax.comm” pack­age (old behav­ior) else from
        “gnu.io.” one (default));
        com­mented out Dll­Main() def­i­n­i­tion (since it does no action,
        only con­sumes resources);
        updated Readme.
        WinCE com­pi­la­tion fixes an updates
        readAr­ray() sim­pli­fied loop/fix pointer
        Ivan Maid­an­ski <ivmai@mail.ru>
        http://mailman.qbang.org/pipermail/rxtx/2009-November/5411487.html
        http://mailman.qbang.org/pipermail/rxtx/2009-November/5411492.html
        http://mailman.qbang.org/pipermail/rxtx/2009-November/5411490.html
        http://mailman.qbang.org/pipermail/rxtx/2009-November/5411496.html

        Win­dows build improve­ments (MinGW32, MSVC and LCC)
        Ilkka Myller <ilkka@myller.com>
        http://mailman.qbang.org/pipermail/rxtx/2009-September/4822418.html
       
        Imple­mented return value to check­ing to file I/O calls
        Ilkka Myller <ilkka@myller.com>
        http://mailman.qbang.org/pipermail/rxtx/2009-September/4822416.html
       
        Removed unused Math­Works MATLAB tim­ing debug (DEBUG_MW)
        Fixed DEBUG_TIMING
        Ilkka Myller <ilkka@myller.com>
        http://mailman.qbang.org/pipermail/rxtx/2009-September/4822414.html
       
        Fix build on Linux sys­tems with­out UTS_RELEASE (linux/utsrelease.h)
        Ilkka Myller <ilkka@myller.com>
        http://mailman.qbang.org/pipermail/rxtx/2009-September/4816749.html
   
        Apple Xcode 3.x project
        Ilkka Myller <ilkka@myller.com>
        http://mailman.qbang.org/pipermail/rxtx/2009-September/4811084.html
       
        YACK() debug over­flow fix for win­dows
        Stef­fen DETTMER <Steffen.DETTMER@ingenico.com>

        Mul­ti­port fix for Win­dows
        Ilkka Myller <ilkka@myller.com>
        http://mailman.qbang.org/pipermail/rxtx/2009-February/3989441.html

        Fix for SIGSEGV at SerialImp.c Solaris/mac/*bsd
        Ilkka Myller <ilkka@myller.com>
        http://mailman.qbang.org/pipermail/rxtx/2009-February/4810504.html

        Let peo­ple know which port is in use on win­dows.
        Write­File fix for Par­al­lel ports on win­dows.
        Johnny Luong <johnny.luong@trustcommerce.com>

        Solaris sta­tic libgcc link con­fig­ure fix.

        64 bit JNI Fixes  <dan.sandberg.lists@gmail.com>
        Dan Sand­berg
        http://mailman.qbang.org/pipermail/rxtx/2007-June/3676251.html

        Main­tain DTR=false dur­ing set­Se­ri­al­Port­Params  
        Beat Arnet <beat.arnet@gmail.com>
        http://mailman.qbang.org/pipermail/rxtx/2009-January/3682508.html
        http://bugzilla.qbang.org/show_bug.cgi?id=104
       
        Avoid debug sprintf over­flows on win32.
        http://mailman.qbang.org/pipermail/rxtx/2009-January/3682496.html
        Luis Pires <lpdev@ruabrasil.org>

        dis­able dcb.fDtrControl to avoid unex­pected behav­ior.
        Beat Arnet <beat.arnet@gmail.com>
        http://bugzilla.qbang.org/show_bug.cgi?id=104

        thresh­old fix
        Alexan­dre Rusev <cyberflex@mail.ru>
        http://bugzilla.qbang.org/show_bug.cgi?id=85

                RXTX close dead­locks in REXTXPort.finalize
        Joachim Buechse <joachim@buechse.de>
        http://bugzilla.qbang.org/show_bug.cgi?id=53

        Add ACM ser­ial devices to all known ports.
        Dun­can Pierce <duncan.pierce@syntropy.co.uk>
        http://bugzilla.qbang.org/show_bug.cgi?id=51

        Con­cur­rency fixes for SMP/multicore sys­tems
        U. George <netbeans@gatworks.com>
        http://bugzilla.qbang.org/show_bug.cgi?id=100

        Fixes for MAC sys­tems with no dri­vers installed.
        1.5 stop bit fix

        Enable uni­ver­sal library builds for Mac OS X
        Andre-John Mas ajmas@sympatico.ca
        http://mailman.qbang.org/pipermail/rxtx/2007-December/1793319.html

        Do not remove and ignore inter­rupts.
        Joachim Buechse <joachim@buechse.de>
        http://bugzilla.qbang.org/show_bug.cgi?id=45

                find ports which were added after pro­gram startup on Mac OS X.
                Mar­tin Ober­hu­ber <martin.oberhuber@windriver.com>
        http://bugzilla.qbang.org/show_bug.cgi?id=48

        Clean up Comm­Port Own­er­ship code, avoid pos­si­ble dead­locks,
        fix lost comm­port own­er­ship events.
                Mar­tin Ober­hu­ber <martin.oberhuber@windriver.com>
        http://bugzilla.qbang.org/show_bug.cgi?id=83

        rxtx does not com­pile against JDK-1.6
        Nebo­jøa <nebojsa@anja.ig3.net>
        http://bugzilla.qbang.org/show_bug.cgi?id=84

        con­fig­ure script failed at line UTS_RELEASE
        megov <megov@mail.ru>
        http://bugzilla.qbang.org/show_bug.cgi?id=80

        code cleanup patch (extra ‘;’ cre­ates bug for if state­ments
        + new String() calls removed)
        Xavier Le Vourch <xavier@brittanysoftware.com>
        http://bugzilla.qbang.org/show_bug.cgi?id=77

        Wont com­pile on linux ppc with glibc 2.5 — no sys/io.h
        Brian John­son <site-rxtx.org@sherbang.com>
        http://bugzilla.qbang.org/show_bug.cgi?id=72

        rxtx over­writes Sys­tem prop­er­ties
        Andrew Gillett <asgillett@gmail.com>
        Nek­tar­ios K. Papadopou­los <npapadop@inaccessnetworks.com>
        Nebo­jøa <nebojsa@anja.ig3.net>
        http://bugzilla.qbang.org/show_bug.cgi?id=64

        Solaris ACM port sup­port
        Dave Cleal <dc@cleal.com>
        http://bugzilla.qbang.org/show_bug.cgi?id=59

        Set­ting of non-standard baud rate fails.
        Andrew Prunicki <aprunicki@yahoo.com>
        http://bugzilla.qbang.org/show_bug.cgi?id=58

        RXTX uses lock­files on MacOS X (instead of ioctl TIOCEXCL)
        Joachim Buechse <joachim@buechse.de>
        http://bugzilla.qbang.org/show_bug.cgi?id=50

        JavaDoc fixes
        Joachim Buechse <joachim@buechse.de>
        http://bugzilla.qbang.org/show_bug.cgi?id=49

        need to review:

        http://bugzilla.qbang.org/show_bug.cgi?id=53
        http://bugzilla.qbang.org/show_bug.cgi?id=46
        http://bugzilla.qbang.org/show_bug.cgi?id=41

Edit 8.2.2011:

  • librxtx works fine with the bau­drate 921600.
  • Make sure your /System/Library/Java/Extensions/ direc­tory does not con­tain old versions!
  • do not rename old ver­sion, delete them!!!!