usb_modeswitchを設定
L-03DはUSBポートに挿すとCDROMとして認識される仕様になっています。これはWindowsマシンに挿した時に自動的にWin専用の接続アプリを立ち上げるためです。これを解決するためにUbuntu上では usb_modeswitch を使います。usb_modeswitchはUSBモデムを正しく認識させるためのユーティリティです。
$ sudo apt-get install usb-modeswitch
/lib/udev/rules.d/40-usb_modeswitch.rules
... # LG L-03D ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6327", RUN+="usb_modeswitch '%b/%k'" ...最新のusb_modeswitchには /lib/udev/rules.d/40-usb_modeswitch.rules に上記のような L-03D の設定が既にあるはずです。万が一無ければ追加しておきましょう。
/etc/usb_modeswitch.d/1004:6327
DefaultVendor= 0x1004 DefaultProduct= 0x6327 TargetVendor= 0x1004 TargetProduct= 0x6326 MessageContent=555342431234567800000000000005f1010100000000000000000000000000次に /etc/usb_modeswitch.d/1004:6327 というファイルを新規作成し、上記の内容で保存します。
/etc/modules
... usbserial vendor=0x1004 product=0x6326次に /etc/modules に上の一行を追加します。これにより、OS起動後にL-03Dを自動的にUSBモデムとして認識してくれるようになります。
minicomでCIDを確認
$ sudo apt-get install minicom $ sudo minicom -D /dev/ttyUSB2 AT+CGDCONT?minicomを使ってCIDを確認しておきます。L-03D は /dev/ttyUSB2 を使用します。
minicom起動後に入力した AT+CGDCONT? は、CID一覧を表示するためのATコマンドです。
※CIDを新規に割り当てるには?
AT+CGDCONT=n,"IP","xxx.xxx.xxx"minicom上で上記のコマンドを実行します。n=CID, xxx.xxx.xxx=APNです。
pppconfigで設定
$ sudo apt-get install pppconfig $ sudo pppconfig次に pppconfig を使ってプロバイダ接続設定を行います。GUIで設定できますので、プロバイダ設定を見て入力してください。
例:
Number: *99# (CIDを明示的に指定するときは、*99***<CID># とします)
User: プロバイダから提供されたユーザ名
Password: パスワード
Speed: 115200
Com: /dev/ttyUSB2 (L-03Dの場合は固定)
Method: CHAP
参考までに下記に私のpppconfigの設定内容を載せておきます。設定内容は主に、 /etc/ppp/peers/<CONNECTION_NAME> と /etc/chatscripts/<CONNECTION_NAME> に登録されています。ちなみに私の契約は、ドコモの 「mopera U」 の定額プランです。
/etc/ppp/peers/mopera
# This optionfile was generated by pppconfig 2.3.18. # # hide-password noauth connect "/usr/sbin/chat -v -f /etc/chatscripts/mopera" debug /dev/ttyUSB2 115200 defaultroute noipdefault user "<USER_ID>" ipparam mopera usepeerdns
/etc/chatscripts/mopera
This chatfile was generated by pppconfig 2.3.18. # Please do not delete any of the comments. Pppconfig needs them. # # ispauth CHAP # abortstring ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED # modeminit '' ATZ '' ATH # ispnumber OK-AT-OK "ATDT*99#" # ispconnect CONNECT \d\c # prelogin # ispname # isppassword # postlogin # end of pppconfig stuffさっきもちょっと触れましたが、ATDT*99#のところは、お使いの環境によって ATDT*99***<CID># と読み替えることになります。例えばCIDを1に割り当てていた場合は、ATDT*99***1# となります。私の場合はデフォルトのままでよかったので ATDT*99# としています。
設定は以上です。
接続と切断
接続するときは、
$ pon mopera切断するときは、
$ poff moperaとします。
L-03Dは一度切断すると物理的に抜き差しするまで二度と接続できなくなる仕様のようですが、/etc/chatscripts/mopera の OK-AT-OK "ATDT*99#" の直前に '' ATH を追加することで、それが回避されるようです。
トラブルシューティング
切断できなかった時
poffで切断できないときは、もう一度 pon mopera するとなぜか切断できました。
再接続できなかった時
poffで切断後、次のponで再接続できない現象が発生。そんなときは、もう一度ponすると接続できます。
OS起動後USBモデムの認識に時間がかかる
ターミナルから以下のコマンドを叩けば即座にUSBモデムとして認識されます。※上で作った /etc/usb_modeswitch.d/1004:6327 という設定ファイルを明示的に読み込ませているだけです。
$ sudo usb_modeswitch -c /etc/usb_modeswitch.d/1004\:6327
以前にNetworkManagerで設定する方法を紹介しましたが、今回の方法ならターミナルから接続・切断を行えて、よりLinuxっぽい運用ができますね。
ちなみに今回使ったUSBモデム「L-03D」はこれです。
関連エントリ
[Ubuntu] ATコマンドでUSBモデムの電波強度を確認
0 件のコメント:
コメントを投稿