RFCOMM_SPPD(1)

RFCOMM_SPPD(1) | General Commands Manual | 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

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

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

November 2, 2010 | NetBSD 5.99