home | help
RFCOMM_PPPD(8)		     System Manager's Manual		  RFCOMM_PPPD(8)

NAME
     rfcomm_pppd -- RFCOMM PPP daemon

SYNOPSIS
     rfcomm_pppd -c [-dh] -a BD_ADDR -C channel -l label
     rfcomm_pppd -s [-dh] [-a BD_ADDR] -C channel -l label

DESCRIPTION
     The  rfcomm_pppd daemon is a simple wrapper daemon that allows to use stan-
     dard ppp(8) on RFCOMM connection.	It can operate in two modes: client  and
     server.

     In  the client mode, rfcomm_pppd opens a 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 connection just like  it  would
     operate  over the standard serial port thus allowing user to "dial out" and
     connect to the Internet.

     In the server mode, rfcomm_pppd opens a RFCOMM socket and listens	for  in-
     comming connections from remote clients.  Once the new incomming 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 connec-
     tion just like it would operate over the standard serial port thus  provid-
     ing network connectivity to remote clients.

     The options are as follows:

     -a BD_ADDR
	     In  the  client  mode  this  required  option  specifies the remote
	     BD_ADDR of the RFCOMM server.  In the server mode, this option  can
	     be  used  to  specify  the local BD_ADDR to listen on.  By default,
	     server will listen on ANY address.

     -C channel
	     In both client and server modes this required option specifies  RF-
	     COMM channel to connect to or listen on.  In the server mode RFCOMM
	     channel  should be number between 1 and 30.  In the client mode RF-
	     COMM channel could be either number between 1  and  30  or  service
	     name.  Supported  service names are: DUN for DialUp Networking ser-
	     vice and LAN for LAN Access Using PPP service.  If service name was
	     specified instead of numeric RFCOMM channel then rfcomm_pppd  util-
	     ity  will	try to obtain RFCOMM channel for the service via Service
	     Discovery Protocol.

     -c      Act as a 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 option specifies
	     which ppp(8) label will be used.

     -s      Act as a RFCOMM server.

PPP CONFIGURATION
   Important Notes on PPP Configuration
     Special attention is required when adding new RFCOMM configurations to  the
     existing  PPP configuration.  Please keep in mind that PPP will always exe-
     cute 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 ac-
     cepting incoming RFCOMM connections, please make sure you	have  moved  all
     commands  related	to dialing out from the "default" section into an appro-
     priate outgoing label.

   RFCOMM Server
     One of the typical examples is the LAN access.   In  this	example,  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)  ac-
     cess.   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  sce-
     nario,  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 op-
     tion can be used to override this behavior.  The example of such configura-
     tion 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 NO\\sCARRIER TIMEOUT 5 \
		      \"\" AT OK-AT-OK ATE1Q0 OK \\dATD\\T TIMEOUT 40 CONNECT"
	    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 Data) or GPRS (General
     Packet Radio Service) connection.	The availability of the particular  con-
     nection  type  depends on the phone model and service plan activated on the
     phone.

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 in-
     comming  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 address and chan-
     nel 1.  Once connected, the rfcomm_pppd will execute ppp(8) in -direct mode
     with "rfcomm-client" label.

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

BUGS
     The rfcomm_pppd utility does not register services with local SDP	(Service
     Discovery Protocol) daemon.

SEE ALSO
     rfcomm_sppd(1), ng_btsocket(4), ppp(8)

AUTHORS
     Maksim Yevmenkin <m_evmenkin@yahoo.com>

FreeBSD 5.2.1			February 4, 2003		  RFCOMM_PPPD(8)

home | help