Fail to connect to Holux m-241: Debian Wheezy, OpenJDK 7, Bluetooth

Steve8x8's picture

I've recently upgraded my laptop to Debian Wheezy before I got that Holux logger.
I can pair the Holux, and read its NMEA sentences using "cat" or "minicom", but bt747 fails to connect to it. Here's the relevant log snippet:

31354 - BT747 2.X.1975 Build:BT747_mdeweerd.1975.20130411000332820
31362 - Initial: 1019x575 Screen: 1024x600 Final: 1019x575
31366 - Linux
31370 - i386
31373 - 3.2.0-4-686-pae
31375 - 1.7.0_03
31383 - 32
31384 - Fail

Opened file /home/s/.bt747/gpsRawDebug.txt in mode 4 rw
Opened file /home/s/.bt747/gpsRawDebug.txt in mode 3 rw
59400 - Classgps.connection.GPSRxTxPort
Info: trying to open '/dev/rfcomm4'
Info: Opened port, setting parameters
Issue when setting parameters:115200 8 1 0 Invalid Parameter
at gps.connection.GPSRxTxPort.openPort(
at gps.connection.GPSrxtx.myOpenPort(
at gps.connection.GPSrxtx.setFreeTextPortAndOpen(
at bt747.model.Controller.openFreeTextPort(
at bt747.j2se_view.BT747Main.openPort(

Same happens when trying to set to "115200 8 2 0".
There's another error afterwards:

142942 - Port opened
142949 - >HOLUX241,5 true Input/output error in writeArray
at Method)
at gps.connection.GPSRxTxPort.write(
at gps.connection.GPSRxTxPort.write(
at gps.connection.GPSrxtx.write(
at gps.connection.NMEAWriter.sendPacket(
at gps.mvc.commands.GpsLinkNmeaCommand.execute(
at gps.mvc.GpsLinkHandler.doSendCmdUnprotected(
at gps.mvc.GpsLinkHandler.sendCmd(
at gps.mvc.MtkController.sendCmd(
at gps.mvc.MtkController.reqData(
at gps.mvc.GpsController.setDataNeeded(
at bt747.model.Controller.setMtkDataNeeded(
at bt747.j2se_view.BT747Main.modelEvent(
at bt747.model.AppSettings.doEvent(
142958 - #PMTK182,2,6

... the button changes to "Disconnect" but all device settings are unchecked.
Is there a way to skip baud rate setting completely?

Appending the full error log...

mdeweerd's picture

Hi The exceptions notified


The exceptions notified for the port baud rate settings are not blocking - they are ignored and BT747 just continues working.  BT747 just tries two different settings to try configure the baud rate.

The issue seems related to the rxtx library.  You might install the rxtx library from debian and modify the startup script to reference the system library (I think that this might actually already be the case).

You could also try the previous version of java to see if it works with that.

They also provide great

They also provide great customer care for all of these products using a good exchange policy.
She is able to have fun and it is usually up for trying new things.
Personally, I find vid bit easier than measuring, because chains often stretch while they get

I've eaten a few excellent

I've eaten a few excellent BBQ created by cooking a entire hog applying a chicken wire framed up with metal rods and then perched on top of concrete blocks. After about an hour, open the lid and rearrange the chicken so that the pieces that were furthest from the fire are closer, and vice versa. Ever wanted to smoke a brisket or salmon but could not because all you have is the normal round backyard charcoal grill.

I don't usually go into such

I don't usually go into such places as our spa uses bromine, not chlorine. If your main concern is safety, then anti slip type stair treads are the best for your application. You'll also want to be sure that the concrete in your home or on your property is well suited to
be stained.

Steve8x8's picture

Perfect! Installing

Perfect! Installing librxtx-java and patching the start script did the trick indeed.
That proves that OpenJDK 7 (which comes with Wheezy) doesn't get in the way of BT747 - which is very good news.
Here's the diff:
--- 2013-04-11 00:04:42.000000000 +0200
+++ 2013-05-25 22:58:27.000000000 +0200
@@ -35,17 +35,17 @@
- if [ -r "${TMPRXTXPATH}" ] ; then
- else
+# if [ -r "${TMPRXTXPATH}" ] ; then
+# else
# Did not find binary - look on system.
if [ -e /usr/share/java/RXTXcomm.jar ] ; then
# if librxtx-java seems to be installed locally (e.g., on Ubuntu)
- RXTXPATH=/usr/lib
- RXTXLIBPATH=/usr/lib
+ RXTXPATH=/usr/lib/jni
+ RXTXLIBPATH=/usr/lib/jni
- fi
+# fi
# Ended determining RXTX library

Stowing away the cable... Thanks a lot! (Now I got to get my mobile talk to the Holux to set the logging params...)