rfcomm_pppd(8)

NAME

rfcomm_pppd - RFCOMM PPP daemon

SYNOPSIS

rfcomm_pppd -c [-dh] -a address -C channel -l label -u N
rfcomm_pppd -s [-dhS] [-a address] -C channel -l label

DESCRIPTION

The rfcomm_pppd daemon is a simple wrapper daemon that al
lows to use
standard ppp(8) on RFCOMM connection. It can operate in two
modes:
client and server.
In the client mode, rfcomm_pppd opens an RFCOMM connection
to the specified server's BD_ADRR and channel. Once RFCOMM connection
is established, rfcomm_pppd executes ppp(8) in -direct mode with the
specified
label. The ppp(8) in its turn operates over the RFCOMM con
nection just
like it would operate over the standard serial port thus al
lowing user to
``dial out'' and connect to the Internet.
In the server mode, rfcomm_pppd opens an RFCOMM socket and
listens for
incoming connections from remote clients. Once the new in
coming connection is accepted, rfcomm_pppd forks and executes ppp(8) in
-direct mode
with the specified label. The ppp(8) in its turn operates
over the
RFCOMM connection just like it would operate over the stan
dard serial
port thus providing network connectivity to remote clients.
The options are as follows:
-a address
In the client mode, this required option specifies
the address of
the remote RFCOMM server. In the server mode, this
option can be
used to specify the local address to listen on. By
default,
server will listen on ANY address. The address can
be specified
as BD_ADDR or name. If name was specified then the
rfcomm_pppd
utility will attempt to resolve the name via
bt_gethostbyname(3).
-C channel
In both client and server modes, this required op
tion specifies
RFCOMM channel to connect to or listen on. In the
server mode,
RFCOMM channel should be a number between 1 and 30.
In the
client mode, RFCOMM channel could either be a number
between 1
and 30 or a service name. Supported service names
are: DUN (for
DialUp Networking service) and LAN (for LAN Access
Using PPP service). If service name was specified instead of nu
meric RFCOMM
channel then rfcomm_pppd utility will try to obtain
RFCOMM channel for the service via Service Discovery Protocol.
-c Act as an RFCOMM client. This is the default mode.
-d Do not detach from the controlling terminal, i.e.,
run in fore
ground.
-h Display usage message and exit.
-l label
In both client and server modes, this required op
tion specifies
which ppp(8) label will be used.
-S In the server mode, register the Serial Port (SP)
service in
addition to the LAN Access Using PPP (LAN) service.
It appears
that some cell phones are using the so-called
``callback
mechanism''. In this scenario, the user is trying
to connect his
cell phone to the Internet, and user's host computer
is acting as
the gateway server. It seems that it is not possi
ble to tell the
phone to just connect and start using the LAN ser
vice. Instead,
the user's host computer must ``jump start'' the
phone by connecting to the phone's SP service. What happens
next is the
phone kills the existing connection and opens anoth
er connection
back to the user's host computer. The phone really
wants to use
LAN service, but for whatever reason it looks for
the SP service
on the user's host computer. This brain damaged be
havior was
reported for Nokia 6600 and Sony/Ericsson P900.
-s Act as an RFCOMM server.
-u N This option maps directly onto -unit ppp(8) command
line option
and tells rfcomm_pppd to instruct ppp(8) to only at
tempt to open
/dev/tunN. This option only works in the client
mode.

PPP CONFIGURATION

Important Notes on PPP Configuration
Special attention is required when adding new RFCOMM config
urations to
the existing PPP configuration. Please keep in mind that
PPP will always
execute commands in the ``default'' label of your
/etc/ppp/ppp.conf file.
Please make sure that the ``default'' label only contains
commands that
apply to every other label. If you need to use PPP for both
dialing out
and accepting incoming RFCOMM connections, please make sure
you have
moved all commands related to dialing out from the ``de
fault'' section
into an appropriate outgoing label.
RFCOMM Server
One of the typical examples is the LAN access. In this ex
ample, RFCOMM
connection is used as a null-modem connection between client
and server.
Both client and server will start talking PPP right after
RFCOMM connection was established.

rfcomm-server:
set timeout 0
set lqrperiod 10
set ifaddr 10.0.0.1 10.0.0.2 255.255.255.0
enable lqr
accept lqr
# Do not use PPP authentication. Assume that
# Bluetooth connection was authenticated already
disable pap
deny pap
disable chap
deny chap
RFCOMM Client
The rfcomm_pppd utility supports both LAN and DUN (Dial-Up
Networking)
access. The client's configuration for the LAN access is
very similar to
server's and might look like this.

rfcomm-client:
enable lqr
accept lqr
set dial
set timeout 0
disable iface-alias
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0
0.0.0.0
# Do not use PPP authentication. Assume that
# Bluetooth connection was authenticated already
deny pap
disable pap
deny chap
disable chap
The client's configuration for the DUN access is different.
In this scenario, the client gets connected to the virtual serial port
on the
server. To open a PPP session, client must dial a number.
Note that by
default ppp(8) will not execute any configured chat scripts.
The
force-scripts option can be used to override this behavior.
The example
of such configuration is shown below.

rfcomm-dialup:
# This is IMPORTANT option
enable force-scripts
# You might want to change these
set authname
set authkey
set phone "*99***1#"
# You might want to adjust dial string as well
set dial "ABORT BUSY ABORT NORRIER TIMEOUT 5
set login
set timeout 30
enable dns
resolv rewrite
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0
0.0.0.0
add default HISADDR
Note that by adjusting the initialization string, one can
make CSD (Circuit Switched Data), HSCSD (High Speed Circuit Switched Da
ta) or GPRS
(General Packet Radio Service) connection. The availability
of the particular connection type depends on the phone model and ser
vice plan activated on the phone.

EXIT STATUS EXAMPLES

rfcomm_pppd -s -a 00:01:02:03:04:05 -C 1 -l rfcomm
server
This command will start rfcomm_pppd in the server mode. The

RFCOMM

server will listen on local address 00:01:02:03:04:05 and
channel 1.
Once the incoming connection has been accepted, rfcomm_pppd
will execute
ppp(8) in -direct mode with ``rfcomm-server'' label.

rfcomm_pppd -c -a 00:01:02:03:04:05 -C 1 -l rfcomm
client
This command will start rfcomm_pppd in the client mode.
rfcomm_pppd will
try to connect to the RFCOMM server at 00:01:02:03:04:05 ad
dress and
channel 1. Once connected, the rfcomm_pppd will execute
ppp(8) in
-direct mode with ``rfcomm-client'' label.

CAVEAT

The rfcomm_pppd utility in server mode will try to register
Bluetooth LAN
Access Over PPP service with local SPD daemon. If local SDP
daemon is
not running the rfcomm_pppd utility will exit with error.

SEE ALSO

rfcomm_sppd(1), bluetooth(3), ng_btsocket(4), ppp(8), sdp
control(8),
sdpd(8)

AUTHORS

Maksim Yevmenkin <m_evmenkin@yahoo.com>
BSD February 4, 2003
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout