BT747 on Kubuntu 9.04 with Holux M241 - connection problem

Hi

i'm trying to get bt747 to work on my kubuntu 9.04 with holux m241(v 1.12)

i can start bt747 (v 1.68.25)with sudo ./run_j2se.sh . connecting works only with speed 115200, otherwise it does nothing. device is /dev/ttyUSB0. click on download does nothing, but gets a lot of output in the console(see attachment).

any ideas what i could try or i do wrong?
what log could help to get to the problem?

thx for your help

bt748_2.png
bt747.png
mdeweerd's picture

Good news!  We got BT747 to

Good news!  We got BT747 to work for Jan.  I was hoping he would add the instructions here.  However, in the absence of that, I give some short instructions.

  1. Get and build a tool called interceptty (http://www.suspectclass.com/sgifford/interceptty/ )
  2. Before connecting in BT747, launch interceptty to set connect to your GPS at the right baud rate and create another virtual port.  The way you should launch interceptty is something like:

    interceptty -q -s 'ispeed 38400 ospeed 38400' /dev/ttyUSB0 /dev/ttyBT747 &

    The '-q' options prevents the tool from recording the communication.

  3. In BT747 enter by hand the port name indicated at the end of the call to interceptty (/dev/ttyBT747) and connect.  The error you get about BT747 not being able to set the baud rate is normal in this case.

The above can of course be done more or less automatically if you put it in the launch script.  You need to connect the active logger to your computer before launching interceptty.

You have to use the latest RXTX2.2pre driver too.

Some background of the reason for this:
The many trials with Jan demonstrated that there is an incompatibility of the RXTX native code with the serial system driver.  There is not much that can be done about it in BT747, the RXTX driver has to be 'debugged' and corrected.  The latest corrections that could be found on the web (arduino-2.1.8) did not help.

steve hoge's picture

  WARNING: RXTX Version

 

WARNING: RXTX Version mismatch
Jar version = RXTX-2.2pre1
native lib Version = RXTX-2.2pre2

I continue to get these messages in the latest dev version even when the app is running correctly.  

But I do get a seg fault in librxtxSerial.jnilib when I hit "Disconnect" from the device, so perhaps this fault might be related to RXTX mismatch.

Or the mismatch msg could be a complete red herring  ;-)

-Steve

 

mdeweerd's picture

The version mismatch is a

The version mismatch is a normal message.  RXTX is not final yet in this 2.2 version (since for ages now) and the binary part of this library was changed but not the java part.


The seg fault  is clearly an RXTX problem.  It needs fixing in the RXTX part.  Without access to a failing system directly this is time-consuming to fix for somebody not very familiar with the RXTX binary code.  Potentially some code reading could help identify the issue - I think it is best reported to the rxtx project itself.

Hi, I was hit with the same

Hi, I was hit with the same bug as the OP on Debian Lenny amd64. I worked around it by using bluetooth (USB adapters go for ~10 EUR so it's not really an issue even on a desktop PC) run: $ rfcomm connect 0 x.x.x.x.x.x 1 (find your MAC with hcitool scan beforehand and replace x.x.x.x.x.x with it) Then use /dev/rfcomm0 in BT474 ->works perfectly That way you don't need to build that cp210x kernel module (that might conflict with cp2101.ko on Debian kernels). Additional hint: your user has to be in the "dialout" group to access /dev/rfcomm0 Best regards, kro

mdeweerd's picture

Thanks for that feedback!

Thanks for that feedback!

Just went through all of this

Just went through all of this with Ubuntu 9.10, in the end the root cause was my system is running in 64-bit mode (amd64)

The fix was to install ia32-sun-java6-bin

sudo apt-get install ia32-sun-java6-bin

..and then modify the .desktop file (in my case called jws_app_shortcut_1267041166237.desktop) to point to the correct java binary:

Exec=/usr/lib/jvm/ia32-java-6-sun/jre/bin/javaws

...rather than the path to the version that was there. Note this also stops the BT747 desktop icon from breaking every time you upgrade Java.

mdeweerd's picture

Thanks for sharing - I

Thanks for sharing - I updated the install instructions referring to your post.

Thanks for great material. I

Thanks for great material.

I tried BT747 some months ago, but with no success.

Then again, started reading today.

I'm also using amd64 platform (Debian). Did not want to mess with 32-bit libs and apps, so tried to use /dev/rfcomm0 (BlueTooth) - worked!

However my MTK-241 does not retain custom log format after power-off.

Will continue to play :)

I'm having troubles to

I'm having troubles to connect a Holus GR-245 to my 64 bits Lucid Ubuntu. using the lastest 1746 version, I get what is copied below. Is there any way to fix this problem ? I read this post and tried a couple of things without any success. Thanks in advance !

 

 

11246 - Classgps.connection.GPSRxTxPort

Issue when setting parameters:38400 8 1 0

gnu.io.UnsupportedCommOperationException: Invalid Parameter

at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:211)

at gps.connection.GPSRxTxPort.openPort(Unknown Source)

at gps.connection.GPSrxtx.myOpenPort(Unknown Source)

at gps.connection.GPSrxtx.setFreeTextPortAndOpen(Unknown Source)

at bt747.model.Controller.openFreeTextPort(Unknown Source)

at bt747.j2se_view.BT747Main.access$300(Unknown Source)

at bt747.j2se_view.BT747Main$7.actionPerformed(Unknown Source)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)

at java.awt.Component.processMouseEvent(Component.java:6108)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

at java.awt.Component.processEvent(Component.java:5873)

at java.awt.Container.processEvent(Container.java:2105)

at java.awt.Component.dispatchEventImpl(Component.java:4469)

at java.awt.Container.dispatchEventImpl(Container.java:2163)

at java.awt.Component.dispatchEvent(Component.java:4295)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)

at java.awt.Container.dispatchEventImpl(Container.java:2149)

at java.awt.Window.dispatchEventImpl(Window.java:2478)

at java.awt.Component.dispatchEvent(Component.java:4295)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

Trying stopbits = 2

Issue when setting parameters:38400 8 2 0

gnu.io.UnsupportedCommOperationException: Invalid Parameter

at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:211)

at gps.connection.GPSRxTxPort.openPort(Unknown Source)

at gps.connection.GPSrxtx.myOpenPort(Unknown Source)

at gps.connection.GPSrxtx.setFreeTextPortAndOpen(Unknown Source)

at bt747.model.Controller.openFreeTextPort(Unknown Source)

at bt747.j2se_view.BT747Main.access$300(Unknown Source)

at bt747.j2se_view.BT747Main$7.actionPerformed(Unknown Source)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)

at java.awt.Component.processMouseEvent(Component.java:6108)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

at java.awt.Component.processEvent(Component.java:5873)

at java.awt.Container.processEvent(Container.java:2105)

at java.awt.Component.dispatchEventImpl(Component.java:4469)

at java.awt.Container.dispatchEventImpl(Container.java:2163)

at java.awt.Component.dispatchEvent(Component.java:4295)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)

at java.awt.Container.dispatchEventImpl(Container.java:2149)

at java.awt.Window.dispatchEventImpl(Window.java:2478)

at java.awt.Component.dispatchEvent(Component.java:4295)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

11278 - Port opened 

mdeweerd's picture

François. What did you try?

François.

What did you try?  Did you already try the 'interceptty solution' and the '32 bit java installation'?

Thanks for your answer. I

Thanks for your answer. I didn't try the 32bits java installation as I'm using my data logger on a few computers, so I want a simple solution. That seems a bit complicated to me to install two versions of java.

I didn't try the interceptty solution. Is it easy to compile? I will try this solution i guess, if there is nothing easier for the moment.

mdeweerd's picture

Hi interceptty is easy to

Hi

interceptty is easy to compile.

 

  1. fetch the tar from http://www.suspectclass.com/sgifford/interceptty/.
  2. Untar the file doing 'tar zxvf THETARFILE'
  3. Go to the subdirectory
  4. Do ./configure
  5. Do ./make
  6. You'll have 'interceptty' in the local directory.  You can optionally install doing 'make install' (as root, so you can do 'sudo make install').

I have a 64 bit version of Ubuntu running in Virtualbox, compiled it and attached it to this post.

AttachmentSize
File interceptty64bit.zip18.12 KB
File interceptty-0.6.tar_.gz93.66 KB

HI! Is the issue with 64-bit

HI!

Is the issue with 64-bit platform solved now?

mdeweerd's picture

I am working in Ubuntu 12.04

I am working in Ubuntu 12.04 in Virtualbox in 64bit mode where I can communicate with an iBlue 747 A+.

Try http://soft.bt747.org/BT747_J2SE_Latest_RXTX2.2_Install.jnlp

Hi. Has there been any

Hi.

Has there been any progress on this issue? 

The last post here is from 2012, and it is still not possible to use BT747 on 64-bit (at least on Ubuntu, I haven't tested any other distributions)

mdeweerd's picture

Hi It does run on 64bit, but

Hi

It does run on 64bit, but you may have a launching issue.

Did you try http://soft.bt747.org to see if you get it working from there?

Mario

Post new comment

(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.
The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <br>
  • Lines and paragraphs break automatically.
  • Use the special tag [adsense:format:slot] or [adsense:format:[group]:[channel][:slot]] or [adsense:block:location] to display Google AdSense ads.
  • Images can be added to this post.

More information about formatting options