複雑でよくわからない Pocket WiFi (D25HW) の仕様

EMOBILE Pocket WiFi (D25HW) を使っているのだが,どうも仕様が不自然に複雑でよくわからない.ボタンが 3 つあり,電源のオン/オフ,3G のオン/オフ (自動制御も可),WiFi のオン/オフを明示的に制御できるようなつくりになっている.状態遷移図で書くとこのような感じだろうか?複雑だ.


実際に使用すると

3G/WiFi ともオフの状態からインターネット接続するには,

  • WiFi スイッチを長押しして WiFi をオンにする
  • web ブラウザを何度かリロードするなど,通信を発生させると,3G 回線を接続に行く (オートモードの場合)

という操作になるのだけれど,2 種類の操作をしないといけない理由がよくわからないのでいらいらする.3G と WiFi を分けて管理する理由がよく分からない.電池の消費に影響が大きいのだろうか?

この仕様で充分

以前使っていた CMR-250 だと,電源のオン/オフしかない (下図 b).
ただし,それはそれで電源オンから使えるようになるまでの時間が長い,という問題があるので,スタンバイ・モード (OS はブートしておくが,3G/WiFi はオフ) はあったほうがうれしいけれど,それで充分なのではという気がする (下図 c).要するに 3G と WiFi 側を分けて管理するのは,ユーザにとって煩雑なので,一緒の管理で O.K. ということ.


さらには

Pocket WiFi (D25HW) の仕様には,こんなことを思います.

  • AC アダプタ給電時には 3G/WiFi 常時オンでよい
  • オートモード時でも,3G オフ時に CONNECT スイッチを押すと 3G オンにしてほしい.現状 5 秒押しによるマニュアル・モードへの切り替えのみだが,頻繁に行う操作だとは思えない.
  • web 管理画面では,ログインしなくてもステータスがわかると便利 (3G 電波状況,転送バイト数,電池残).現状ログインしないと何も見えない.
  • 本体の EL ディスプレイで,通信状況がわかると便利.通信は始まっているのでブラウザやメーラの表示が更新されるのを待てば良いのか,詰まっているので電源オン・オフすべきかがわかる.
  • 本体の EL ディスプレイで転送バイト数がわかると便利.従量制料金プランを使っているので.

見た目のデザインは綺麗だけれど,UI の作り込みは甘いですね.

2 年経ったイー・モバイル - Pocket WiFi の入手

EMOBILE Pocket WiFi (D25HW) をキャンペーンで入手するとお得だというお話.

「ベーシックにねん得割」,初期費用 1 円のキャンペーンはお得

iPod touch 用に Pocket WiFi が欲しいのである.
データカード D11LC + モバイルルータ CMR-250 で,WiFi 環境を持ち歩いているというのが,現状の外出時ネット環境.Pocket WiFi があれば,これらを一体化&小型化できる.

入手方法として有力なのは二つ (以下 D11LC を 1 回線めと呼ぶ).

(1) 機種変更 (2) 2 回線
契約種別 にねん(M) 年とく割 2+ベーシックにねん得割
料金プラン バリューデータ バリューデータ+スーパーライトデータ
端末費用 1 39,580
手続費用 なし 新規契約 2,835
月額費用 2,980 2,860 (2,580 + 280)
キャンペーン 買増翌月無料 (-2,980) 端末 1 円 (-39,579) 商品券 (-3,000)
2 年間の総費用 68,541 68,476
新月 2 年後 1 年後 (年とく割2)
解除料 1,400 x 残月数 6,300 + 280 x 残月数

ここで,以下を前提としている.

  • 1 回線めの契約は現在利用中の「バリューデータプラン」を継続すること
  • ADSL 無期限セット割」が継続できること
  • 「ベーシックにねん得割」で端末初期費用 1 円のキャンペーンが行われていること
  • 新規契約で商品券 3,000 円付与のキャンペーンが行われていること
    • 例えば,イー・モバイル八重洲では 8 月末まで行われていた.機種変更が新規契約扱になるかは未確認なので (1) には未計上
  • (2) を解約するとき,1 回線めのみ解約し,2 回線めは最低料金 280 円を残月数払い続けること (解除料 9,975 円より安い)

素直なのは (1) なのだけれど,(2) がキャンペーンにより魅力的になっている.
総支払額はほとんど同じなのだが,更新月が 2 年後でなく 1 年後に来ること,最初の解除料が安いことからリスクが低い*1

という検討の結果,(2) で Pocket WiFi を購入.

補足

(2) がお得になるかどうかは,『「ベーシックにねん得割」で端末初期費用 1 円のキャンペーン』をやっているどうかにかかっている.このキャンペーンは 7 月 19-21 日,8 月 29-31 日に行われていた.9 月も月末にやるかもしれないと思ったので,このような文章を書いている次第 (追記 2010/09/26: 結局やっていない模様).

通信量が多く,データプランで元をとっている人,ADSL 無期限セット割対象でない人は,あえて 2 回線持ちをする必要はなく,『「ベーシックにねん得割」で端末初期費用 1 円のキャンペーン』で,データプランを契約し,「新世代 WiFi キャンペーン」で 1 年間 3,980 円を享受したほうがお得.上記検討はあくまで「バリューデータプラン」で充分なので「新世代 WiFi キャンペーン」の対象でなく,「ADSL 無期限セット割」を使いつづけたいので「にねん得割」が使えない人に向けたものである.

MVNO 経由だともっと安くできることがあることは承知しているが (D25HW 同等品であるソフトバンク C01HW を新規即解約,株主優待券でキャッシュバックもらうなど),以下の理由によりイー・モバイル直接の契約としている.

  • 個人情報を渡す先を増やしたくないこと
  • 手数料を中抜きする人たちをできるだけ減らし,サービス提供者にできるだけ多くのお金を渡したいこと

「ベーシックにねん得割」の回線を寝かせても,イー・モバイルは回線単位では損かもしれないが,個人単位では儲けているはずなのでまあフェアだろうと思っている.回線数維持に貢献もしているし.

(追記 2010/10/04: 最新状況を反映して「Pocket WiFi - にねん M か にねん S か?」というエントリを書きました.)

*1:解除料は,残り 6 ヶ月を切ると (1) の方が安い

2 年経ったイー・モバイル - 解約?継続?

イー・モバイル (EMOBILE) のデータ・カード D11LC (新にねん) を使って 2 年経ったので,どうしたかの記録です.

イー・モバイルを解約するとき

2008 年 7 月契約の場合,新にねん更新月は 2010 年 8 月.2008 年 8 月が 1 ヶ月目で,2010 年 7 月末で満了.

  • 解約解除料を払わずに解約したい場合, 8 月中に解約する
    • 8 月に使った分の料金は払う必要がある
解約するときの手続き

解約手続きは,わざと面倒にしてあるようだ (当然だが).いくつか方法があって,

継続するとき

2008 年 7 月に契約した「新にねん」は,8 月から以下の契約に自動移行する*1

  • ベーシック年とく割 (縛り 1 年, 契約解除料 3,150 円)

ベーシックとは,端末の縛りがなく,割引料金プランの縛りがある契約.

以下の料金プランも選べる (料金プランは翌月から適用なので,8 月から適用したければ 7 月中に申し込んでおく).

  • ベーシック (縛りなし, 契約解除料なし, 月々 1,000 円高)
  • ベーシック年とく割2 (縛り 1 年, 契約解除料 6,300 円, 月々 400 円安)

ここで月々の差額とは,データプラン+年とく割との差額.

以下の契約も,条件があえば選べる.

  • ベーシックにねん得割 (縛り 2 年, 契約解除料 9,975 円, 月々 700 円安)

ただし,以下の制約がある.

  • スーパーライトデータプランかデータプランのみ.バリューデータプラン,ギガデータプランが選べない.
  • データプランの場合,ADSL 無期限セット割がつけられない (全く使わない月が無料だからだと思う,無料で ADSL 使われたらたまらない).

どの料金プランにするかは,使いつづける可能性で選べば良いと思う.

自動移行もしくは 7 月中に移行する料金プランを予約した場合,新しい料金プランの契約日は 8 月 1 日になり,縛り期間は 1〜2 年後の7 月末,更新月は 8 月となる.更新月の解約には契約解除料は不要だが,更新月以外での解約は上記契約解除料が徴収される.

補足

契約解除料だけでなく,満了後の基本料金日割も払いたくないのでピンポイントでこの日に解約したい,というときは有人カウンタに行った方がよい (事前に,そこで解約手続きができることを確認することをお勧めしたい).

追加料金を払わずに解約するには,前もって解約のための書類を取り寄せておき,チップを利用できないように切っておき,解約書類一式にチップを同封して契約満了日の翌日ぴったりにイーモバのセンターに届くように送付しなければならないらしい.
難易度の高いイーモバイルの解約方法 (おぼへがき)

解約するというと,にねん得割に変更で 3 ヶ月無料のオファーがあることがあるようだ (私のところにはなかった.ADSL 無期限セット割を使っているから).

イーモバイルを解約しようと思って、解約申し込み書を電話で依頼したら、「にねん得割大感謝特別キャンペーン」のチラシが入って送られてきました。見てみると、、、、「4ヶ月目以降 ご利用のない場合 0円」
あそびごころ研究所: イーモバイルのにねん得割大感謝特別キャンペーン

*1:自動移行先は新規契約時の書類で各自確認のこと.最近は方針が変わり,「にねん得割」は継続されるし,2010 年 9 月 17 日から申し込める "B" がつくプランは「ベーシック年とく割2」に移行する.

DKMS によるカーネル更新への自動追従成功

RTL8111 用新ドライバ 8.018

RTL8111 用ドライバ自動更新の件,Linux カーネル 2.6.31-20, 21 への更新時も問題なく DKMS (Dynamic Kernel Module Support) のおかげで自動追従.ただし Realtek のドライバがバージョン 8.018 に更新されていたので以下のエントリの手順で更新.

DKMS 旧ドライバの削除

DKMS の登録状況を見る.

$ dkms status -m r8168 
r8168, 8.018.00, 2.6.31-21-server, x86_64: installed 
r8168, 8.016.00, 2.6.31-21-server, x86_64: built 
r8168, 8.016.00, 2.6.31-19-server, x86_64: installed 
r8168, 8.016.00, 2.6.31-20-server, x86_64: installed 

r8168 ドライバの旧バージョンが残っているので削除.残っていても実害はないが.--all オプションは,全カーネル・バージョンのドライバ削除を意味する.

$ sudo dkms remove -m r8168 -v 8.016.00 --all

最新カーネル向けの,最新ドライバのみになった.

$ dkms status -m r8168
r8168, 8.018.00, 2.6.31-21-server, x86_64: installed 

ここまでくれば,/usr/src/r8168-8.016.00 以下も消去してよい.

さて,Ubuntu 10.04 LTS へのアップグレードはどうしようか.

なぜ RTL8111D ドライバの自動判別に失敗するのか

Intel D510MO に搭載されている NIC, Realtek RTL8111D 用 Linux ドライバは,本来 r8168 を使うべきところ,自動判別では r8169 が使われてしまう.

その理由は,ドライバ r8169 に RTL8111D で使えると間違って書いてあるからだ,という話.

ドライバの alias が不正確

PnP の昔ではあるまいし,品種ごとにシリアル番号 (PCIバイス ID) が付与されているのに,ドライバを間違えるとはどういうことなのだろうか?

ドライバには,対応デバイスPCIバイス ID 一覧表が含まれている.r8168 に RTL8111D のデバイス ID が含まれているのは正しい.

$ modinfo r8168
filename:       /lib/modules/2.6.31-19-server/updates/dkms/r8168.ko
version:        8.016.00-NAPI
...
description:    RealTek RTL-8168 Gigabit Ethernet driver
...
alias:          pci:v000010ECd00008168sv*sd*bc*sc*i* <- これ

しかし r8169 は RTL8111D に対応していないのに,RTL8111D のデバイス ID がデバイス alias に含まれている.

$ modinfo r8169
filename:       /lib/modules/2.6.31-19-server/kernel/drivers/net/r8169.ko
version:        2.3LK-NAPI
...
description:    RealTek RTL-8169 Gigabit Ethernet driver
...
alias:          pci:v000010ECd00008169sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008168sv*sd*bc*sc*i* <- 重複
alias:          pci:v000010ECd00008167sv*sd*bc*sc*i*

さらに,一応は通信できてしまうので,問題が認識されない

間違って r8169 がロードされて,全然通信できないのなら問題がすぐ認識されるが,一応は使えてしまうので問題が認識されず,対処もされない.結果,微妙な問題が起きる,ということではないだろうか.

小さなファイルなら問題は無いが、大きなファイルになると、転送途中に必ずといって良いほど接続が途切れてしまう。
http://tokcs.com/blog/2010/01/10/server-lan/

3GB 程度のファイルをコピーしてみると、コピーが途中で止まってしまう現象が発生した。http://www.natzworks.com/digital/entries/2009/000222.html

ドライバ誤認識の理由は

RTL8111D の device ID が r8169 の device alias に間違って含まれているから.でもそれで一見使えてしまうのでなかなか直らない,というお話でした.

キーワード

  • D510, D510MO, BOXD510MO, Mount Olive
  • D945GCLF, D945GCLF2, D945GCLF2D, D945GSEJT
  • Ubuntu, Debian, Linux, リナックス
  • RTL8111, RTL8111B, RTL8111C, RTL8111CP, RTL8111D(L), RTL8111DP, RTL8111E
  • RTL8168, RTL8168B, RTL8168C, RTL8105E

カーネル・アップデート後も r8168 ドライバを使うには-2

カーネル・アップデート後も r8168 ドライバを使うには」の内容を書き直し.理由は以下のとおり.

  • きちんと DKMS を使ってインストールできていなかった.kernel 2.6.31-19 リリースで表面化.
  • ドライバの新バージョン 8.016.00 が出た

DKMS (Dynamic Kernel Module Support)

カーネルのアップデートがあると,新しいドライバ・ディレクトリには r8168 ドライバがないので,また手動でコンパイル&インストールし直してやる必要があるという問題が残る.

DKMS (Dynamic Kernel Module Support) を使えば,カーネルのバージョンアップ時にドライバを自動コンパイル & インストールしてくれる.

まずは DKMS をインストール.

apt-get install dkms

Realtek の web (http://www.realtek.com/) からダウンロードした "LINUX driver for kernel 2.6.x and 2.4.x (Support x86 and x64) 8.016.00, 2010/1/19," r8168-8.016.00.tar.bz2 を展開し,src ディレクトリ以下を "/usr/src/パッケージ名-バージョン名" (今回は /usr/src/r8168-8.016.00) に移動.

$ tar xvf r8168-8.016.00.tar.bz2
$ mv r8168-8.016.00/src /usr/src/r8168-8.016.00

/usr/src/r8168-8.016.00/Makefile を編集.src 以下をトップディレクトリとしたため.

#       $(MAKE) -C $(KDIR) SUBDIRS=$(PWD)/src modules
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

同じディレクトリに設定ファイル dkms.conf を用意する.http://dag.wieers.com/rpm/packages/dkms-r8168/dkms-r8168.spec を参考にすると,こんな内容でよいのではないだろうか.

PACKAGE_NAME="r8168"
PACKAGE_VERSION="8.016.00"
MAKE[0]="make KVER=${kernelver}"
CLEAN[0]="make clean"
BUILT_MODULE_NAME[0]="r8168"
DEST_MODULE_LOCATION[0]="/kernel/drivers/net"
AUTOINSTALL="YES"

ソースと設定ファイルを登録,コンパイル & インストールを行う.

dkms add -m r8168 -v 8.016.00
dkms build -m r8168 -v 8.016.00
dkms install -m r8168 -v 8.016.00

リブートすると,

* Running DKMS auto installation service for kernel 2.6.31-19-server
*   r8168 (8.016.00)...
  ... done

今度は成功した.dmesg の関連部分は以下のとおり.

r8168 Gigabit Ethernet driver 8.016.00-NAPI loaded
r8168 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
r8168 0000:01:00.0: setting latency timer to 64
  alloc irq_desc for 29 on node 0
  alloc kstat_irqs on node 0
r8168 0000:01:00.0: irq 29 for MSI/MSI-X
r8168: This product is covered by one or more of the following patents: US5,307,459, US5,434,872, US5,732,094, US6,570,884, US6,115,776, and US6,327,625.
eth0: Identified chip type is 'RTL8168D/8111D'.
eth0: RTL8168B/8111B at 0xffffc90000340000, 00:27:0e:xx:xx:xx, IRQ 29
r8168  Copyright (C) 2010  Realtek NIC software team <nicfae@realtek.com> 
This program comes with ABSOLUTELY NO WARRANTY; for details, please see <http://www.gnu.org/licenses/>. 
This is free software, and you are welcome to redistribute it under certain conditions; see <http://www.gnu.org../licenses/>. 
...
r8168: eth0: link down
ADDRCONF(NETDEV_UP): eth0: link is not ready
...
r8168: eth0: link up
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

DKMS のトラブル時は

ログが /var/log/dkms 以下のドライバ名,ドライバとカーネルのバージョン名に対応したディレクトリにあるので,参考になる (/var/lib/dkms/r8168/8.016.00/2.6.31-19-server/x86_64/log/make.log など).
前回の問題は,DKMS が /usr/src/r8168-8.016.00 直下に r8168.ko が生成されることを想定しているのに,サブディレクトリ src 以下に生成していたためだと思われる.手作業で /lib/modules 以下にコピーした r8168.ko を認識していたようで気づかなかった.

そもそもなぜ自動判別に失敗するのか

なぜ RTL8111D ドライバの自動判別に失敗するのかに続く.

キーワード

  • D510, D510MO, BOXD510MO, Mount Olive
  • D945GCLF, D945GCLF2, D945GCLF2D, D945GSEJT
  • Ubuntu, Debian, Linux, リナックス
  • RTL8111, RTL8111B, RTL8111C, RTL8111CP, RTL8111D(L), RTL8111DP, RTL8111E
  • RTL8168, RTL8168B, RTL8168C, RTL8105E

カーネル・アップデート後も r8168 ドライバを使うには

(2010.02.07 追記) 以下の内容は不正確です.更新版「カーネル・アップデート後も r8168 ドライバを使うには-2」をごらんください.


RTL8111D 用ドライバをインストールするには (2) の続き.

カーネル・アップデート後も r8168 ドライバを使うには

これで当面は問題がないのだけれど,カーネルのアップデートがあると,新しいドライバ・ディレクトリには r8168 ドライバがないので,また手動でコンパイル&インストールし直してやる必要があるという問題が残る.

DKMS (Dynamic Kernel Module Support) を使えば,カーネルのバージョンアップ時にドライバを自動コンパイル & インストールしてくれる.

まずは DKMS をインストール.

apt-get install dkms

リブートすると,

* Running DKMS auto installation service for kernel 2.6.31-17-server
*   r8168 (8.015.00)...
  ... fail!

ありゃ,fail とか言われてしまったが,問題なく使える.

そもそもなぜ自動判別に失敗するのか

に続く