xref: /freebsd/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1 (revision aa6985f4f3664d3c3ccc99e40f54de0b0c106ed5)
1f2bb1caeSJulian Elischer.\" Copyright (c) 2001-2003 Maksim Yevmenkin <m_evmenkin@yahoo.com>
2f2bb1caeSJulian Elischer.\" All rights reserved.
3f2bb1caeSJulian Elischer.\"
4f2bb1caeSJulian Elischer.\" Redistribution and use in source and binary forms, with or without
5f2bb1caeSJulian Elischer.\" modification, are permitted provided that the following conditions
6f2bb1caeSJulian Elischer.\" are met:
7f2bb1caeSJulian Elischer.\" 1. Redistributions of source code must retain the above copyright
8f2bb1caeSJulian Elischer.\"    notice, this list of conditions and the following disclaimer.
9f2bb1caeSJulian Elischer.\" 2. Redistributions in binary form must reproduce the above copyright
10f2bb1caeSJulian Elischer.\"    notice, this list of conditions and the following disclaimer in the
11f2bb1caeSJulian Elischer.\"    documentation and/or other materials provided with the distribution.
12f2bb1caeSJulian Elischer.\"
13f2bb1caeSJulian Elischer.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14f2bb1caeSJulian Elischer.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15f2bb1caeSJulian Elischer.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16f2bb1caeSJulian Elischer.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17f2bb1caeSJulian Elischer.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18f2bb1caeSJulian Elischer.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19f2bb1caeSJulian Elischer.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20f2bb1caeSJulian Elischer.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21f2bb1caeSJulian Elischer.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22f2bb1caeSJulian Elischer.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23f2bb1caeSJulian Elischer.\" SUCH DAMAGE.
24f2bb1caeSJulian Elischer.\"
250986ab12SMaksim Yevmenkin.\" $Id: rfcomm_sppd.1,v 1.3 2003/09/07 18:15:55 max Exp $
26f2bb1caeSJulian Elischer.\" $FreeBSD$
2772f00208SRuslan Ermilov.\"
28aa6985f4SMaksim Yevmenkin.Dd April 21, 2008
29f2bb1caeSJulian Elischer.Dt RFCOMM_SPPD 1
30f2bb1caeSJulian Elischer.Os
31f2bb1caeSJulian Elischer.Sh NAME
32f2bb1caeSJulian Elischer.Nm rfcomm_sppd
33f2bb1caeSJulian Elischer.Nd RFCOMM Serial Port Profile daemon
34f2bb1caeSJulian Elischer.Sh SYNOPSIS
35f2bb1caeSJulian Elischer.Nm
360a314f7cSMaksim Yevmenkin.Op Fl bhS
372aa65cf7SMaksim Yevmenkin.Fl a Ar address
3872f00208SRuslan Ermilov.Fl c Ar channel
39969fdab1SMaksim Yevmenkin.Op Fl t Ar tty
40f2bb1caeSJulian Elischer.Sh DESCRIPTION
41f2bb1caeSJulian ElischerThe
42f2bb1caeSJulian Elischer.Nm
4372f00208SRuslan Ermilovutility is a Serial Port Profile daemon.
440a314f7cSMaksim YevmenkinIt can operate in two modes: client and server.
450a314f7cSMaksim Yevmenkin.Pp
460a314f7cSMaksim YevmenkinIn client mode,
470a314f7cSMaksim Yevmenkin.Nm
480a314f7cSMaksim Yevmenkinopens RFCOMM connection to the specified
492aa65cf7SMaksim Yevmenkin.Ar address
502aa65cf7SMaksim Yevmenkinserver and
5172f00208SRuslan Ermilov.Ar channel .
5272f00208SRuslan ErmilovOnce connection is established, the
53f2bb1caeSJulian Elischer.Nm
54969fdab1SMaksim Yevmenkinutility provides access to the server's remote serial port via stdin/stdout
55969fdab1SMaksim Yevmenkinor via
56f2bb1caeSJulian Elischer.Xr pty 4
57969fdab1SMaksim Yevmenkininterface if
58969fdab1SMaksim Yevmenkin.Fl t
59969fdab1SMaksim Yevmenkinoption was specified.
60f2bb1caeSJulian Elischer.Pp
610a314f7cSMaksim YevmenkinIf the
620a314f7cSMaksim Yevmenkin.Fl S
630a314f7cSMaksim Yevmenkinoption is specified,
640a314f7cSMaksim Yevmenkin.Nm
650a314f7cSMaksim Yevmenkinwill operate in server mode and act as RFCOMM server,
660a314f7cSMaksim Yevmenkinlistening on
670a314f7cSMaksim Yevmenkin.Dv ANY
680a314f7cSMaksim Yevmenkinaddress and advertising a virtual serial port
690a314f7cSMaksim Yevmenkinvia the
700a314f7cSMaksim Yevmenkin.Xr sdpd 8
710a314f7cSMaksim Yevmenkindaemon.
72aa6985f4SMaksim YevmenkinIf
730a314f7cSMaksim Yevmenkin.Fl t
74aa6985f4SMaksim Yevmenkinoptions was specified,
750a314f7cSMaksim Yevmenkinthe server side of the virtual serial port is attached to the pseudo-terminal
760a314f7cSMaksim Yevmenkin.Ar tty .
77aa6985f4SMaksim YevmenkinOtherwise the virtual serial port is attached to the stdin/stdout.
780a314f7cSMaksim Yevmenkin.Nm
790a314f7cSMaksim Yevmenkinshould be run as root in order to communicate with
80aa6985f4SMaksim Yevmenkin.Xr sdpd 8
810a314f7cSMaksim Yevmenkinin this case.
820a314f7cSMaksim Yevmenkin.Pp
8372f00208SRuslan ErmilovThe
84f2bb1caeSJulian Elischer.Nm
8572f00208SRuslan Ermilovutility opens both master and slave pseudo terminals.
8672f00208SRuslan ErmilovThis is done to ensure that RFCOMM connection stays open until
87f2bb1caeSJulian Elischer.Nm
8872f00208SRuslan Ermilovis terminated.
8972f00208SRuslan ErmilovThe data received from the master pseudo terminal are sent over
9072f00208SRuslan Ermilovthe RFCOMM connection.
9172f00208SRuslan ErmilovThe data received from the RFCOMM connection are written
9272f00208SRuslan Ermilovinto master pseudo terminal.
9372f00208SRuslan ErmilovThe application in its turn opens the slave pseudo
94f2bb1caeSJulian Elischerterminal and operates on it just like it would operate over the standard serial
95f2bb1caeSJulian Elischerport.
96f2bb1caeSJulian Elischer.Pp
97f2bb1caeSJulian ElischerThe options are as follows:
98f2bb1caeSJulian Elischer.Bl -tag -width indent
992aa65cf7SMaksim Yevmenkin.It Fl a Ar address
1000a314f7cSMaksim YevmenkinIn client mode,
1010a314f7cSMaksim Yevmenkinthis required option specifies the address of the remote RFCOMM server.
1020a314f7cSMaksim YevmenkinIf this option is specified in server mode,
1030a314f7cSMaksim Yevmenkin.Nm
1040a314f7cSMaksim Yevmenkinwill only accept connections from the
1050a314f7cSMaksim Yevmenkin.Tn Bluetooth
1060a314f7cSMaksim Yevmenkindevice with address
1070a314f7cSMaksim Yevmenkin.Ar address .
1082aa65cf7SMaksim YevmenkinThe address can be specified as BD_ADDR or name.
1090a314f7cSMaksim YevmenkinIf name was specified then
1102aa65cf7SMaksim Yevmenkin.Nm
1112aa65cf7SMaksim Yevmenkinutility will attempt to resolve the name via
1122aa65cf7SMaksim Yevmenkin.Xr bt_gethostbyname 3 .
113f2bb1caeSJulian Elischer.It Fl b
11472f00208SRuslan ErmilovDetach from the controlling terminal, i.e., run in background.
115f2bb1caeSJulian Elischer.It Fl c Ar channel
1160a314f7cSMaksim YevmenkinIn both client and server mode,
117aa6985f4SMaksim Yevmenkinthis option specifies the RFCOMM channel to connect to or listen on.
1180a314f7cSMaksim YevmenkinIn server mode,
1190a314f7cSMaksim Yevmenkinthe channel should be a number between 1 and 30.
1200a314f7cSMaksim YevmenkinIf not specified,
1210a314f7cSMaksim Yevmenkin.Nm
122aa6985f4SMaksim Yevmenkinwill try to bind to
123aa6985f4SMaksim Yevmenkin.Dq wildcard
124aa6985f4SMaksim YevmenkinRFCOMM channel number.
125aa6985f4SMaksim YevmenkinThe actual RFCOMM channel will be obtained via
126aa6985f4SMaksim Yevmenkin.Xr getsockname 2
127aa6985f4SMaksim Yevmenkincall and will be used to register Serial Port service with
128aa6985f4SMaksim Yevmenkin.Xr sdpd 8 .
1290a314f7cSMaksim YevmenkinIn client mode,
1300a314f7cSMaksim Yevmenkinthe channel could either be a number between 1 and 30 or a service name.
131d47d4f47SMaksim YevmenkinSupported service names are:
132d47d4f47SMaksim Yevmenkin.Cm DUN
133d47d4f47SMaksim Yevmenkin(for DialUp Networking service),
134d47d4f47SMaksim Yevmenkin.Cm FAX
135a9412967SMaksim Yevmenkin(for Fax service),
136a9412967SMaksim Yevmenkin.Cm LAN
137a9412967SMaksim Yevmenkin(for LAN Access Using PPP service) and
138d47d4f47SMaksim Yevmenkin.Cm SP
139d47d4f47SMaksim Yevmenkin(for Serial Port service).
1400986ab12SMaksim YevmenkinIf channel was not specified then
1410986ab12SMaksim Yevmenkin.Nm
142d47d4f47SMaksim Yevmenkinutility will try to obtain RFCOMM channel for Serial Port service via Service
143d47d4f47SMaksim YevmenkinDiscovery Protocol from the server.
144f2bb1caeSJulian Elischer.It Fl h
145f2bb1caeSJulian ElischerDisplay usage message and exit.
1460a314f7cSMaksim Yevmenkin.It Fl S
1470a314f7cSMaksim YevmenkinServer mode; see
1480a314f7cSMaksim Yevmenkin.Sx DESCRIPTION .
14972f00208SRuslan Ermilov.It Fl t Ar tty
15072f00208SRuslan ErmilovSlave pseudo tty name.
151969fdab1SMaksim YevmenkinIf not set stdin/stdout will be used.
152969fdab1SMaksim YevmenkinThis option is required if
153969fdab1SMaksim Yevmenkin.Fl b
154969fdab1SMaksim Yevmenkinoption was specified.
155f2bb1caeSJulian Elischer.El
1566c7216dfSRuslan Ermilov.Sh FILES
1576c7216dfSRuslan Ermilov.Bl -tag -width ".Pa /dev/tty[p-sP-S][0-9a-v]" -compact
1586c7216dfSRuslan Ermilov.It Pa /dev/pty[p-sP-S][0-9a-v]
1596c7216dfSRuslan Ermilovmaster pseudo terminals
1606c7216dfSRuslan Ermilov.It Pa /dev/tty[p-sP-S][0-9a-v]
1616c7216dfSRuslan Ermilovslave pseudo terminals
1626c7216dfSRuslan Ermilov.El
1636c7216dfSRuslan Ermilov.Sh EXIT STATUS
1646c7216dfSRuslan Ermilov.Ex -std
165f2bb1caeSJulian Elischer.Sh EXAMPLES
16672f00208SRuslan Ermilov.Dl "rfcomm_sppd -a 00:01:02:03:04:05 -c 1 -t /dev/ttyp1"
167f2bb1caeSJulian Elischer.Pp
16872f00208SRuslan ErmilovWill start the
169f2bb1caeSJulian Elischer.Nm
17072f00208SRuslan Ermilovutility and open RFCOMM connection to the server at
17172f00208SRuslan Ermilov.Li 00:01:02:03:04:05
172f2bb1caeSJulian Elischerand channel
17372f00208SRuslan Ermilov.Li 1 .
17472f00208SRuslan ErmilovOnce the connection has been established,
175f2bb1caeSJulian Elischer.Pa /dev/ttyp1
176f2bb1caeSJulian Elischercan be used to talk to the remote serial port on the server.
177f2bb1caeSJulian Elischer.Sh SEE ALSO
1782aa65cf7SMaksim Yevmenkin.Xr bluetooth 3 ,
179f2bb1caeSJulian Elischer.Xr ng_btsocket 4 ,
18072f00208SRuslan Ermilov.Xr pty 4 ,
1810a314f7cSMaksim Yevmenkin.Xr rfcomm_pppd 8 ,
1820a314f7cSMaksim Yevmenkin.Xr sdpd 8
183f2bb1caeSJulian Elischer.Sh AUTHORS
184f2bb1caeSJulian Elischer.An Maksim Yevmenkin Aq m_evmenkin@yahoo.com
1856c7216dfSRuslan Ermilov.Sh BUGS
1866c7216dfSRuslan ErmilovPlease report if found.
187