xref: /freebsd/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1 (revision b2c76c41be32f904179efed29c0ca04d53f3996c)
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 $
2672f00208SRuslan Ermilov.\"
27aa6985f4SMaksim Yevmenkin.Dd April 21, 2008
28f2bb1caeSJulian Elischer.Dt RFCOMM_SPPD 1
29f2bb1caeSJulian Elischer.Os
30f2bb1caeSJulian Elischer.Sh NAME
31f2bb1caeSJulian Elischer.Nm rfcomm_sppd
32f2bb1caeSJulian Elischer.Nd RFCOMM Serial Port Profile daemon
33f2bb1caeSJulian Elischer.Sh SYNOPSIS
34f2bb1caeSJulian Elischer.Nm
35*dc7b2697SMaksim Yevmenkin.Op Fl bhtS
362aa65cf7SMaksim Yevmenkin.Fl a Ar address
3772f00208SRuslan Ermilov.Fl c Ar channel
38f2bb1caeSJulian Elischer.Sh DESCRIPTION
39f2bb1caeSJulian ElischerThe
40f2bb1caeSJulian Elischer.Nm
4172f00208SRuslan Ermilovutility is a Serial Port Profile daemon.
420a314f7cSMaksim YevmenkinIt can operate in two modes: client and server.
430a314f7cSMaksim Yevmenkin.Pp
440a314f7cSMaksim YevmenkinIn client mode,
450a314f7cSMaksim Yevmenkin.Nm
460a314f7cSMaksim Yevmenkinopens RFCOMM connection to the specified
472aa65cf7SMaksim Yevmenkin.Ar address
482aa65cf7SMaksim Yevmenkinserver and
4972f00208SRuslan Ermilov.Ar channel .
5072f00208SRuslan ErmilovOnce connection is established, the
51f2bb1caeSJulian Elischer.Nm
52969fdab1SMaksim Yevmenkinutility provides access to the server's remote serial port via stdin/stdout
53969fdab1SMaksim Yevmenkinor via
54*dc7b2697SMaksim Yevmenkin.Xr pts 4
55969fdab1SMaksim Yevmenkininterface if
56969fdab1SMaksim Yevmenkin.Fl t
57969fdab1SMaksim Yevmenkinoption was specified.
58f2bb1caeSJulian Elischer.Pp
590a314f7cSMaksim YevmenkinIf the
600a314f7cSMaksim Yevmenkin.Fl S
610a314f7cSMaksim Yevmenkinoption is specified,
620a314f7cSMaksim Yevmenkin.Nm
630a314f7cSMaksim Yevmenkinwill operate in server mode and act as RFCOMM server,
640a314f7cSMaksim Yevmenkinlistening on
650a314f7cSMaksim Yevmenkin.Dv ANY
660a314f7cSMaksim Yevmenkinaddress and advertising a virtual serial port
670a314f7cSMaksim Yevmenkinvia the
680a314f7cSMaksim Yevmenkin.Xr sdpd 8
690a314f7cSMaksim Yevmenkindaemon.
70aa6985f4SMaksim YevmenkinIf
710a314f7cSMaksim Yevmenkin.Fl t
72aa6985f4SMaksim Yevmenkinoptions was specified,
73*dc7b2697SMaksim Yevmenkinthe server side of the virtual serial port is attached to a pseudo-terminal.
74aa6985f4SMaksim YevmenkinOtherwise the virtual serial port is attached to the stdin/stdout.
750a314f7cSMaksim Yevmenkin.Nm
760a314f7cSMaksim Yevmenkinshould be run as root in order to communicate with
77aa6985f4SMaksim Yevmenkin.Xr sdpd 8
780a314f7cSMaksim Yevmenkinin this case.
790a314f7cSMaksim Yevmenkin.Pp
8072f00208SRuslan ErmilovThe
81f2bb1caeSJulian Elischer.Nm
8272f00208SRuslan Ermilovutility opens both master and slave pseudo terminals.
8372f00208SRuslan ErmilovThis is done to ensure that RFCOMM connection stays open until
84f2bb1caeSJulian Elischer.Nm
8572f00208SRuslan Ermilovis terminated.
8672f00208SRuslan ErmilovThe data received from the master pseudo terminal are sent over
8772f00208SRuslan Ermilovthe RFCOMM connection.
8872f00208SRuslan ErmilovThe data received from the RFCOMM connection are written
8972f00208SRuslan Ermilovinto master pseudo terminal.
9072f00208SRuslan ErmilovThe application in its turn opens the slave pseudo
91f2bb1caeSJulian Elischerterminal and operates on it just like it would operate over the standard serial
92f2bb1caeSJulian Elischerport.
93f2bb1caeSJulian Elischer.Pp
94f2bb1caeSJulian ElischerThe options are as follows:
95f2bb1caeSJulian Elischer.Bl -tag -width indent
962aa65cf7SMaksim Yevmenkin.It Fl a Ar address
970a314f7cSMaksim YevmenkinIn client mode,
980a314f7cSMaksim Yevmenkinthis required option specifies the address of the remote RFCOMM server.
990a314f7cSMaksim YevmenkinIf this option is specified in server mode,
1000a314f7cSMaksim Yevmenkin.Nm
1010a314f7cSMaksim Yevmenkinwill only accept connections from the
1020a314f7cSMaksim Yevmenkin.Tn Bluetooth
1030a314f7cSMaksim Yevmenkindevice with address
1040a314f7cSMaksim Yevmenkin.Ar address .
1052aa65cf7SMaksim YevmenkinThe address can be specified as BD_ADDR or name.
1060a314f7cSMaksim YevmenkinIf name was specified then
1072aa65cf7SMaksim Yevmenkin.Nm
1082aa65cf7SMaksim Yevmenkinutility will attempt to resolve the name via
1092aa65cf7SMaksim Yevmenkin.Xr bt_gethostbyname 3 .
110f2bb1caeSJulian Elischer.It Fl b
11172f00208SRuslan ErmilovDetach from the controlling terminal, i.e., run in background.
112f2bb1caeSJulian Elischer.It Fl c Ar channel
1130a314f7cSMaksim YevmenkinIn both client and server mode,
114aa6985f4SMaksim Yevmenkinthis option specifies the RFCOMM channel to connect to or listen on.
1150a314f7cSMaksim YevmenkinIn server mode,
1160a314f7cSMaksim Yevmenkinthe channel should be a number between 1 and 30.
1170a314f7cSMaksim YevmenkinIf not specified,
1180a314f7cSMaksim Yevmenkin.Nm
119aa6985f4SMaksim Yevmenkinwill try to bind to
120aa6985f4SMaksim Yevmenkin.Dq wildcard
121aa6985f4SMaksim YevmenkinRFCOMM channel number.
122aa6985f4SMaksim YevmenkinThe actual RFCOMM channel will be obtained via
123aa6985f4SMaksim Yevmenkin.Xr getsockname 2
124aa6985f4SMaksim Yevmenkincall and will be used to register Serial Port service with
125aa6985f4SMaksim Yevmenkin.Xr sdpd 8 .
1260a314f7cSMaksim YevmenkinIn client mode,
1270a314f7cSMaksim Yevmenkinthe channel could either be a number between 1 and 30 or a service name.
128d47d4f47SMaksim YevmenkinSupported service names are:
129d47d4f47SMaksim Yevmenkin.Cm DUN
130d47d4f47SMaksim Yevmenkin(for DialUp Networking service),
131d47d4f47SMaksim Yevmenkin.Cm FAX
132a9412967SMaksim Yevmenkin(for Fax service),
133a9412967SMaksim Yevmenkin.Cm LAN
134a9412967SMaksim Yevmenkin(for LAN Access Using PPP service) and
135d47d4f47SMaksim Yevmenkin.Cm SP
136d47d4f47SMaksim Yevmenkin(for Serial Port service).
1370986ab12SMaksim YevmenkinIf channel was not specified then
1380986ab12SMaksim Yevmenkin.Nm
139d47d4f47SMaksim Yevmenkinutility will try to obtain RFCOMM channel for Serial Port service via Service
140d47d4f47SMaksim YevmenkinDiscovery Protocol from the server.
141f2bb1caeSJulian Elischer.It Fl h
142f2bb1caeSJulian ElischerDisplay usage message and exit.
1430a314f7cSMaksim Yevmenkin.It Fl S
1440a314f7cSMaksim YevmenkinServer mode; see
1450a314f7cSMaksim Yevmenkin.Sx DESCRIPTION .
146*dc7b2697SMaksim Yevmenkin.It Fl t
147*dc7b2697SMaksim YevmenkinUse slave pseudo tty.
148969fdab1SMaksim YevmenkinIf not set stdin/stdout will be used.
149969fdab1SMaksim YevmenkinThis option is required if
150969fdab1SMaksim Yevmenkin.Fl b
151969fdab1SMaksim Yevmenkinoption was specified.
152f2bb1caeSJulian Elischer.El
1536c7216dfSRuslan Ermilov.Sh FILES
154*dc7b2697SMaksim Yevmenkin.Bl -tag -width ".Pa /dev/pts/[num]" -compact
155*dc7b2697SMaksim Yevmenkin.It Pa /dev/pts/[num]
1566c7216dfSRuslan Ermilovslave pseudo terminals
1576c7216dfSRuslan Ermilov.El
1586c7216dfSRuslan Ermilov.Sh EXIT STATUS
1596c7216dfSRuslan Ermilov.Ex -std
160f2bb1caeSJulian Elischer.Sh EXAMPLES
161*dc7b2697SMaksim Yevmenkin.Dl "rfcomm_sppd -a 00:01:02:03:04:05 -c 1 -t"
162f2bb1caeSJulian Elischer.Pp
16372f00208SRuslan ErmilovWill start the
164f2bb1caeSJulian Elischer.Nm
16572f00208SRuslan Ermilovutility and open RFCOMM connection to the server at
16672f00208SRuslan Ermilov.Li 00:01:02:03:04:05
167f2bb1caeSJulian Elischerand channel
16872f00208SRuslan Ermilov.Li 1 .
169*dc7b2697SMaksim YevmenkinOnce the connection has been established, a
170*dc7b2697SMaksim Yevmenkin.Xr pts 4
171f2bb1caeSJulian Elischercan be used to talk to the remote serial port on the server.
172*dc7b2697SMaksim Yevmenkin.Nm
173*dc7b2697SMaksim Yevmenkinprints the name of the
174*dc7b2697SMaksim Yevmenkin.Xr pts 4
175*dc7b2697SMaksim Yevmenkinto use on stdout.
176f2bb1caeSJulian Elischer.Sh SEE ALSO
1772aa65cf7SMaksim Yevmenkin.Xr bluetooth 3 ,
178f2bb1caeSJulian Elischer.Xr ng_btsocket 4 ,
179*dc7b2697SMaksim Yevmenkin.Xr pts 4 ,
1800a314f7cSMaksim Yevmenkin.Xr rfcomm_pppd 8 ,
1810a314f7cSMaksim Yevmenkin.Xr sdpd 8
182f2bb1caeSJulian Elischer.Sh AUTHORS
1832b7af31cSBaptiste Daroussin.An Maksim Yevmenkin Aq Mt m_evmenkin@yahoo.com
1846c7216dfSRuslan Ermilov.Sh BUGS
1856c7216dfSRuslan ErmilovPlease report if found.
186