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.
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!