少し前に、スマフォ(AQUOS sense lite)の電池が減るのが速くなった気がして※気になったのだが、古くなって電池が劣化して来たためではないかと思い、また、実際に測定するとバラつきがあって以前の値になったこともあるので、その時は問題ないと考えた。が、実はそうではなく、本当の原因は分からないものの、思わぬことで電池消費率(= 消費電力)が増えることが分かり、意外な対処で解消できた(と思われる)話。

※アイドル状態で大体1%/h(→ 1日で1/4くらい減る)で、以前は もう少し小さかった記憶がある。

発端は、ニュース記事で、あるMVNOがIPv4(以下、v4)のグローバルアドレスを割り当てるのを止めてプライベートに できるようにするというのを見たことだ。今時、スマフォにグローバルアドレスを割り当てること自体が時代錯誤(どうして そんなに確保してるんだ?!)だが、それを(客の要望で)プライベートにするのもおかしかった。わざわざそんなことをする理由は、グローバルアドレスが割り当たっているとスマフォの消費電力が増大するという説※があるからだ。

※詳しくは知らないが、グローバルアドレスの場合、ポートスキャンなどで頻繁に外からIPパケットが来て、そのたびに端末が動いて電力を消費する(と推測されている)ためのようだ。その説が本当かは分からないが、いかにも腰が重いプロバイダがわざわざ対処するくらいだから、正しいのだろう。

僕のプロバイダはプライベートアドレスだから、それ自体は僕には関係なかったが、ふと、IPv6(以下、v6)が気になった。IPv6は全部グローバルアドレスのようなものなので、上のv4と同様なことが起こるのではないかと思った。

それでスマフォのモバイル(LTE)設定を調べてみたら、一時はv6対応にしていたものの、その後気が変わったらしくv4だけになっていた。それで、LTEのv6に関しては問題なさそうなことが分かった。

が、LTEでなくWi-Fi(光)でも同様な問題がありそうな気がした。スマフォのOS(Android)はv6対応で、ルータにはファイアウォール(仕様は不明)はあるものの、それを通過したパケットには反応する。v6のアドレスは幅広いのでポートスキャンのパケットが来る可能性は低そうだが、ルータやプロバイダなどの管理用パケット(そういうものがあるのかは不明だし、頻度も不明)やPCからのパケット(ブロードキャスト)は届きそうだ。

そこで、スマフォのLTEだけでなくWi-Fiもv4だけにして試したくなった。

ただ、AndroidのWi-Fiだけv6を停めることはできず、全体のv6対応を停められるかはメーカー依存のようで、僕のは不可能だった。そうするとルータで切ることになるが、僕のルータ(I/Oデータ WN-SX300GR。以下、I/Oルータ)は普通の家庭用のものなので、LANポートごとどころか全体でもv6のon/offができない。※ もちろん、LANポートごとのフィルタリングもできない。プロバイダに頼んでIPoEからPPPoEに切り替える手はあるが、時間が掛かるうえに全部がv4になるため、PCまで遅くなってしまう。

※そもそもIPoEモードで使っているので、普通は そこでv6を停める意味がない。

そこで、もう一台、v6非対応のルータを使うことを思い付いた。手持ちの古いルータはv6非対応なので、元のルータにその古いルータを繋ぎ、古いルータのWi-Fiにスマフォを繋げばv6がカットされる はずだ。

実際には、古いルータでなく、消費電力が小さいため、死蔵していたコンパクトWi-Fiルータ(TP-Link TL-WR802N, ルータモード。以下、TP-Linkルータ)を使った。v6対応だが、非対応にできるので使えた。

以下のような構成・接続である。

WAN → [I/Oルータ] → [TP-Linkルータ (v6 off)] Wi-Fi → [スマフォ (v4)]
(光, IPoE)              +→ [PC (v4/v6)]

主な設定

    • I/Oルータ: スマフォが誤って接続することがないように、Wi-Fiをoffにした。
    • TP-Linkルータ
      • WAN(I/Oルータ)側: デフォルトルータとDNSサーバをI/Oルータに設定した。
      • LAN(Wi-Fi)側
        • DHCPサーバ設定(スマフォへ): デフォルトルータをTP-Linkルータに、DNSサーバをI/Oルータに
    • PC: スマフォへのルーティング設定(スマフォのセグメントへのルータをTP-Linkルータに)を追加した。

この構成は、良く駄目だと言われている「2重ルータ状態」だが、意外にメリットがあるのかも知れない。僕はスマフォの通信速度は全く求めていないから、これで全く問題はない。

試したら、確かにスマフォの消費電力が減った。大体0.2%/h減った。: それまでは0.8-1%/h辺りだったのが0.60-0.75%/h辺りになり、以前のような減り方になった。

次に、ルータとスマフォのWi-Fi接続の問題の可能性も考え、TP-Linkのルータをブリッジモードにして試したところ、消費電力は減らなかった。ブリッジモードはv6のパケットも通すので、予想通り、v6が原因の可能性がありそうだ。

とは言え、v6が原因でスマフォの消費電力が増えるというのは どうにも腑に落ちない。上述のv6パケットが(頻繁に)来る以外に、そもそもAndroidのv6の処理が重くて負荷が高いのかも知れない。スマフォが古いのでCPUパワーが追いつかないのか。

他に考え付くのは、スマフォとルータとの「相性」である。実際、TP-Linkルータに接続すれば消費電力は増大しないが、それが何によるのかは分からない。

I/Oルータのログは簡素なので特に何も出て来ず、調べようがない。

そういえば、I/Oルータに繋いでいる場合、(別の稿に書いた、)PCからスマフォの画像を自動取得する処理でスマフォに繋がらない(スマフォが見付からない)ことがあるが、TP-Linkルータでは ほとんど起らないので、何かあるのかも知れない。

例えば、しばらく通信がないと、I/OルータあるいはスマフォがWi-Fiの接続(いろいろな層があるとして、比較的下のほうではないか)を切ってしまうが、なぜかTP-Linkルータでは切られないということがあるのかと思っている。

その他の要因として、上記のスマフォの画像を自動取得する処理の負荷が考えられるが、PCをスリープさせていて自動取得が行われない時でも消費電力は減らないので、主因ではなさそうだ。

あと、問題とは直接関係ないが、スマフォの電池残量表示から消費電力を計算すると、たまに予想外に値が大きく・小さくなることがある。それは残量の誤差(正確には表示分解能)による場合が多そうだ。というのは、Androidが表示する電池残量は1%単位なので、実際の残量は 表示値から表示値+1%未満※まで(表示値-1%未満から表示値や、表示値±0.5%も ありうる)の間の「どこか」であるためだ。

※0.5%と考えると、比較的うまく行くのかも知れない。

1%単位の表示値から正確な残量を求めるには、連続して残量変化を調べて残量曲線の細かい区間の傾きを求めれば、中間の時刻での残量を計算することができそう(直線補間)だが、手では困難だ。

あるいは、残量が変化した正確な時刻と残量を記録し(そういうアプリは ある。例: My Battery Monitor)、(任意の時刻の残量でなく)それを元に消費電力を求めるのが良さそうだ(が、今となっては遅い。→ ちゃんと確認したいので、上記のMy Battery Monitorを再度入れた)。

実際、数時間(3時間など)では誤差が大きくなることがあり、10時間くらい見ないと確からしい値は得られなかった。

例: 残量差から消費電力を計算する時、開始残量表示が90%、3時間後の終了残量表示が87%の場合

普通に計算すると、(90-87)/3= 1.0%/h となる。

一方、残量の表示分解能の影響を考慮すると、終了残量(開始残量も同様だが、簡単のため、ここでは終了だけを考える)は 87-88%の間 と考えられる。それを仮に87.5%とすれば、(90-87.5)/3= 0.83%/h となり、上の値より17%も小さい。

もし、開始残量もズレていたら、更に差が大きくなる場合がある。

 

という訳で、スマフォの電池は劣化してなさそうだし消費電力は減らせた(元に戻せた)ものの、原因が分からず もやもやするが、ひとまずは良しとしたい。

でも、時間が経つと別な要因で消費電力が増大して「あれ? また?」とか思いそうだ・・・

あと、実は最後に書いた、スマフォの電池残量の表示分解能の影響だけの問題で、実は、「何も問題はなく、だから解決すら していなかった」(= 全部 夢か幻、プラシボ効果。「は? 何寝ぼけてんだ!」w)というオチもありそうだが、何度も測定・確認したので、そうではないことを願っている。

と書いたら、本当に消費電力が激増してしまった。必要なくなったアプリをアンインストールしたのが関係しているのかと思って再起動して様子を見ているが、スマフォへのssh接続も遅くなってしまった。相変わらず謎は多い。。。 (10:41)

Androidの電池残量のグラフ(↓)を見てみたら、消費電力が激増したところを過ぎたら ほぼ平坦になって、三角形の窪みとか斜面の宅地のようになっているので、「謎の理由」で残量の測定がうまく行かなかったようだ。最終的に辻褄が合うのも不思議だ。

もしかすると、その辺りでアンインストールしたアプリ(Gsam Battery Monitor)が電池や消費電力関係のものだったからだろうか?

Androidの電池残量のグラフ: 「時間前」の辺りで一時的に残量が激減したが、なぜか元に戻った。

また、ssh接続などが遅いのが頻発していた件は直らない。外出して戻ったら直ったと思ったが、単に充電中のためだった。Androidやルータの設定が どこかおかしいのかも知れない。(Androidがやっている)LTEとWi-Fiの切り替え・併用は難しそうだし、謎は多い。 (18:11, 19:24)

 

PS. この問題を何とかする過程で、公開予定のPCからスマフォの画像を自動取得するソフトも結構改良できたのが良かった。それだけでも価値があった^^

  •  0
  •  0

コメントを書く / Write a comment

名前 / Name    

メール / Mail 

URL