Skip to main content.
Google custom search

GPRS, CDPD HowTo


はじめに (トップ)

GPRS/CDPD では、 カードは純技術的にはモデムですが、普通の感覚ではモデムには見えないでしょう。 たとえば、カードは PSTN 電話番号をダイアルしたり、キャリアーを受け取ったり、 速度をネゴシエートしたり、シリアルデータを前後に渡したりしません。

カードはセルラーのパケットを使ってセルラーの基地局と喋ります。このパケットに IP データグラムが含まれており、基地局はこのデータグラムをインターネットへ 送ります。クライアントは基地局に 'ppp' を喋りません。 クライアントはカードに対してだけ ppp で喋ります。カードは ppp からパケットを抽出して CDPD または GPRS パケットに包み直し、 アンテナから基地局へ送出します。カードは、クライアントに対しては、 クライアントのオペレーティングシステムのドライバーの設定が容易になるように、 PPP インターフェースを提供しています。ご覧のとおり、単に設定すればいいだけで、 NetBSD ユーティリティーを作り直す必要はありません。

GPRS の場合、モデムは (私が思うに) 5 つのプロバイダー設定を持ちます。 それぞれの設定を、あなたがお使いのサービスプロバイダー用に設定します。 そのために、 "AT" コマンドを使って指定するパラメーターがあります。

CDPD でも AT コマンドを使って設定しますが、こちらは各プロバイダーに対して ひとつの設定があるだけです。

'kermit' は、 (モデムをメーカーから受け取った後の) 最初の AT 設定コマンドを モデムに送るために使うことができます。一旦モデムを設定してしまえば、 再度 'kermit' を使う必要はありません。配布に含まれているので 'tip' を使うこともできますが、設定方法や使用方法を文書で説明するのは こちらのほうが難しいでしょう。 モデム自体の設定については、この文書の守備範囲外ですので、 お使いのベンダーのドキュメンテーションを確認してください。 GPRS などで、プロバイダーが顧客向けにカードをあらかじめ設定したり、 カードに早見表を附属させることが可能です。おそらく、携帯電話と同様で、 プロバイダーからの購入時に設定してもらえるでしょう。

いずれにせよ、 PPP 開始用のコマンドは機種特有です。

General Packet Radio Service (GPRS) カードを使う (トップ)

NovatelWireless GPRS ワイヤレスデータカードを使うためには、まず カードのメーカーとプロバイダーの設定に応じてカードを設定する必要があります。 お使いのプロバイダーに連絡を取ってください。 テスト済の GPRS カードとしては NovatelWireless Merlin G100 と NovatelWireless Merlin G201 があります。

それが済んだら、いくつかファイルを編集する必要があります。以下のとおりです:

ファイルの編集後、コマンドラインで以下のようにして始めます:

pppd file /etc/ppp/options.gprs

これで、このカード用のデフォルトのプロバイダーとして設定されます。 カードの別のコンフィグスロットに設定された別のプロバイダーに接続するには、 /etc/ppp/chatscript.gprs ファイル中の "ATDT" 文字列を、 NovatelWireless のドキュメンテーションに従って書き換える必要があります。

このカードのドキュメンテーションは今では入手が困難なので、 たいていの場合、設定する必要があるのは以下の設定だけでしょう。 'apn' は移動体通信事業者から示された APN (Access Point Name, アクセスポイント名)、 1234 はお使いの SIM カードの PIN 番号です。

at+cgdcont=1,"IP","apn"
at+cpin=1234

/etc/ppp/options.gprs ファイル中の tty を適切に書き換えてください。 モデム・ com ポート・ IR ポートを内蔵した典型的なラップトップでは、 NovatelWireless モデムは tty03 になります。 接続時にプロバイダーが自動的に DNS の設定を送ってこない場合は、 接続できるようにするために `usepeerdns` オプションを削除する必要があります。

また、 /etc/ppp/chap-secrets に、お使いのプロバイダーでの あなたのユーザー名とパスワードが書いてあることを確認してください。

NetBSD での PPP ネットワーキングの使用について、詳細は ネットワーキングドキュメンテーションを参照してください。

/dev/tty03
115200
defaultroute
ipcp-accept-local
ipcp-accept-remote
noauth
novj
connect 'chat -v -f /etc/ppp/chatscript.gprs'
user dummy
usepeerdns
mru 1500
mtu 1500
ABORT BUSY ABORT 'NO CARRIER' ABORT ERROR '' AT OK 'ATDT*99#' CONNECT
* * "dummy"

SonyEricsson t200 を使う (トップ)

以下の情報は、 Andrew Cagney の提供によるものです:

SonyEricsson t200 GPRS 電話は、シリアルボーレートが 9600 に固定されています。 この機種は、 pppd が接続を切っても GPRS コネクションを切りません。 また、現在のところ、附属の USB 電話ケーブルは NetBSD では使えないようです。

最後の問題は、 USB<->シリアルケーブルを使って SonyEricsson に繋ぐ事で回避できます。 はじめの二つの問題は、以下の init, connect, disconnect スクリプトを options または peers ファイルに含めることで回避/解決できます:

115200
init "/etc/ppp/chat/t200.sh"
connect "chat -v -f /etc/ppp/chat/t200"
disconnect "chat -v -f /etc/ppp/chat/hup"

さらに、 t200.sh に以下の内容を含めてください:

#!/bin/sh
# Find out the intended baud rate
b=`stty -g | sed -e 's/.*ispeed=//' -e 's/:.*//'`
# Force the serial line to 9600 baud so that it can be re-configured
stty 9600
# Ask for the modem to list all baud rates, and the current one.  Then
# force it to the rate the line was originally set to.
if chat -v \
    TIMEOUT 5 '' \
    +++AT OK \
    AT+IPR=? OK \
    AT+IPR? OK \
    AT+IPR=${b} OK
then
    stty ${b}
    exit 0
else
    exit 1
fi
t200 ファイルには以下の内容を含めます:
ABORT BUSY
ABORT ERROR
ABORT 'NO CARRIER'
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
TIMEOUT 10 ''
AT OK--AT--OK
# Ask the modem its baud rate - a sanity check
AT+IPR=? OK
AT+IPR? OK
# connect
ATDT*99# CONNECT

そして最後に、以下の内容の hup ファイルが必要です:

TIMEOUT 2
'' +++ATH OK

Cellular Digital Packet Data (CDPD) カードを使う (トップ)

NovatelWireless GPRS ワイヤレスデータカードを使うためには、まず カードのメーカーとプロバイダーの設定に応じてカードを設定する必要があります。 お使いのプロバイダーに連絡を取ってください。 これまでにテスト済のカードは NovatelWireless Merlin CDPD だけです。

こちらも、いくつかファイルを編集する必要があります。以下のとおりです:

ファイルの編集後、コマンドラインで以下のようにして始めます:

pppd file /etc/ppp/options.cdpd

/etc/ppp/options.cdpd ファイル中の tty を適切に書き換えてください。 モデム・ com ポート・ IR ポートを内蔵した典型的なラップトップでは、 NovatelWireless モデムは tty03 になります。

NetBSD での PPP ネットワーキングの使用について、詳細は ネットワーキングドキュメンテーションを参照してください。

/dev/tty03
115200
defaultroute
ipcp-accept-local
ipcp-accept-remote
noipdefault
novj
noauth
connect 'chat -v -f /etc/ppp/chatscript.cdpd'
mru 1500
mtu 1500
ABORT BUSY ABORT 'NO CARRIER' ABORT ERROR '' AT OK 'AT\\APPP' CONNECT