|In client mode, this required option specifies the address of the remote RFCOMM server. In server mode, this option can be used to specify the local address to listen on. By default, in server mode, the daemon will listen on ANY address. The address can be specified as BD_ADDR or name. If a name was specified, the rfcomm_pppd utility will attempt to resolve the name via bt_gethostbyname(3).|
|In both client and server mode, this required option specifies the RFCOMM channel to connect to or listen on. In server mode, the channel should be a number between 1 and 30. In client mode, the channel could either be a number between 1 and 30 or a service name. Supported service names are: DUN (Dial-Up Networking) and LAN (LAN Access Using PPP). If a service name is used instead of a numeric channel number, then rfcomm_pppd will try to obtain an RFCOMM channel number via SDP (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 foreground.|
|-D||In server mode, register the DUN (Dial-Up Networking) service in addition to the LAN (LAN Access Using PPP) service. AT-command exchange can be faked with ppp(8) chat script.|
|-h||Display usage message and exit.|
|In both client and server mode, this required option specifies which ppp(8) label will be used.|
In server mode, register the
(Serial Port) service in addition to the
(LAN Access Using PPP) 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, while the users host computer is acting as the gateway server. It seems that it is not possible to tell the phone to just connect and start using the LAN service. Instead, the users host computer must "jump start" the phone by connecting to the phones SP service. What happens next is the phone kills the existing connection and opens another connection back to the users host computer. The phone really wants to use the LAN service, but for whatever reason it looks for the SP service on the users host computer. This brain-damaged behavior was reported for the Nokia 6600 and the Sony/Ericsson P900.
|-s||Act as an RFCOMM server.|
|-u N||This option maps directly to the -unit ppp(8) command-line option and tells rfcomm_pppd to instruct ppp(8) to only attempt to open /dev/tun N. This option only works in client mode.|
Special attention is required when adding new RFCOMM configurations 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 "default" section into an appropriate outgoing label.
One of the typical examples is the LAN access. In this example, an RFCOMM connection is used as a null-modem connection between a client and a server. Both client and server will start talking PPP right after the RFCOMM connection has been 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 accept dns # Do not use PPP authentication. Assume that # Bluetooth connection was authenticated already disable pap deny pap disable chap deny chap
The rfcomm_pppd utility supports both LAN (LAN Access Using PPP) and DUN (Dial-Up Networking) access. The clients configuration for LAN access is very similar to the servers 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 clients configuration for DUN access is different. In this scenario, the client gets connected to the virtual serial port on the server. To open a PPP session, the 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. An example 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 NO\\sCARRIER TIMEOUT 5 \ \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\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 a CSD (Circuit Switched Data), HSCSD (High Speed Circuit Switched Data) or GPRS (General Packet Radio Service) connection. The availability of the particular connection type depends on the phone model and service plan activated on the phone.
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 the "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 channel 1. Once connected, rfcomm_pppd will execute ppp(8) in -direct mode with the "rfcomm-client" label.
rfcomm_sppd(1), bluetooth(3), ng_btsocket(4), ppp(8), sdpcontrol(8), sdpd(8)
.An Maksim Yevmenkin Aq email@example.com
The rfcomm_pppd utility in server mode will try to register the Bluetooth LAN Access Over PPP service with the local SPD daemon. If the local SDP daemon is not running, rfcomm_pppd will exit with an error.