RFCOMM_SPPD(1)

NAME
rfcomm_sppd - RFCOMM Serial Port Profile daemon

SYNOPSIS
rfcomm_sppd [-d device] [-m mode] [-p psm] [-s service] [-t tty] {-a address | [-c channel]}

DESCRIPTION
The rfcomm_sppd utility is a Serial Port Profile daemon, providing serial access over an RFCOMM connection to a remote device. rfcomm_sppd can work in client or server mode.

In client mode, rfcomm_sppd initiates an RFCOMM connection to the service at the remote address.

In server mode, rfcomm_sppd registers the service with the local SDP server and listens on the specified RFCOMM channel for an incoming connection, or the first unused channel if none was given.

The options are as follows:

-a address
    Client mode. Specify the address of the remote RFCOMM device. The address can be specified as BD_ADDR or name. If given as a name, then the rfcomm_sppd utility will attempt to resolve the name via bt_gethostbyname(3).

-c channel
    In server mode, specify the RFCOMM channel number to listen on. rfcomm_sppd will register the service with the local sdpd(8) daemon. Note that registering services with sdpd(8) is a privileged operation.

-d device
    Use the local device with the specified address. The device can be specified by BD_ADDR or device name. See btconfig(8) for a list of available devices. If no device is specified, the connection will be set up on a system determined device.

-m mode
    Set connection link mode. Supported modes are:

    auth
        require devices be paired.
    encrypt
        auth, plus enable encryption.
    secure
        encryption, plus change of link key.

-p psm
    Specify the "Protocol/Service Multiplexer" value to be used for the RFCOMM protocol. In client mode where Service Discovery is being used, this value will be ignored.

-s service
    Name of service class to connect to or register. If no service is given, the default "Serial Port" service class will be used. Known service classes are:

    DUN Dialup Networking
    LAN LAN access using PPP
    SP  Serial Port

    In client mode, the service class may be given as a channel number, for instances where the remote device does not provide Service Discovery.

-t tty
    Slave pseudo tty name. If this option is given, rfcomm_sppd will detach from the controlling process after the Bluetooth connection is made, and operate over the named pty(4) pair. Otherwise, stdin/stdout will be used.

FILES
/dev/pty[p-sP-S][0-9a-v]
    master pseudo terminals
/dev/tty[p-sP-S][0-9a-v]
    slave pseudo terminals

EXIT STATUS

EXAMPLES
    rfcomm_sppd -a 00:01:02:03:04:05 -s 1 -t /dev/ttyp1

Will open an RFCOMM connection to the server at 00:01:02:03:04:05 on channel 1. Once the connection has been established, rfcomm_sppd will detach and /dev/ttyp1 can be used to communicate with the remote serial port on the server, e.g. with the use of

    cu -l /dev/ttyp1

In order to use rfcomm_sppd to automatically create a secured link for pppd(8), use
    pty "rfcomm_sppd -a 00:01:02:03:04:05 -s DUN -m secure"

in your pppd(8) configuration file.

SEE ALSO
bluetooth(3), bluetooth(4), pty(4), btconfig(8), pppd(8), sdpd(8)

HISTORY
The rfcomm_sppd program first appeared in FreeBSD and was ported to NetBSD 4.0 by Iain Hibbert under the sponsorship of Itronix, Inc.

AUTHORS
Maksim Yevmenkin <m_evmenkin@yahoo.com>, Iain Hibbert

BUGS
Please report if found.