Got a new “toy” from the school to work on some projects. It’s a bluetooth GPS. Really small.
It was a tricky thing getting to connect to it in Linux. A classmate did it easily in Windows, and some teachers already did it in Linux but they forgot how.
I first tried with a cable connection. Bad decision. I tried with 2 different usb cables, 2 different GPS devices and with all my usb ports. I got the same thing when i looked into dmesg:
[ 209.848151] hub 4-0:1.0: Cannot enable port 4. Maybe the USB cable is bad?
[ 212.956602] hub 4-0:1.0: Cannot enable port 4. Maybe the USB cable is bad?
[ 216.060086] hub 4-0:1.0: Cannot enable port 4. Maybe the USB cable is bad?
[ 219.152078] hub 4-0:1.0: Cannot enable port 4. Maybe the USB cable is bad?
[ 219.152097] hub 4-0:1.0: unable to enumerate USB device on port 4
Google didn’t help me so my conclusion was that i can only connect by bluetooth. Ok. First attempt, with the network-manager in Ubuntu, by adding a new device. It all went good, my pc could see the GPS connected to it, but didn’t pair and i couldn’t get any info from it.
Then i tried it the command-line-way. I used this to scan for bluetooth devices:
And then this to get the channel number:
sdptool browse MACADDRESS
Then i used this to connect to it and register it as /dev/rfcomm0 :
rfcomm /dev/rfcomm0 connect MACADDRESS CHANNELNUMBER
I tried reading stuff from /dev/rfcomm0 with cat, no luck.
The winning solution was to install a different bluetooth manager.
sudo apt-get install blueman
To start it just type blueman-manager into your terminal and a window will pop out:
From here it’s all easy. Just search for it and pair with it. After that you read it by typing this into the terminal:
sudo cat /dev/rfcomm0
The output should be something like this: