[トップ][編集履歴][一覧][最近の更新][->English]

Debian:etch:GPRS

まず、Windows で継るのを確認する

動く状態というのが手に入ったら、確認や参考になるので、まあ、普通に使われている Windows を使った設定を動作させる。これは、少なくとも動作するのは分かっている組合せだし、多分、結構簡単に継るはずだからである。

Airtel側の設定

Manual Settings For Mobile Office(Gprs)

Connection Name Mobile Office
Data Bearer Gprs
Acess Point Name airtelgprs.com
User Name ur cell no e.g. 911234512345
Password -----------
Prompt Password No
Gateway IP 202.056.231.117
Homepage http://www.google.com
Connection Security Off
Session Mode Permanent

http://mboard.rediff.com/board/board.php?boardid=netguide2003aug28mobile&page=13

参考:

世界のモバイルネットワークの設定: http://www.pinstack.com/carrier_settings_apn_gateway.html

Linux側のBluetoothの設定

bluetooth 関係のモジュールは標準のインストールで乗っていた。もし乗っていなかったら bluez 関係のモジュールを載せる必要がある。

$ aptitude search bluez
p   bluez-cups                      - Bluetooth printer driver for CUPS
p   bluez-firmware                  - Firmware for Bluetooth devices
i   bluez-gnome                     - Bluetooth utilities for GNOME
p   bluez-hcidump                   - Analyses Bluetooth HCI packets
v   bluez-passkey-gnome             -
p   bluez-pcmcia-support            - PCMCIA support files for BlueZ 2.0 Bluetooi A bluez-utils                     - Bluetooth tools and daemons
p   python-bluez                    - Python wrappers around BlueZ for rapid bluv   python2.3-bluez                 -
v   python2.4-bluez                 -
  • 乗っているのは、bluez-gnome bluez-utils のふたつだけである。

これで、Bluetooth のusbドングルをさすと、自動的に認識してgnomeデスクトップ/パネルの表示エリアにbluetoothのアイコンがならび、情報を逐一報告してくれるし、さらに接続をしようとしたら、ペアリングのためのPINコードの入力の指示までやってきて、アイコンをクリックすると、PINコード入力のウィンドーが表示される。

スキャンしてみて、携帯端末側のbluetoothの機器番号を調べる

$ hcitool scan
Scanning ...
        00:19:2D:C6:AC:F5       Nokia 5200 Setu
 $ l2ping 00:19:2D:C6:AC:F

で、ブルートゥースのping ができて、通信が可能な事が確認できる。

/etc/bluetooth/rfcomm.conf

#
# RFCOMM configuration file.
#
rfcomm0 {
        bind yes;
#       # nokia 5200 setu
        device 00:19:2D:C6:AC:F5;
        channel 1;
        comment "PPP connect";
}

 $ /etc/init.d/bluetooth restart

で、ブルートゥースのプロセスを初期化。上の設定ファイルを読み込ませる。

 $ sudo hcitool cc 00:19:2D:C6:AC:F5
Password:
 $ sudo hcitool auth 00:19:2D:C6:AC:F5

PINコードをそれぞれで入力してペアリングを設定する

$ sdptool search DUN
Inquiring ...
Searching for DUN on 00:19:2D:C6:AC:F5 ...
Service Name: Dial-up Networking
Service RecHandle: 0x10014
Service Class ID List:
  "Dialup Networking" (0x1103)
  "Generic Networking" (0x1201)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:     0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Dialup Networking" (0x1103)
   Version: 0x0100

Linux側のダイヤルアップの設定

ppp が乗っていないので追加

 sudo aptitude install ppp

/etc/ppp/peers/bluetoothconn

debug
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/bluetoothconn"
usepeerdns
/dev/rfcomm0 115200
defaultroute
crtscts
lcp-echo-failure 0
noipdefault
nodetach

最後の nodetach は、テスト用で、うまく動くようなら外す。

/etc/chatscripts/bluetoothconn

TIMEOUT 35
ECHO      ON
ABORT     '\nBUSY\r'
ABORT     '\nERROR\r'
ABORT     '\nNO ANSWER\r'
ABORT     '\nNO CARRIER\r'
ABORT     '\nNO DIALTONE\r'
ABORT     '\nRINGING\r\n\r\nRINGING\r'
''          \rAT
TIMEOUT   12
OK        ATH
OK        ATE1
OK        'AT+CGDCONT=1,"IP","airtelgprs.com","",0,0'
TIMEOUT   22
OK        'ATD*99***1#'
CONNECT ""

以下は繋いだときの記録:

$ sudo /etc/init.d/networking stop
Deconfiguring network interfaces...done.
$ sudo pon bluetoothconn
AT
OK
ATH
OK
ATE1
OK
AT+CGDCONT=1,"IP","airtelgprs.com","",0,0
OK
ATD*99***1#
CONNECT
Serial connection established.
using channel 3
Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x3bb5bce2> <pcomp> <accomp>]
rcvd [LCP ConfRej id=0x1 <magic 0x3bb5bce2> <pcomp> <accomp>]
sent [LCP ConfReq id=0x2 <asyncmap 0x0>]
rcvd [LCP ConfAck id=0x2 <asyncmap 0x0>]
rcvd [LCP ConfReq id=0x0 <auth pap> <mru 1500> <asyncmap 0xa0000>]
sent [LCP ConfAck id=0x0 <auth pap> <mru 1500> <asyncmap 0xa0000>]
sent [LCP EchoReq id=0x0 magic=0x0]
sent [PAP AuthReq id=0x1 user="venus" password=<hidden>]
rcvd [LCP EchoRep id=0x0 magic=0x0]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x0 <addr 10.6.6.6>]
sent [IPCP ConfAck id=0x0 <addr 10.6.6.6>]
rcvd [LCP ProtRej id=0x0 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfNak id=0x2 <addr 10.190.58.96> <ms-dns1 202.56.230.5> <ms-dns3 202.56.240.5>]
sent [IPCP ConfReq id=0x3 <addr 10.190.58.96> <ms-dns1 202.56.230.5> <ms-dns3 202.56.240.5>]
rcvd [IPCP ConfAck id=0x3 <addr 10.190.58.96> <ms-dns1 202.56.230.5> <ms-dns3 202.56.240.5>]
Cannot determine ethernet address for proxy ARP
local  IP address 10.190.58.96
remote IP address 10.6.6.6
primary   DNS address 202.56.230.5
secondary DNS address 202.56.240.5
Script /etc/ppp/ip-up started (pid 4677)
Script /etc/ppp/ip-up finished (pid 4677), status = 0x0

これで使えるようになっている。

上の nodetach 付きの設定では、止めるのは Ctrl-C を叩いて止める。 設定から nodetach を外した状態(これが正しい)では、

 $ sudo poff bluetoothconn

コマンドで止める。

また、/etc/group の、dip グループにユーザを参加させておくと、sudo を使う必要はない。

参考ページ:

pppd がデフォルトのルートを設定しない

見るとメッセージで、"not replacing existing default route to eth0 [192.168.1.1] "tと言ってくる問題があった。

どうも、pppdは、既にデフォルトのルートがあると、defaultroute のパラメータがあっても、デフォルトルート(ゲートウェイ)の変更はしないそうだ。

とりあえず、/etc/initd./networking stop でネットワークを止めてから、pppを繋いだら、ダイヤルアップのインターネットが動作するのを確認した。

また、DHCP でネットワークを設定している場合は、単にケーブルが接続されていない状態で、ダイアルアップが接続されると、それがデフォルトのルートとして使われるようになる。ノートPCの場合はそれが正しいので、そうすると特に デフォルトのルートの設定問題は起きない。

もし、ローカルネットへアクセスする必要があって、なおかつインターネットはpppから出ていくのなら、デフォルト・ルートを消してから、PPP接続をするとよい。

 $ sudo route del default

で、デフォルト・ルートが消えるので、このあと、

 $ pon bluetoothconn

とすると良い。