Fremantle Unsupported Bluetooth profiles

There are several Bluetooth profiles officially missing/unsupported in Fremantle that are however supported by the upstream BlueZ project or can be made to work with some simple hacks.

Contents

DUN server

There's a tool called pnatd (short for PhoNet AT Daemon) which can act as a proxy between the cellular modem PhoNet interface and a TTY device.

Example script

sdptool add --channel 1 DUN
while true; do
        rfcomm -S -- listen -1 1 /usr/bin/pnatd '{}'
        sleep 1
done

There is one known issue: Most likely due to a bug in the way that the Bluetooth and TTY subsystems in the kernel interact in this use case data can be lost if the DUN client starts imediately sending AT commands when the connection is created. This can e.g. be worked around by adding a 1 second delay to the chat script on the client side.

HID host (i.e. support for Bluetooth keyboards)

Fremantle comes with the bluetoothd input plugin installed but disabled through /etc/bluetooth/main.conf

PAN

Fremantle comes with the bluetoothd network plugin installed but disabled through /etc/bluetooth/main.conf