2009/10/08(Thu)Fedora11でE-mobile D23HWを使う方法
2009/10/08 5:25
wvdial
どうやら、wvdialというのを使うと簡単につなげてくれるらしい。wvdialというのをyumで入れる。
が、これの起動にkudzuも必要らしいので、併せて入れておく。
# yum install wvdial kudzuで、E-mobile D23HWをUSBポートに差し込むと、/dev以下にデバイスが出現
$ ls /dev/tty* /dev/ttyUSB0 /dev/ttyUSB1この状態で認識は完了。
設定ファイル
設定に関しては、自動でやってくれるコマンドがあるので、ある程度は機械任せ。# wvdialconf Editing `/etc/wvdial.conf'. Scanning your serial ports for a modem. Modem Port Scan<*1>: S0 S1 S2 S3 WvModem<*1>: Cannot get information for serial port. ttyUSB0<*1>: ATQ0 V1 E1 -- OK ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: huawei ttyUSB0<*1>: Speed 9600: AT -- OK ttyUSB0<*1>: Max speed is 9600; that should be safe. ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK WvModem<*1>: Cannot get information for serial port. ttyUSB1<*1>: ATQ0 V1 E1 -- OK ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer: huawei ttyUSB1<*1>: Speed 9600: AT -- OK ttyUSB1<*1>: Max speed is 9600; that should be safe. ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK Found a modem on /dev/ttyUSB0. /etc/wvdial.conf<Warn>: Can't open '/etc/wvdial.conf' for reading: No such file or directory /etc/wvdial.conf<Warn>: ...starting with blank configuration. Modem configuration written to /etc/wvdial.conf. ttyUSB0<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ttyUSB1<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"で、後は電話番号とユーザ名とパスワードを適宜修正する。
Phone, Username, Passwordの3行を変えればOK。
あと、私はボーレートが9660になっていたので、460800に変えた方がいいかも。
# vi /etc/wvdial.conf [Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Modem Type = Analog Modem Phone = *99***1# ISDN = 0 Username = em Password = em Modem = /dev/ttyUSB0 Baud = 460800
繋いでみる
繋ぎ方は実に簡単# wvdial --> WvDial: Internet dialer version 1.60 --> Cannot get information for serial port. --> Initializing modem. --> Sending: ATZ ATZ OK --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 OK --> Modem initialized. --> Sending: ATDT*99***1# --> Waiting for carrier. ATDT*99***1# CONNECT --> Carrier detected. Waiting for prompt. --> Don't know what to do! Starting pppd and hoping for the best. --> Starting pppd at Thu Oct 8 04:38:58 2009 --> Pid of pppd: 4600 --> Using interface ppp0 --> pppd: ???[08](??[08] --> pppd: ???[08](??[08] --> pppd: ???[08](??[08] --> pppd: ???[08](??[08] --> pppd: ???[08](??[08] --> pppd: ???[08](??[08] --> Disconnecting at Thu Oct 8 04:39:00 2009 --> The PPP daemon has died: A modem hung up the phone (exit code = 16) --> man pppd explains pppd error codes in more detail. --> Try again and look into /var/log/messages and the wvdial and pppd man pages for more information. --> Auto Reconnect will be attempted in 5 seconds --> Cannot get information for serial port. --> Initializing modem. ...(以下ループ)...となって繋がらない。
これも同じような現象がどこかで紹介されていたのだが、/var/log/messageを見てみると、認証には成功しているらしい。
Oct 8 04:39:35 eel05 pppd[4637]: pppd 2.4.4 started by root, uid 0 Oct 8 04:39:35 eel05 pppd[4637]: Using interface ppp0 Oct 8 04:39:35 eel05 pppd[4637]: Connect: ppp0 <--> /dev/ttyUSB0 Oct 8 04:39:35 eel05 pppd[4637]: CHAP authentication succeeded Oct 8 04:39:35 eel05 pppd[4637]: CHAP authentication succeeded Oct 8 04:39:36 eel05 pppd[4637]: Modem hangup Oct 8 04:39:36 eel05 pppd[4637]: Connection terminated. Oct 8 04:39:36 eel05 pppd[4637]: Exit.
解決策
またどこかに「一度Windows機で接続してLinuxに繋ぎ直したら、繋がるようになった」という情報があったので、同じようにやってみると、なんと繋がった。なんだこりゃ?繋がったときのログはこんな感じ。
文字化けは仕方ないですね。
--> WvDial: Internet dialer version 1.60 --> Cannot get information for serial port. --> Initializing modem. --> Sending: ATZ ATZ OK --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 OK --> Modem initialized. --> Sending: ATDT*99***1# --> Waiting for carrier. ATDT*99***1# CONNECT --> Carrier detected. Waiting for prompt. --> Don't know what to do! Starting pppd and hoping for the best. --> Starting pppd at Thu Oct 8 04:57:22 2009 --> Pid of pppd: 5187 --> Using interface ppp0 --> pppd: @{鐃・Xy鐃・ --> pppd: @{鐃・Xy鐃・ --> pppd: @{鐃・Xy鐃・ --> pppd: @{鐃・Xy鐃・ --> pppd: @{鐃・Xy鐃・ --> local IP address 114.51.19.24 --> pppd: @{鐃・Xy鐃・ --> remote IP address 10.64.64.64 --> pppd: @{鐃・Xy鐃・ --> primary DNS address 117.55.64.154 --> pppd: @{鐃・Xy鐃・ --> secondary DNS address 60.254.209.158 --> pppd: @{鐃・Xy鐃・
DNSの設定
どうやら、wvdialはDNSまで面倒を見てくれないらしいので、そこは手動で設定が必要とのこと。# echo "nameserver 117.55.64.154" > /etc/resolv.confこれでうまく使えるようになりました。
通信速度など
下り上り