Updated: 2021/Apr/14

RFCOMM_SPPD(1)              General Commands Manual             RFCOMM_SPPD(1)

     rfcomm_sppd - RFCOMM Serial Port Profile daemon

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

     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

     -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

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

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

     The rfcomm_sppd utility exits 0 on success, and >0 if an error occurs.

           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.

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

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

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

     Please report if found.

NetBSD 9.99                    November 2, 2010                    NetBSD 9.99