Connection under Ubuntu

George Riches's picture

I've used BT747 for several years under Windows XP and Vista. However problems with those versions of Windows are getting ever more serious, so I'm migrating to Linux (Ubuntu distribution).

Unfortunately connecting my GPS device (iBlue 747) under Linux didn't go as smoothly as I had hoped. But I've now overcome the problems, so I thought I'd describe the symptoms and the solution here in case anyone else has similar problems.

Running BT747 under linux is easy enough. I can either type sh in a terminal window or launch the program from the File Manager (e.g.Nautilus in Ubuntu), by appropriate setting of the File Manager's preferences for executable files.

But after physically connecting my GPS device via a usb port and switching it on, clicking on BT747's Connect box had no effect. The option "USB (for linux, Mac)"

In terminal window I did the following:

  • ls /dev > file1
  • Plug in GPS device
  • ls /dev > file2
  • diff file1 file2

The output showed that the kernel has recognised the GPS device and given it an identifier (ttyACM0 in my case)

So selected File---> Populate Serial Port Menu, to get BT747 to discover the name given to the serial port used for my GPS device. It was /dev/ttyACM0.

Unfortunately the owner of /dev/ttyACM0 had no read access to the port, as the output from the ls -l command showed (my userid is george)

crw-rw---- 1 root dialout 166, 0 Jan 10 11:32 /dev/ttyACM0

A temporary solution is to give the "world" read access:

sudo chmod o+rw /dev/ttyACM0

This allowed the Connect button in BT747 to work and the program to function as it did under Windows.

But that only works until I turned off the device. On turning off, /dev/ttyACM0 disappeared. When I turned the GPS device back on the world had no read access to /dev/ttyACM0 again!

However the ls -l output showed that read access was given the group to which /dev/ttyACM0 belonged. Namely dialout.

So I added my userid (george) to the dialout group by opeing a terminal window and typing

sudo usermod -a -G dialout george

The Capital G is very important!  That added george to the "dialout" group - without changing its membership of any other group. I restarted linux, to force the kernel to update its data about the groups george belonged to.

Now BT747 connects without problem

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.