Menu

#32 bt747 v 1.61.3(09.11.2008) fails to connect to bt747

closed
nobody
None
5
2009-01-13
2009-01-12
No

Trying to connect to an BT747 (new version), and it seems unable to connect.

Java output...
Info: trying to open /dev/ttyUSB0

gnu.io.NoSuchPortException
at gnu.io.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:218)
at gps.connection.GPSRxTxPort.openPort(Unknown Source)
at gps.connection.GPSrxtx.setUSBAndOpen(Unknown Source)
at bt747.model.Controller.setUsb(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: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)

Messages log file
Jan 12 20:32:04 localhost kernel: usb 3-2: new full speed USB device using uhci_hcd and address 3
Jan 12 20:32:04 localhost kernel: usb 3-2: configuration #1 chosen from 1 choice
Jan 12 20:32:04 localhost kernel: cp2101 3-2:1.0: cp2101 converter detected
Jan 12 20:32:04 localhost kernel: usb 3-2: reset full speed USB device using uhci_hcd and address 3
Jan 12 20:32:04 localhost kernel: usb 3-2: cp2101 converter now attached to ttyUSB0
Jan 12 20:32:04 localhost kernel: usb 3-2: New USB device found, idVendor=10c4, idProduct=ea60
Jan 12 20:32:04 localhost kernel: usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 12 20:32:04 localhost kernel: usb 3-2: Product: CP2102 USB to UART Bridge Controller
Jan 12 20:32:04 localhost kernel: usb 3-2: Manufacturer: Silicon Labs
Jan 12 20:32:04 localhost kernel: usb 3-2: SerialNumber: 0001

lsusb -v
Bus 003 Device 003: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x Composite Device
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x10c4 Cygnal Integrated Products, Inc.
idProduct 0xea60 CP210x Composite Device
bcdDevice 1.00
iManufacturer 1 Silicon Labs
iProduct 2 CP2102 USB to UART Bridge Controller
iSerial 3 0001
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 2 CP2102 USB to UART Bridge Controller
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
f

Discussion

  • Mario De Weerd

    Mario De Weerd - 2009-01-12

    Hi
    Thanks for the detailed report. According to the system log, the device does seem to be on /dev/ttyUSB0 but the serial driver does not find it there.

    I notice that you are using the 'USB (for Linux, Mac)' which is a method where BT747 has to look for the best corresponding port. I made some changes in the latest development version where I am more selective on the ports (V1.67.8) so I suggest that you try this setting there.

    Further, in the File menu you can find 'Find serial ports'. This will populate the pull down menu with ports that are identified as serial ports. Look what you can find in there and try some plausible port names. You are not required to do this find: you can type the path directly in the port pulldown menu box.

    Previous version were working/opening the same port?

     
  • Douglas Furlong

    Douglas Furlong - 2009-01-13

    Thanks for the quick response :)

    I've checked the output of dmesg, and it specifies /dev/ttyUSB0 as being the device the cp2101 converter is attached to.

    When trying to use the dev version I get the following.

    Info: trying to open /dev/ttyUSB0

    gnu.io.NoSuchPortException
    at gnu.io.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:218)
    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$200(Unknown Source)
    at bt747.j2se_view.BT747Main$5.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:6041)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
    at java.awt.Component.processEvent(Component.java:5806)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4413)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
    at java.awt.Container.dispatchEventImpl(Container.java:2102)
    at java.awt.Window.dispatchEventImpl(Window.java:2440)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

    The serial (com?) ports are fully populated and provide no difference.

    Regarding this working before, it's a new device so I've not tried it with this application previously.

    I can confirm that mtkbabel is able to connect and download the traces, if that helps?

     
  • Mario De Weerd

    Mario De Weerd - 2009-01-13

    Hi

    If MTKbabel can connect to this port, then it is a good port.

    The 'COM' ports are listed by default, the search should add ports to the end of the list.
    Is '/dev/ttyUSB0' added? Is there any port added? Do you get a message when looking for the ports (File menu)?

    When RXTX reports this message, it indicates that it could not find the port in the list it constructed. This is a superset of the ports I add (I select serial ports only) to the GUI.

    You did not indicate the platform you are on but I presume this is Linux. Is it 64bit mode or 32 bit mode? 64bit may still give some trouble - I have one user for whom the driver crashes in 64 bit mode and works in 32 bit.

     
  • Douglas Furlong

    Douglas Furlong - 2009-01-13

    Heyah

    Looks like we are in the same timezone :) Always handy.

    I'm running Fedora 10 (Linux gbgh-dsk-00089.sig.ads 2.6.27.9-159.fc10.i686.PAE #1 SMP Tue Dec 16 14:59:37 EST 2008 i686 i686 i386 GNU/Linux).

    I should have probably provided these lines as well.

    Linux
    i386
    2.6.27.9-159.fc10.i686.PAE
    1.6.0_07
    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

    It is a 32bit platform.

    When starting the app, and then going to the File drop down menu and searching for ports, I see no messages appear under info, nor do I see a pop up.
    The drop down list is not populated with any additional information either, /dev/ttyUSB0 has been specified by me, as you said by typing it in.

    One thing of note (possibly), if I don't specify the device manually, some times it comes back with /dev/ttyUSB-1, not sure where it picks that up.

    Is there any more debug information I can provide?

     
  • Mario De Weerd

    Mario De Weerd - 2009-01-13

    Something is going wrong in RXTX.
    I suggest you try the 'webinstall' if you did not do so already (http://bt747.free.fr/content/?q=webinstall). It should not make a difference but you can try the latest version and the stable version.

    Further you could try a development version of RXTX (http://rxtx.qbang.org/wiki/index.php/Download). This involves downloading and extracting the package and changing run_j2se.sh to point to it.

    I would try to look where java goes looking for the file to make sure it is taking those from the package (using "strace -f" and possibly'-e' option (I think '-etrace=file').

     
  • Douglas Furlong

    Douglas Furlong - 2009-01-13

    Okay, this initial problem was a configuration option on my side, however, running strace/debug of rxtx allowed me to get hold of the errors.

    The problem was that my user had to be in the "lock" group on fedora for the rxtx system to work. gtkbabel worked with the user in the uucp group.

    I'm still having some issues, regarding downloading of traces, but the device at least connects.

    I'll have a poke about, and raise a new ticket if need be.

    Sorry for the run around, and thanks for the assistance :)

     
  • Douglas Furlong

    Douglas Furlong - 2009-01-13
    • status: open --> closed
     
  • Mario De Weerd

    Mario De Weerd - 2009-01-13

    No problem.

    It would be interesting that you post some more details regarding the strace and the group so that your experience counts for other users.

     
  • Douglas Furlong

    Douglas Furlong - 2009-01-13

    Regarding the strace output, I'm not sure what would be of use, beyond the error "Can't create Lock, read INSTALL" some thing or other, for which of course there was not INSTALL file :)

    However, a quick google search revealed that being a member of the following groups solves the problem.

    uucp and lock (lock may be sufficient, but as I need uucp for mtkbabel, I've not tested with out it).

    Now with me in the above groups, both the devel and stable version work first time.

    On opening the application the correct /dev/ttyUSBx device is listed (as opposed to the generic USB for linux line.

    Connection wise, every thing works a treat.

     

Log in to post a comment.