日本国内では多くの端末事業者によって高速なモバイル回線が提供されています。今回はNetBookとセットになっていることが多いイー・モバイルの端末をUbuntuから利用する方法を紹介します。
イーモバイル端末の利用
日本で利用できる高速なモバイルインターネット回線のうち、イー・モバイル の端末の幾つか、シンプルなUSBモデムとしてUbuntuから利用することができます。特にNetBookとセットで入手可能[1] なD02HW は非常に単純に設定でき、Ubuntuをモバイル環境で利用する場合には大変便利に利用することができます。また、この手順はUSBシリアルモデム(CDCデバイス)として見える端末であれば同じように利用することができます。EM-ONEなどのデバイスでも利用可能です。
なお、ハードウェア関連の接続性については筆者・gihyo.jp編集部・イーモバイルともに何ら保証するものではありません。
[1] ここでは細かい点には触れませんが、NetBookなどとセットになっているプランは通常のプランよりも割高なので注意しましょう。NetBookの割引額と同程度の金額を通信費用として支払う必要があるので注意してください。ただし、D02HWのハードウェア費用分はほとんとゼロ換算です。もっとも単体でD02HWを入手しても1円なのですが……。
8.04でのD02HW・EM-ONEの利用
Ubuntu 8.04では、まず最初に「ネットワークの設定」アイコンで右クリックし、「 接続の編集」を選択します(図1 ) 。
図1 接続の編集
図2 のようなネットワークの設定ダイアログが表示されますので、[ ロックの解除]を行います。ロックの解除を選択すると、パスワードの入力を求められますので、ログインに利用意してるパスワードを入力します。
図2 ロックの解除
図3 の設定画面になりますので、「 この接続を有効にする」にチェックを入れます。
図3 モデムの設定
電話番号・ユーザ名・パスワードが入力可能になりますので、図4 のように、電話番号:*99***1#、ユーザ名:em、パスワード:emと入力します。
図4 接続情報の入力
「モデム」タブで、「 モデムのポート」として「/dev/ttyUSB0」をセットします(図5 ) 。
図5 モデムのポート設定
「オプション」タブで、3つのオプションすべてにチェックを入れます(図6 ) 。
図6 オプションの設定
以上で設定は完了です。自動的にモデムに接続し、インターネット接続が利用できるようになります。
うまく接続できない場合のトラブルシューティング
うまく接続が行えない場合、まず最初に以下のLEDの光り方を確認してください。UbuntuでD02HWを利用する際、LEDの光り方で知っておくべきは次の点です。
LEDが赤色で点滅/点灯している: EM chip(USIMカード)が入っていないか、向きが間違っています。
LEDが青色で点滅している:モデムとしては正常に機能し、回線へ接続しようとしています。
LEDが青色で点灯している:回線へ接続されています。
Ubuntuから接続設定を行ったにもかかわらず、D02HWのLEDが赤く点滅していた場合は、おそらくEM chipの向きが間違っています。向きを確認して入れ直してください。
LEDが青色で、かつ点滅している状態のままつながらない場合、アカウント設定が誤っている可能性が高いです。
LEDが青色で、かつ点灯しているにもかかわらず「つながらない」場合、次の点について確認してください。
まず最初に、端末でifconfigコマンドを実行し、ppp0デバイスにIPアドレスが付与されていることを確認してください(IPアドレスが付与されていなければ、何か妙なことになっている可能性が高いのでOSを再起動してみると良いかもしれません) 。
IPアドレスが付与されたにも関わらず、インターネットに接続できない場合は次のことを確認します。
この状態であるにもかかわらず上手くインターネット上のサイトとの通信が行えない場合、OpenDNS のDNSサーバ 208.67.222.222 などにpingを打ってみます。
$ ping 208.67.222.222
64 bytes from 208.67.222.222: icmp_seq=1 ttl=52 time=112 ms
このように応答が返ってきているようであれば、接続性は確保できています。この状態ではネームサーバの設定が正しくないことが考えられます。
/etc/resolv.confが適切に設定され、DNSによる名前解決が行えることを確認してください。イーモバイル環境のDNSサーバが設定されていない場合、OpenDNSの提供するDNSサーバを利用しても良いでしょう。
8.10でのD02HW・EM-ONEの利用
Ubuntu 8.10ではネットワークマネージャが改良され、3G端末の接続設定が容易に利用できるようになりました。8.10では次のように設定を行うことで接続可能です。
※ ただし、現在バグのため、ネットワークマネージャから設定を行った場合、モデムを利用した通信が利用できません。8.10Betaの半ばまでは正常に動作していたので、しばらく待てば解決するはずです。
8.10ではネットワークマネージャのアイコンで右クリックし、「 接続の編集」を選択して設定を開始します。
USBモデムの設定は「モバイルブロードバンド」タブに格納されていますので、タブを切り替え、[ 追加]をクリックします(図7 ) 。
図7 モバイルブロードバンド
ウィザード形式の設定ダイアログが起動しますので、図8 の段階まで進みます。残念ながらまだプロファイルが揃っておらず、日本国内では「Vodafone(J-Phone) 」などという古代の設定項目しかありませんが、気にせずこれを選択して進めてください。
図8 通信事業者の選択
図9 のように、設定の名称を定義できます。ここでは分かりやすいように「E-Mobile」としています。
図9 設定の名称
ここまで進めると、ネットワークマネージャーの「モバイルブロードバンド」タブ内に先ほど入力した名称の設定項目が作られます。[ 編集]をクリックして詳細な設定を行います。「 番号」はデフォルトで値が入力されている「*99#」のままにし、ユーザ名・パスワードの双方に「em」と入力します(図10 ) 。
図10 接続情報の設定
また図11 のように、「 IPv4設定」タブで、メソッドを「自動(PPP) 」に変更しておきます。
本来であればこれでPPP接続を行い、インターネット接続性を確保することができるのですが、現在はバグで動作していません。
図11 メソッドの変更
8.10でのS11HTの利用
イーモバイルの音声端末の中には、Windows Mobileを搭載したHTC製のスマートフォンが存在しています。これらのスマートフォンは相手がWindows機であれば、USBケーブル経由でActive Sync(Windows XP)やMobile Center(Windows Vista)などを通じ、インターネット共有を提供することができます。
しかし、これまではこの機能をLinux上から利用することはできませんでした。Windows Mobileデバイスのインターネット共有を利用した接続では、クライアントとなる側(この場合はPC側)にRNDIS関連の実装が必要だからです。Ubuntu 8.10で利用されるLinux Kernel 2.6.27(Ubuntuのパッケージとしては linux-image-2.6.27-7-generic )から、RNDISがカーネル上で有効になり、これらのデバイスを利用したインターネット接続が可能になりました[2] 。
$ dpkg -L linux-image-2.6.27-7-generic | grep rndis
/lib/modules/2.6.27-7-generic/kernel/drivers/net/usb/rndis_host.ko
/lib/modules/2.6.27-7-generic/kernel/drivers/net/wireless/rndis_wlan.ko
ここではS11HT (EMonster; HTC Kaiser(TyTNII) )を利用してUbuntuからイーモバイル回線を利用する方法を説明します。
まずS11HTとUbuntuを実行しているPCをUSBケーブルで接続します。この時点でUbuntu側からはネットワークインターフェースが1つ増えた状態に見えるはずです。/var/log/messagesでは以下のように認識されているでしょう。
Nov 2 14:42:05 mizar kernel: [ 5297.164063] usb 4-2: new full speed USB device using uhci_hcd and address 12
Nov 2 14:42:05 mizar kernel: [ 5297.334210] usb 4-2: configuration #1 chosen from 1 choice
Nov 2 14:42:05 mizar kernel: [ 5297.519843] eth1: register 'rndis_host' at usb-0000:00:1d.0-2, RNDIS device, 80:00:60:0f:e8:00
ただし、このままではifconfigで見ても以下のようにIPアドレスが解決されておらず(APIPAレンジのアドレスが付与されています) 、通信は行えません。
eth1 Link encap:イーサネット ハードウェアアドレス 80:00:60:0f:e8:00
inetアドレス:169.254.2.2 ブロードキャスト:169.254.2.255 マスク:255.255.255.0
inet6アドレス: fe80::8200:60ff:fe0f:e800/64 範囲:リンク
UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1
RXパケット:24 エラー:14 損失:0 オーバラン:0 フレーム:2
TXパケット:42 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:1000
RXバイト:2076 (2.0 KB) TXバイト:8184 (8.1 KB)
以下はS11HT側で操作を行います。プログラムの中にある「CommManager」( 図12 )で、「 インターネット共有」の設定画面を開きます。
図12 CommManager
この状態で[接続]をタップします。
図13 インターネット共有
これによりS11HTのインターネット接続がUSB接続したPCにも提供されるようになります。PC側のインターフェースには192.168.0.*のIPアドレスが付与されるはずです(図14 ) 。
図14 インターネット共有による接続
筆者は確認できていませんが、同様の接続形態をとるS12HT・S21HTなどでも同様の方法で利用できるかもしれません。
[2] 厳密には、2.6.27以前であっても、SynCE プロジェクトの成果物であるndis-liteドライバを導入することで接続は可能でした。ただし、rndis-liteドライバを利用するには個別にドライバをビルドする必要があり、かなり面倒な状態でした。