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.00.0.0.0
# Do not use PPP authentication. Assume that
# Bluetooth connection was authenticated already
deny pap
disable pap
deny chap
disable chapThe client's configuration for the DUN access is different.In this scenario, the client gets connected to the virtual serial porton 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 rewriteset ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.00.0.0.0
add default HISADDRNote that by adjusting the initialization string, one canmake CSD (Circuit Switched Data), HSCSD (High Speed Circuit Switched Data) or GPRS
(General Packet Radio Service) connection. The availabilityof the particular connection type depends on the phone model and service 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
AUTHORS
- Maksim Yevmenkin <m_evmenkin@yahoo.com>
- BSD February 4, 2003