Running Xastir with bluetooth TNC on Ubuntu 16.04 without root

Since a couple of days I was trying to get my mobilinkd bluetooth tnc running with Xastir on Ubuntu 16.04. As root it was working, but as a normal user I was not able to connect with Xastir. Today I finally found the solution. Thanks to all my twitter followers who helped me finding the reason and solve the issue.

When I tried to run Xastir as normal user and connect it to my bluetooth tnc which was linked to /dev/rfcomm0 the interface did not start and in the terminal there was the message “Interface Error! Error opening interface 0 Hard Fail”.

Some investigation brought up a possible group / permission problem, but my user was in the dialout group and /dev/rfcomm0 was also owned by the group dialout and the permissions where fine.

When I tried to run cat /dev/rfcomm0 as normal user I got the message “Device busy”. So it’s not a permission problem, something was blocking the device.

sudo fuser /dev/rfcomm0 showed a PID belonging to the bluemon-applet which I used to connect to the device. So it should be fine, but it isn’t.

I had a lot of long discussions with some of my twitter followers with a lot of good ideas but without success, but finally I found the answer:

The problem is cause by the ModemManager that is trying to use the device as a modem and then blocking it. This was mentioned in a bug report of the blueman project:
https://github.com/blueman-project/blueman/pull/526

So this might be fixed in one of the next releases, but I did not want to wait so long, so I had the idea to disable the ModemManager (STOP: Only do it if you really know you don’t need it!)


sudo systemctl disable ModemManager

After reboot and reconnecting to the mobilinkd TNC I was finally able to use Xastir as a normal user.

Maybe this solution is helpful for somebody else.

One thought on “Running Xastir with bluetooth TNC on Ubuntu 16.04 without root

  1. It may be years later but this solution was indeed helpful! It was just what I needed to get Xastir talking to /dev/rfcomm0, thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *