I\'m simply trying to run the RFCOMM server example at https://code.google.com/p/pybluez/source/browse/trunk/examples/simple/rfcomm-server.py
$ python2 rfcomm-se
I had the same problem on Raspbian, and solved by:
Running bluetooth in compatibility mode,
by modifying /etc/systemd/system/dbus-org.bluez.service,
changing
ExecStart=/usr/lib/bluetooth/bluetoothd
into
ExecStart=/usr/lib/bluetooth/bluetoothd -C
Then adding the Serial Port Profile, executing:
sudo sdptool add SP
References:
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=133263
https://github.com/karulis/pybluez/issues/161
https://raspberrypi.stackexchange.com/questions/41776/failed-to-connect-to-sdp-server-on-ffffff000000-no-such-file-or-directory
I ran the same problem even after @GozzoMan's solution because /var/run/sdp file was not being generated at all after calling sudo sdptool add SP. The problem was the location of daemon service file was different on my system (Raspbian Buster on Raspberry Pi).
If you experience the same;
sudo service bluetooth status
# alternative:
# sudo systemctl status bluetooth
In my case the service file was run at /lib/systemd/system/bluetooth.service, NOT FROM /etc/systemd/system/dbus-org.bluez.service.
Then modify the correct file (which was
/lib/systemd/system/bluetooth.service in my case) to add -C to
the ExecStart=/usr/lib/bluetooth/bluetoothd line as instructed in
the previous answer.
Do not forget to reload daemons and restart bluetooth service before running sdptool:
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
sudo sdptool add SP
Now /var/run/sdp should be generated.
Note: If you experience permission errors, check the following answer: https://stackoverflow.com/a/42306883/4406572