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:

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.

1 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 *