WILLCOM AX530IN を FreeBSD-6.1 で使う

外出先から社内のネットワークに接続する必要ができて、 定額プランのある「WILLCOM AX530IN」(データ通信カード) を試してみることになりました。

AX530IN は dmesg で下記のように認識されますので、 /dev/cuad4 でモデムとしてアクセスできます。

io4:  at port 0x2f8-0x2ff irq 11 function 0 config 17 on pccard0
sio4: type 16550A

ここまでわかれば ppp(1) を使って簡単に接続できて、 設定ファイル(/etc/ppp/ppp.conf)の内容は次ぎのようになります。

--- /etc/ppp/ppp.conf ---
#################################################################
# PPP  Sample Configuration File
# Originally written by Toshiharu OHNO
# Simplified 5/14/1999 by wself@cdrom.com
#
# See /usr/share/examples/ppp/ for some examples
#
# $FreeBSD: src/etc/ppp/ppp.conf,v 1.10 2004/11/19 17:12:56 obrien Exp $
#################################################################

default:
 set log Phase Chat LCP IPCP CCP tun command
 ident user-ppp VERSION (built COMPILATIONDATE)

 # Ensure that "device" references the correct serial port
 # for your modem. (cuad0 = COM1, cuad1 = COM2)
 #
# set device /dev/cuad1
 set device /dev/cuad4

 set speed 115200
# set speed 921600
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
           \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
 set timeout 180                        # 3 minute idle timer (the default)
 enable dns                             # request DNS info (for resolv.conf)

papchap:
 #
 # edit the next three lines and replace the items in caps with
 # the values which have been assigned by your ISP.
 #

 set phone PHONE_NUM
 set authname USERNAME
 set authkey PASSWORD

 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 add default HISADDR                    # Add a (sticky) default route

willcom:
 set phone "0570570711##64"
 add default HISADDR
 set authname prin
 set authkey prin
 nat enable yes
 set timeout 180
 enable dns
---

この設定で接続と切断操作をマニュアルで行うときは、例えば、次ぎのようにします。

# ppp willcom
Working in interactive mode
Using interface: tun0
ppp ON localhost> dial
ppp ON localhost> 
Ppp ON localhost> 
PPp ON localhost> 
PPP ON localhost> close
PPp ON localhost> 
ppp ON localhost> 
ppp ON localhost> quit
#

これで、インタネットに接続できましたが、 この後、会社の LAN に接続しようとして問題が出ました。 手軽に使える PPTP (/usr/ports/pptpclient) 接続ができないのです。

WILLCOM に照会したら「フィルタは何もありません」と言われましたが、 会社のルータから見ると、 WILLCOM の PRIN が「PPTP pass through」になっていないように思えます。

そこで、他のプロバイダを考えることにして、 職場と自宅で使っている「OCN」を調べたら、 新しい契約なしで即座に使えることがわかり、 /etc/ppp/ppp.conf に下記を追加して OCN に接続したところ、 無事 PPTP 接続できるようになりました。

ocn:
 set phone "0570570724##64"
 add default HISADDR
 set authname アカウント名
 set authkey パスワード
 nat enable yes
 set timeout 180
 enable dns

mycompany:
 set authname アカウント名
 set authkey パスワード
 set timeout 60
 set ifaddr 0 0
 alias enable yes
「mycompany」の部分は PPTP 接続に使うもので、 OCN への接続を確立した後、 次ぎのように使いますが、 PPTP 接続を確立した後、社内 LAN へのルーティングを忘れないでください。
# /usr/local/sbin/pptp 会社のルータのIPアドレス &

なお、いずれの場合も、 「enable dns」で書き換えられる /etc/resolv.conf を元に戻すように、 /etc/ppp/ppp.linkdown に「resolv restore」を入れておくのがよいと思います。 例えば、上記の OCN 経由の PPTP 接続なら、 下記のようになります。

# cat /ppp/ppp.linkdown
ocn:
 delete ALL
 resolv restore
 ! sh -c  killall pptp

これで、無事仕事ができるようになりましたが、 Windows マシンがないと自番号もわかりません。 そこで、とりあえず、Undocumented AT command を調べて、 電波状況や自番号を表示させるプログラムを作りました。

なお、FreeBSD-7.0の場合は、

 set device /dev/cuad4
 set device /dev/cuau0
FreeBSD-8.0の場合は、
 set device /dev/cuau2
と書き換えてください。

なお、標準では root でないと ppp を起動できませんが、 下記のようにすれば一般ユーザでも使えるようになります。

  1. /etc/group の network に使用するユーザを追加
  2. ppp.conf に「allow users 利用者リスト」(リストは空白区切り)を追加

平林 浩一, 2008-02-04, 2008-04-03