HOME / コンピュータTips / Solaris / E-MOBILEを利用する
Solaris/opensolarisで認識できたE-MOBILE †
私が認識できたデバイスは下記の通り
- EM ONE
- 何の問題もないが、たまにモデムがハングアップする
- D02HW
- 色々じゃじゃ馬であるが、猪突猛進さんのパッチを当てると、じゃじゃ馬っぷりはかなり緩和する(snv_98リリース現在)
その他の、SolarisのシリアルデバイスにはDualCore上で起きる問題がある。この場合、ppp接続の最中に通信が突然詰まった感覚になるので注意が必要。
E-MOBILEの認識方法 †
D02HWを中心に記載します。
em oneについては、必要なところのサブタイトルにemone(S01SH)と書いてあるので、適当に読み替えてください。
D01HWや、D02HW、H11TなどのUSBモデムになる他のタイプも恐らく使えると思います。
先にWindowsマシンなどに接続しておく。(D02HW) †
どういう理由なのかわからないのですが、Windowsマシンに一度接続しなければ、Solarisで使えない・・・という実験結果?が出てきました。 *1
このとき、chatスクリプトのログを出力すると、次のようなエラーが出てきます。
ATZ OKCalling E-MOBILE AT&C1&D2 OK ATDT*99***1# NO CARRIER Connect script failed
NO CARRIERと出てきますが、もちろん、圏内(青ランプ)です。
私の場合、お店で一度Windowsマシンに接続してテストし、 接続試験をして貰いました。 以後、何の設定も変わらずに接続が可能だったので、 同じ問題が出る人がいたらそれでいけるかもしれません。
また、ごく希に何かのトリガで初期出荷と同じ状態になるようです。 こういうときは、一度Windowsパソコンに接続してもらうと直ります。 このときのUSBに対して送るメッセージがわかれば良いのですが・・・。
ドライバーインストール(D02HW,em one) †
D02HWを差し込み、ドライバのインストール
update_drv -a -i usb12d1,1003 usbsacm
再起動する。
D02HWの接続は起動時から行っておく(D02HW) †
D02HWは刺しっぱなしで起動する時に限りmodemとして認識するが、 一度抜いて刺し治すとMass Storage Deviceとなる。 従って利用時には必ずD02HWを入れたまま起動しなくてはならない。
この問題はsnv_98までで確認しています。
- /etc/systemのdrv/〜を記述して、USB mass storageドライバを無効にしても、この挙動を変えることは出来ません。
- 猪突猛進さんのパッチをあてることで、ホットプラグが出来るようになります。一度、一通りテストしてからパッチをインストールしてみましょう。
起動時のterm †
lrwxrwxrwx 1 root root 50 6月 5日 21:57 0 -> ../../devices/pci@0,0/pci17aa,20aa@1a,1/device@1:0 lrwxrwxrwx 1 root root 50 6月 5日 21:57 1 -> ../../devices/pci@0,0/pci17aa,20aa@1a,1/device@1:1 lrwxrwxrwx 1 root root 50 6月 5日 21:57 5 -> ../../devices/pci@0,0/pci17aa,20aa@1a,1/device@1:2
このとき、/dev/term/0が使える。
ホットプラグ(起動後の接続)の時のterm †
lrwxrwxrwx 1 root root 51 6月 9日 16:18 0 -> ../../devices/pci@0,0/pci17aa,20aa@1a,1/storage@1:0
このときは何も利用できない。 ※なお、storageデバイスは、起動時もいる場合がある。
termを選ぶときについて(D02HW) †
3つ出てくるが、tipで接続*2したとき、
tip /dev/term/?
- atコマンドなどが、通常に動作する。
- atコマンドなどが、通常に動作するが、たまに^BOOT:11640533,0,0,0,38というメッセージがでる。
- 何の反応もない。
1のものを利用すること。 2を試すとき、atコマンドを連射しても良いし、atz、atiなどを入力してもいい。
なお、何かの拍子に1と2が入れ替わることがあったが、トリガ不明。
接続の設定(D02HW,em one) †
結局のところ、ここから先は容易。 上記にあった仕様を回避するため、色々もがいたが無理だったため。
/etc/ppp/peers/emobile
/dev/term/0 460800 updetach noipdefault usepeerdns defaultroute passive noccp novj crtscts idle 120 noauth lock name em connect "/usr/bin/chat -f /etc/ppp/emobile-chat"
/etc/ppp/emobile-chat
ABORT BUSY ABORT 'NO CARRIER' REPORT CONNECT TIMEOUT 10 "" ATZ OK "AT&C1&D2" SAY "Calling E-MOBILE\n" TIMEOUT 60 OK "ATDT*99***1#" CONNECT \c
/etc/ppp/pap-secretsに、追加。
em emobile em
結論 †
以上のようにすると利用することが出来るが、文中であるとおり、 様々な箇所に回避がある程度可能であるものの、障害がある。
障害をまとめると次の通り
- 最初にWindowsに接続しないとならない。
- 1度やって貰えばいいので、何とか回避可能
- 何かのトリガで再発生する(私の利用頻度では数ヶ月に一度)ので注意が必要。症状は何度やってもNO CARRIER。
- OS起動時からD02HWの接続をしておかなければならない。
- 上に記載したとおり、猪突猛進さんのパッチを当てると解決する。
- termの数がわかりづらい
- これは他のデバイスも絡むと色々面倒なのだが、私はdialerのラッパーを作ることで解決している。
- DualCoreの時に、パケットが詰まるという問題が起きる。
- 猪突猛進さんのシリアルパッチを当てると解決する。
- パッチを当てない場合、ppp前に/usr/sbin/psradm -f 1 2 3・・・・と、0番以外のコアをdisable(ユニプロセッサ状態)にし、ppp接続が終わったら、/usr/sbin/psradm -a -nで戻す。私はdialerのラッパで回避していた。
- シリアルの速度(DCE)が遅い
- termの接続については、SolarisではDCEが460800bps以上の設定ができないので、約450kbps以上の速度はだせない。
- 実質7.2Mのe-mobile出なくても良いのかも知れない :'(
という感じです。
SolarisとD02HWについて †
猪突さんのパッチを当てないのならば、上記のことを考えると、 7.2M対応デバイスじゃなくても良いのかな〜とか、考えられます。
このストレージに見えると言う件ですが、 E-MOBILEではゼロインストール対応というWindowsには何かよさげな機能みたいです。 D01HWに関しては、その言葉がついていないので、 もしかしたらD01HWをアウトレットで購入するというパスもあると思います。
つまり、
- 現時点、DCEの絡みで、7.2Mでないの?
- 7.2M出エリアは都内の一部みたいですよ?
- D01HWはゼロインストールじゃないからホットプラグも行けるかも?
ってことになると、SolarisモバイラーはD01HWをアウトレットで買うか、どこからか譲ってもらうのがいいかもしれません。
*1 どうやらLinuxでもそう言うことが起きた人がいたようです
*2 tipの終わりは、ENTER直後に、~.



