EN JA
RFCOMM_PPPD(8)
RFCOMM_PPPD(8) FreeBSD System Manager's Manual RFCOMM_PPPD(8)

名称

rfcomm_pppdRFCOMM PPP デーモン

書式

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

rfcomm_pppd -s [ -dDhS][ -a address] -C channel -l label

解説

rfcomm_pppd デーモンは、RFCOMM 接続によって ppp(8) の使用を可能にする簡単なラッパデーモンです。それは、2 つのモードで動作することができます: クライアントとサーバです。

クライアントモードでは、 rfcomm_pppd は、指定されたサーバへの BD_ADRRchannel RFCOMM 接続オープンします。いったん RFCOMM 接続が確立されると、 rfcomm_pppd は、指定された label-direct モードの ppp(8) を実行します。同じように、 ppp(8) は、標準のシリアルポート上と同様に RFCOMM 接続上で動作し、したがって、ユーザが“ダイヤルする”して、インターネットに接続すことができます。

サーバモードでは、 rfcomm_pppd は、RFCOMM ソケットをオープンして、リモートクライアントからの着信接続を listen (接続を受け付け) します。いったん、新しい着信接続が受け付けられると、 rfcomm_pppd は、指定された label-direct モードの ppp(8) を fork して、実行します。同じように、 ppp(8) は、標準のシリアルポート上と同様に RFCOMM 接続上で動作し、したがって、ネットワークの接続性をリモートクライアントに提供します。

オプションは、次の通りです:

-a address
クライアントモードでは、この要求オプションは、リモート RFCOMM サーバのアドレスを指定します。サーバモードでは、このオプションは、listen (接続を受け付け) するローカルアドレスを指定するために使用することができます。デフォルトで、サーバモードにおいて、デーモンは、 すべての アドレスを listen (接続を受け付け) します。アドレスは、BD_ADDR または名前として指定することができます。名前が指定されたなら、 rfcomm_pppd ユーティリティは、 bt_gethostbyname(3) を通して名前を解決することを試みます。
-C channel
クライアントとサーバモードの両方では、この要求オプションは、接続するか、または listen (接続を受け付け) するための RFCOMM チャネルを指定します。サーバモードでは、そのチャネルは、1 と 30 の間の数であるべきです。クライアントモードでは、そのチャネルは、1 と 30 の間の数か、またはサービス名のいずれかであるかもしれません。サポートしているサービス名は、次の通りです: (DialUp Networking) DUN と (LAN Access Using PPP) LAN です。サービス名が数値チャネル番号の代わりに使用されなら、 rfcomm_pppd は、SDP (サービスディスカバリープロトコル (Service Discovery Protocol)) によって RFCOMM チャネル番号を取得しようと試みます。
-c
RFCOMM クライアントとして動作します。これは、デフォルトモードです。
-d
制御端末からデタッチしません、すなわち、フォアグランドで実行します。
-D
サーバモードで、 LAN (PPP を使用する LAN Access) サービスに追加して、 DUN (ダイアルアップネットワーク) サービスを登録します。 ppp(8) チャットスクリプトで AT コマンドのやりとりをごまかすことができます。
-h
使用法のメッセージを表示して、終了します。
-l label
クライアントとサーバモードの両方では、この要求オプションは、どの ppp(8) ラベルが使用されるかを指定します。
-S
サーバモードでは、 LAN (LAN Access Using PPP) サービスに加えて SP (Serial Port) サービスを登録します。

ある携帯電話がいわゆる“コールバックメカニズム”を使用しているように見えます。このシナリオでは、ユーザのホストコンピュータが、ゲートウェイサーバとして動作している間に、ユーザは、彼の携帯電話をインターネットに接続しようとしています。ただ接続して、 LAN サービスを利用し始めるように電話に伝えることが可能でないように思えます。代わりに、ユーザのホストコンピュータは、電話の SP サービスに接続することによって、電話を“ジャンプスタート”しなければなりません。次に起こることは、電話の既存の接続を切り、ユーザのホストコンピュータに別の接続をオープンし戻すことです。電話は、実際に LAN サービスを利用したいのですが、どんな理由であれ、ユーザのホストコンピュータで SP サービスを探します。この脳が損傷している振る舞いは、Nokia 6600 と Sony/Ericsson P900 のために報告されました。

-s
RFCOMM サーバとして動作します。
-u N
このオプションは、直接 -unit ppp(8) コマンドラインオプションにマップして、 /dev/tun N をオープンすることを単に試みるように ppp(8) に指示するように rfcomm_pppd に伝えます。このオプションは、クライアントモードでのみ動作します。

PPP 設定

PPP 設定における重要な注

既存の PPP 設定に新しい RFCOMM 設定を加えるとき、特別な注意が必要です。 PPP が利用者の /etc/ppp/ppp.conf ファイルの“ デフォルト”ラベルで 常に コマンドを実行することを覚えておいてください。“ デフォルト”ラベルが他の あらゆる ラベルに適用されるコマンドを含む だけ であることを確かめてください。ダイヤルすることと着信 RFCOMM 接続の受け付けの両方に PPP を使用する必要があるなら、適切な発信ラベルに“ デフォルト”のセクションからダイヤルすることに関連するすべてのコマンドを移動することを確かめてください。

RFCOMM サーバ

典型的な例の 1 つは、LAN アクセスです。この例では、RFCOMM 接続は、クライアントとサーバとの間のヌルモデム (null-modem) 接続として使用されます。クライアントとサーバの両方は、RFCOMM 接続が確立された直後に PPP の通信を始めます。

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 
 # PPP 認証を使用しないでください。 
 # Bluetooth 接続が既に認証されたと仮定します 
 disable pap 
 deny pap 
 disable chap 
 deny chap

RFCOMM クライアント

rfcomm_pppd ユーティリティは、 LANDUN (ダイヤルアップネットワーク) アクセスの両方をサポートします。 LAN アクセスのためのクライアントの設定は、サーバのものとほとんど同じであり、これに似ているかもしれません。

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 
 # PPP 認証を使用しないでください。 
 # Bluetooth 接続が既に認証されたと仮定します 
 deny pap 
 disable pap 
 deny chap 
 disable chap

DUN アクセスのためのクライアントの設定は、異なっています。このシナリオでは、クライアントは、サーバの仮想のシリアルポートに接続されます。 PPP セッションをオープンするために、クライアントは、番号をダイヤルしなければなりません。デフォルトで、 ppp(8) は、設定されたチャットスクリプトも何も実行しないことに注意してください。 force-scripts オプションは、この振る舞いを無効にするために使用することができます。設定の例を次に示します:

rfcomm-dialup: 
 # これは「重要」なオプションです 
 enable force-scripts 
 
 # 利用はこれらを変更したいかもしれません 
 set authname 
 set authkey 
 set phone "*99***1#" 
 
 # また、利用者はダイヤル文字列を調整したいかもしれません 
 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

初期化文字列を調整することによって、CSD (Circuit Switched Data (回路交換データ))、HSCSD (High Speed Circuit Switched Data (高速回線交換データシステム)) か GPRS (General Packet Radio Service (汎用パケット無線システム)) 接続を行えることに注意してください。特定の接続タイプの利用可能性は、電話で駆動される電話モデルとサービスプランに依存します。

終了ステータス

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

使用例

rfcomm_pppd -s -a 00:01:02:03:04:05 -C 1 -l rfcomm-server

このコマンドは、サーバモードで rfcomm_pppd を開始します。 RFCOMM サーバは、ローカルアドレス 00:01:02:03:04:05 とチャネル 1 で listen (接続を受け付け) します。いったん着信接続が受け付けられると、 rfcomm_pppd は、“ rfcomm-server”ラベルで -direct モードの ppp(8) を実行します。

rfcomm_pppd -c -a 00:01:02:03:04:05 -C 1 -l rfcomm-client

このコマンドは、クライアントモードで rfcomm_pppd を開始します。 rfcomm_pppd は、 00:01:02:03:04:05 アドレスとチャネル 1 で RFCOMM サーバへの接続を試みます。いったん接続されると、 rfcomm_pppd は、“ rfcomm-client”ラベルで -direct モードの ppp(8) を実行します。

作者

Maksim Yevmenkin <m_evmenkin@yahoo.com>

警告

サーバモードの rfcomm_pppd ユーティリティは、ローカル SPD デーモンで Bluetooth LAN Access Over PPP サービスを登録しようと試みます。ローカル SDP デーモンが実行していないなら、 rfcomm_pppd は、エラーで終了します。
February 4, 2003 FreeBSD