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

Hi The Holux M241 only works

Hi

The Holux M241 only works at 38400 for sure. The speed itself should not make a difference for the possibility to connect, but it should make a difference for the actual communication itself.

Please try 38400.

I also tried with 38400. and

I also tried with 38400.

and do again right now. When i click on connect nothing happens and in the console i get

Info: trying to open '/dev/ttyUSB0'
Error: Port /dev/ttyUSB0is currently in use

what could be using that port?

mdeweerd's picture

And you do not get this

And you do not get this message with 115200 ?

There is some SW that runs in the background as a server (gpsd) but I guess that you do not have that installed. It could also be another instance of BT747 that has this port open (even in 115200).

I suggest that you do 'File -> Find serial ports' and then have a look at the ports that were added in the list of ports next to the 'Connect' button to see if there is any other potentially valid port that you can try.

Otherwise, there are surely tools to detect what is using ttyUSB0. Unfortunately, I do not know one.

with 115200 it connects, but

with 115200 it connects, but does nothing when click on download

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

gpsd was installed. after remove with 38400

WARNING: RXTX Version mismatch
Jar version = RXTX-2.2pre1
native lib Version = RXTX-2.2pre2
RXTX Warning: Removing stale lock file. /var/lock/LCK..ttyUSB0
gnu.io.UnsupportedCommOperationException: Invalid Parameter
at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:211)
at gps.connection.GPSRxTxPort.openPort(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$6.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:3276)
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)
Error: Port /dev/ttyUSB0is currently in use
Error: Port /dev/ttyUSB0is currently in use

Error appears with second and third click on connect.

'find serial ports' does not show any other port as 'ls -l /dev/tty*' does.

mdeweerd's picture

Hi We are getting somewhat

Hi

We are getting somewhat further then ;-).

So it seems that the first connect does make a connection and that it somehow keeps a hand on the port which would mean that BT747 does not get the feedback that the port is open.

So I would focus on first connect and try go get some more info of what is happening on the port. Only 38400 can work as said earlier. Can you try to get more info regarding that ?

Check out the (new?) drivers too: - I think it uses a CP210X device.
https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx

Does/Did gpsd get a valid position?

about new drivers: i already

about new drivers:

i already tried that and failed. building rpm on a debian based system seems not to be easy. but i found out that it's already in the kernel (that's why i stopped trying in that direction) compiling from source gave a lot of errors (which i couldn't solve with google)

modprobe -l cp2*
kernel/drivers/usb/serial/cp2101.ko

no gpsd did not work, therefore i had a look around and found bt747

about the port

dmesg gives me
[ 2276.672516] usb 8-2: new full speed USB device using uhci_hcd and address 2
[ 2276.840600] usb 8-2: configuration #1 chosen from 1 choice
[ 2277.042244] USB Serial support registered for cp2101
[ 2277.042270] cp2101 8-2:1.0: cp2101 converter detected
[ 2277.152018] usb 8-2: reset full speed USB device using uhci_hcd and address 2
[ 2277.301600] usb 8-2: cp2101 converter now attached to ttyUSB0
[ 2277.301612] usbcore: registered new interface driver cp2101
[ 2277.301614] cp2101: v0.07:Silicon Labs CP2101/CP2102 RS232 serial adaptor driver

which does not look to bad i think.
but if v0.07 means the driver version, this could be the reason

after some google i found out
in the kernel there is a opensource driver:

    http://www.etheus.net/CP210x_Linux_Driver

      and not the one by SILICON Labs. but there is also a lot of trouble getting SILICON Labs driver to work

        http://www.howtoforge.com/forums/showthread.php?p=197478
            http://www.linuxquestions.org/questions/linux-hardware-18/cp210x-usb-to-uart-bridge-vcp-linux-driverssilicon-labs-713103/
mdeweerd's picture

I agree that the dmesg result

I agree that the dmesg result is encouraging and confirms that the device is connected to ttyUSB0.

It would be interesting if other users using Linux could check the dmesg information. I haven't actually a machine set up for that, but I'll check in puppylinux.

What do you get in the 'info' tab (transcript) upon first connection @38400. I suppose something else than 'already in use'.

You can also launch a serial terminal program on Kubuntu and connect to the serial port @38400. That way you would use another native solution for the connection and rule out problems that might be due to the rxtx driver I use in BT747 (http://rxtx.qbang.org/wiki/index.php/Main_Page ).
If you see NMEA data appear, this means that the connection in reception is OK, which I can not say so far when looking at the information you provide regarding your BT747 trials.

in info tab: Below are

in info tab:


Below are informational messages that can help during debug.
------------------------------------------------
Linux
amd64
2.6.28-11-generic
1.6.0_0
Fail com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Fail com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel
Success com.sun.java.swing.plaf.gtk.GTKLookAndFeel
javax.swing.plaf.metal.MetalLookAndFeel
com.sun.java.swing.plaf.motif.MotifLookAndFeel
com.sun.java.swing.plaf.gtk.GTKLookAndFeel

gnu.io.UnsupportedCommOperationException: Invalid Parameter
at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:211)
at gps.connection.GPSRxTxPort.openPort(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$6.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:3276)
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)

same as console output.

i'm not sure what you mean by " launch a serial terminal program" but according to google it means smth like

screen /dev/ttyUSB0 38400

which shows me whats in the pic http://n.ethz.ch/~hroman/tmp/screen.png

and that looks like NMEA data according to wikipedia ;) (at least i'm learning a lot of stuff right now...)

by the way thx a lot for you help and patience

mdeweerd's picture

Good, now I know that

Good, now I know that 'screen' can be used to connect to a serial port ;-). This is actually interesting.

You can see here that serial reception on the port works which indicates that the system driver is at least working for that part and that we can put aside system driver problems for a while at least (it does rule them out completely, but makes them less likely.

Regarding the console output on first connection, it looks like some parameter given by RXTX to the system does not please the system driver. Either the parameter is not supported, or the value for the parameter is not supported. It would be strange that "only you" has this problem, but it does give something to investigate. It could eventually mean that the system driver does not support a parameter that it should support and that the way around is to ignore this error message somehow if that parameter is indeed not important.

I'll have a look at line 211 of RXTXPort.java which is part of RXTX to see what parameter this might be.

mdeweerd's picture

I built 2.X.1515 which: -

I built 2.X.1515 which:
- Does not consider the port closed if the parameter setting fails [and hopefully it partially succeeds],
- Tries a stop bit setting of '2' if a stop bit setting of '1' fails.

So you can try that.

It would be nice to find out what the actual settings are when you connect using 'screen' (baudrate, stop bits, data bits, parity). As far as I can see, 'screen' does not allow you to control that. Maybe you can compile the program here and try to find out which parameters do (not) work.

Possibly you have setserial on your system which would let you report on the serial parameters and set them.

I also found a repository of serial tools, but I can not indicate which tool would be most usefull (other than the setserial I mention just before).

trying 2.x.1515 gave me the

trying 2.x.1515 gave me the following output: https://n.ethz.ch/~hroman/tmp/v2.x.1515

i tried com but i didnt find any configuration that worked...
sudo ./a.out /dev/ttyUSB0 38400 2 1 1 4
tried 38400 2-8 0-1 0-2 4
may you have a lucky guess what could work?

setserial wasn't a success either
root@kubuntu:/home/hroman/tmp/holux/BT747_2.X.1515_full# setserial /dev/ttyUSB0
Cannot get serial info: Invalid argument
root@kubuntu:/home/hroman/tmp/holux/BT747_2.X.1515_full# setserial /dev/ttyS0
/dev/ttyS0, UART: unknown, Port: 0x03f8, IRQ: 4
root@kubuntu:/home/hroman/tmp/holux/BT747_2.X.1515_full# setserial /dev/ttyS1
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
root@kubuntu:/home/hroman/tmp/holux/BT747_2.X.1515_full# setserial /dev/ttyS2
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
root@kubuntu:/home/hroman/tmp/holux/BT747_2.X.1515_full# setserial /dev/ttyS3
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

i'm not that familiar with setserial and com so it's maybe my wrong usage...

mdeweerd's picture

I expected the working

I expected the working configuration in com to be:

a.out /dev/ttyUSB0 38400 8 0 0 5

where the first zero value might be '1' too.

'setserial' can report the device information and as I understand it, this should be done using:

setserial -a /dev/ttyUSB0

but it looks like the driver does not provide status information.

So based on this information, it looks to me that the driver does not allow the configuration of certain parameters. Unfortunately, the RXTX API does not allow me to change only the baud rate. I'll have a look at the driver code from Silicon Labs to look for indicators. It would be best to have some people for whom this work check out the result of the above commands and especially their version of the system driver. You could look through the forums to find a user who got this working and post a message so that he hopefully receives a mail to check out this thread.

:) it works in com with

:) it works in com with both
a.out /dev/ttyUSB0 38400 8 0 0 5
a.out /dev/ttyUSB0 38400 8 1 0 5
see https://n.ethz.ch/~hroman/tmp/com1.png https://n.ethz.ch/~hroman/tmp/com2.png

setserial doesn't
setserial -a /dev/ttyUSB0
Cannot get serial info: Invalid argument

actually i'd be satisfied with a distribution that works without config, preferably with livecd or usb stick

mdeweerd's picture

I have a 'puppy linux' setup

I have a 'puppy linux' setup on which it works, but I need to trace back my track on how I have set that up.

It is quite puzzling that the 'com' test works, but not the setup using RXTX.
So, this could still be the RXTX driver that is giving trouble (in combination with a limitation of the OS Driver).

Something that we did not test yet is to see if this works better with a 32 bit version of java, and hence 32 bit version of RXTX.
Or, we could try to use the previous version of rxtx on the 64bit machine. I need to propose a script update for that.
I'll keep you posted when I have that.

hi during search in this

hi

during search in this forum i found a link to mtkbabel. which could get get the data from my gps logger. because i'm travelling tomorrow to belgium it's nice to know that i'm able to log my route.

as far as i'm concerned that's an acceptable solution. therefore i will not spend a lot of effort on a different solution. nevertheless i'll help if you need me finding the reason for that problem.

thanks again for that great support, i'll donate smth to balance time and effort.

mdeweerd's picture

OK. I'll probably check some

OK.
I'll probably check some things out and make old/new driver selection "easier". Some users need to use the new RXTX, but you might need to use the old one.
I hope I'll think about posting something here when this becomes possible.

Have a nice travel to Belgium, my native country.

I have been trying with

I have been trying with versions 2.1.7.2 and 2.2pre2 of RxTx and 64 bits and 32 bits of Java. The only working combination I have found is RxTx 2.1.7.2 and 32 bits Java.

Not sure if this is what you

Not sure if this is what you both talk about, but for me BT747 crashes when trying to connect to the M241 on 64bit Kubuntu.

Has any progress been made to improve 64bit support?

mdeweerd's picture

In case it is a 64 bit

In case it is a 64 bit problem, the error reported is different.

64bit is supported, but I need feedback to improve things if there are still issues.

In principle this link should work: http://soft.bt747.org/BT747_J2SE_Latest_rxtx2_2p2.jnlp and using the zip distribution should work too.

 

Indeed, that version doesn't

Indeed, that version doesn't crash anymore. Not sure if this is an issue or just some informational output, but I paste it here for completeness:

123632 - 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$6.actionPerformed(Unknown Source)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:6263)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6028)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2475)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
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$6.actionPerformed(Unknown Source)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:6263)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6028)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2475)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
123711 - Port opened

Oh, and even though it seems

Oh, and even though it seems to connect fine, the device data section in the first tab is still empty, and the programs keeps waiting if I'm starting a data download.

mdeweerd's picture

Ok.  The connection does not

Ok.  The connection does not work and you seem to have the same problem as the initial poster.

For some reason BT747 can not change the serial port speed through the RXTX library.  This is either RXTX related and/or driver related.

I propose that you explicitally test the 3(/4) available RXTX solutions in 64 bit.  You can also try to use java in 32 bit (a bit more complex to set up).

The best way is to use the 'zip' distribution.

The 'run_j2se.sh' file is the startup script.  In that script, the RXTX native library is automatically chose.  You can force it.

You'll see a section introduced with:

 ########################
 # Finding RXTX library

and ending with:

 # Ended determining RXTX library
 ################################

You can postfix that section with:

 RXTXLIBPATH="${RXTXPATH}/Linux/i686-unknown-linux-gnu"

Where you change the path to other ones (one at a time):

RXTXLIBPATH="${RXTXPATH}/../rxtx-2.1-7-bins-r2/Linux/x86_64-unknown-linux-gnu"
RXTXLIBPATH="${RXTXPATH}/../rxtx-2.1-7-bins-r2/Linux/ia64-unknown-linux-gnu"
RXTXLIBPATH="${RXTXPATH}/../rxtx-2.2pre2-bins/Linux/x86_64-unknown-linux-gnu"

OR postfix with these lines (supposing you installed a RXTX version natively:

RXTXPATH=/usr/lib
RXTXLIBPATH=/usr/lib
RXTXJAR=/usr/share/java/RXTXcomm.jar

 

And then you can try to install java 32 bit too.

None of those RXTX versions

None of those RXTX versions work unfortunately, and I'd rather not mess with a 32bit java on this production machine.

mdeweerd's picture

Hi I have several new

Hi

I have several new suggestions.

  1. I discovered there is an old patch (2006) that seems to solves this issue.  It would be unfortunate that it is not included in the latest RXTX 2.2pre version.
    The patch is for or in RXTX2.1.8, while the official stable version is 2.1.7 and therefore seems to be never release.  The post that led me to this is http://mailman.qbang.org/pipermail/rxtx/2006-December/4724489.html .
    http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-8-testing/ lists the patches and has a '.so' that I suspect to be 32 bit.  [Can you apply the patch and build the 64 bit version?] I found a build and attached it to the post.  Can you try it - I think that you can guess how to try it.
  2. Maybe setting the serial port to another baud rate using another tool may help (likely not, but why not give it a try).
    stty -F /dev/yourdevice 38400 cs8 raw
AttachmentSize
File rxtx-2.1.8-arduino.zip425.55 KB

I'm a bit emberassed because

I'm a bit emberassed because I found out that I overwrote RXTXLIBPATH at the wrong place. So the results are a bit different. The libraries I can connect with are:

  • rxtx-2.1-7-bins-r2/Linux/x86_64-unknown-linux-gnu
  • rxtx-2.1.8-arduino/Linux/x86_64-unknown-linux-gnu

But neither allows me to retrieve device data or track logs. I no longer get any messages in the log, just a successfull port opening. Trying to download any data just hangs.

mdeweerd's picture

When the application just

When the application just 'hangs', I suppose that this means that BT747 does not give any feedback.

I should add some timeout and report back to the user when downloading fails - or report that the device is not responding at all.

If you can connect, I still believe that you should be able to get it working.  The most common reason for not retrieving anything while being able to connect is to have a bad baud rate.  Do check your baud rate.  In order to make sure that something is going on during connection: force an error.  For instance by setting a completely invalid baud rate.  With the error you should then also get an indication of the versions at play.

Chaning the baud rate to

Chaning the baud rate to arbitrary values doesn't change anything in the behavior. But un-plugging the device while being connected, I get a "java.io.IOException: Input/output error in nativeavailable" and the app changes to the disconnected change.

To decribe "just hangs" a bit more detailed: the status line changes to show "connecting" or "downloading" or whatever the original english translation says. The empty progress meter shows up too. But nothing else happens.

Now, while playing around some more, I get segfaults regularly. How can I attach a crash log here?

mdeweerd's picture

Hi Jan The attachement option

Hi Jan

The attachement option is not available for anonymous posts for security reasons.

You can send me the doc by mail.  The about function of the app indicates the mail but the email account bt747 in this site's domain will do the job.

It is very strange that any baud rate is accepted - I do hope that 'inexisting ports' are not accepted.

Anyway: it does seem that you do have a connection because disconnecting the device results in an error.  Therefore the question is: dos the RXTX driver itself see something and would BT747 need to use another method to retrieve it...

I sent you the log. And yes,

I sent you the log.

And yes, if using a wrong port, the app notices and gives me a list of know ports in the log.

mdeweerd's picture

Hi Jan I sent you some emails

Hi Jan

I sent you some emails too with the files attached to this post.

The 'run_debug.sh' is a sample script to start BT747 using the enclosed 'RXTXcomm-debug.jar' that you have to put in the same location as 'RXTXcomm.jar'.   There is no big difference between the 'RXTXcomm.jar' in the different versions - the main changes seem to be in the native code.

This will create a file called 'asdf' (the RXTX developer(s) chose that name) where a trace is stored regarding RXTX.  Hopefully that will learn us something.

AttachmentSize
File RXTXcomm-debug.jar68.52 KB
File run_debug.sh2.21 KB

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

By submitting this form, you accept the Mollom privacy policy.