2016年10月16日日曜日

Android 6.0 Marshmallow の SD カード書込みを改善する

●やりたいこと
Android 6.0 Marshmallow で
1. どんなアプリでも外部 SD カード (以下,単に SD カード) に書き込めるようにする
2. 内蔵ストレージのデータを自分で選択して SD カードに逃がす

●やったことを一言で言うと
・内蔵ストレージのパスに SD カードを mount --rbind した (要 root)
アプリから見えるパスでやってもダメなので,実体のパスでやるのがミソ.

●動機
Android 4.4 KitKat では,platform.xml を書き換えることで,どんなアプリでも SD カードに書き込めるようにできたが,Marshmallow ではその方法が使えなくなった.ちゃんとしたアプリならきちんと SD カードの書込み権限を Get するので問題ないんだけど,例えば Google フォトなんかは SD カードライト権限が無いらしく,Web 上で削除した写真が SD カード上にあると,連動して端末の写真を削除してくれない.

代わりに Marshmallow では「SD カードの内部ストレージ化」なる機能が追加されたが,これがまた中途半端な機能で,内部ストレージがスパンボリュームのように拡張されるのかと思ったらそうではなく,
・SD カードに置かれるファイルは Android が決めるので,自分で選べない
・SD カードが暗号化されるので,SD カードを取り出しても PC 等で読めない
と,自分にとっては使い物にならない.

●やったこと詳細
以下の作業は全部 root 状態の adb shell で行う.(行頭が # が入力コマンド)
また Redmi note 3 pro, Cyanogenmod 13 でやったので,いろいと機種依存してるかも.

1. SD カードの実体のマウントポイントを調べる
SD カードのパス名に 86FC-619D とかって 16進数が入っていると思うけど,その名前でマウントされているパスのうち,fuse を除いたものが実体.
# mount | grep 86FC-619D | grep -v fuse
/dev/block/vold/public:179_65 on /mnt/media_rw/86FC-619D type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)

2. 内部ストレージのパスが SD カードを指すようにし,アプリからは内部ストレージに書き込むことで,SD カードに書き込むようにする.
内部ストレージの実体は /data/media/0 でファイルシステムは ext4 なので,シンボリックリンクが使えるかと思ったが,アプリから見える内部ストレージのパスは,シンボリックリンクを解釈しないらしく,要はシンボリックリンクが使えない.

なので,mount --rbind を使う.
以下は内部ストレージの DCIM (写真 dir) を SD カードにするコマンド例.
# mount --rbind /mnt/media_rw/86FC-619D/DCIM /data/media/0/DCIM
こうすることによって,内部ストレージの任意のフォルダを SD カードにすり替えることができる.

3. スマフォ起動時に上記のマウントを自動的に行う
あとは,上記のことをスクリプト化して端末起動時に実行すれば良い.
自分は↓のようにして,SD カードと内蔵ストレージの両方に同じ dir がある場合 (ただし Android/ は除く),SD カードのパスを内蔵ストレージにマウントするようにした.
#!/system/bin/sh

sdpath=/mnt/media_rw/86FC-619D
storage=/data/media/0
export PATH=/system/xbin:$PATH

cd $sdpath
for dir in *; do
    if [ $dir != Android ] && [ -d $dir ] && [ -d $storage/$dir ]; then
        mount --rbind $sdpath/$dir $storage/$dir
    fi
done

起動時にスクリプトを実行する方法はこれとかが正統な方法だとは思うけど,自分はむやみに /system 以下を書き換えるのが嫌だったので,自分は Automate でフローを組んだ.
これに限らず,起動時にスクリプトを実行するアプリは色々とあると思うんでお好みで.

以上の方法を応用すれば,通常ライト権限がない /system 以下とかも本体ストレージを変更することなく書き換え放題できることになる.
ぱっと思いつくのは,カメラシャッター音の *.ogg を消してしまうとかが簡単にできる.

2016年9月25日日曜日

エンジンチェックランプ点灯

高速乗っているときにメーターに見慣れないランプが点灯したと思ったら,エンジンチェックランプだった(;´д⊂)
その後水温とかエンジンの調子とか気にしながら走り続けたけど (念のため 90km/h の超安全運転でw),少なくとも車内からはなんの異変も感じなかった.

で,今日 OBD-II ドングルでエラーコードを読み出そうとしたら,エンジンチェックランプ消えてたw 自分はバッテリー上がりを防止するためにバッテリーカットオフスイッチを切っているのだけど,それでエラーコードも消えてしまったかなぁ.


でも普通エラーコードは不揮発メモリに記録するよね,と思って念のため Android の Torque Lite で読み出してみたら,なんかエラーコードが残ってた.

P1400, P1402 はラジエターファンリレー (参考),P1460 はサービスマニュアルによるとエアコンのリレーらしい.

クーラーは使ってないから知らないけどw ラジエターファンは動いているかどうか気にしてなかったので,今度気をつけてみよう.
まぁ,一気にリレー関係が死ぬとは考えにくいから,誤報か,もしくはもっと重大な問題が起こってこういう Warning が起こっているのかwww

あと,エラーコードの意味を知るために色々ググってみたけど,結構サービスマニュアルと違うことが書いてあるページがいっぱいあったので,基本的にサービスマニュアルの情報以外は信用しないほうがいいかも.

2016年9月19日月曜日

オートマ大好き

MT 教原理主義過激派である自分が改宗したわけではなく.

自分は PC ではあらゆる定型処理をスクリプト化してオートメーション化するのが大好きだけど,そう言えば Android ではそういうことをやってないないぁ,ということで on{X} を使ってみた.
IFTTT とか Tasker とか定番のやつじゃなくて on{X} を選んだ理由は,JavaScript を PC の Web ブラウザ上で書いて,Android で実行した log を Web ブラウザ上で確認できるといったように,開発を PC 上で行えるところ.こういう何かを作る作業は Android で完結するのはやりにくいし.

というわけで手始めに
・家に近づいたらサイレントモード解除,WiFi on,家から離れたらその逆
・家の WiFi 接続したら 3G off (機内モード),WiFi 切れたら 3G on
をやってみた.まぁこれは一般のご家庭ではどこもやってるような基本中の基本なのでベースとなるサンプルもあるのだけど,残念ながら機内モード on/off の機能が on{X} に無い.

うーんと思って調べてみたら,SetOn{X} なるアプリを on{X} から呼び出せば機内モードを制御できるらしいんだけど,やってみたら強制終了で落ちた(;´д⊂)そもそも機内モードは 4.2 あたりから root を取得しないとアプリから制御できないみたいだけど,SetOn{X} は root 取得する様子もないし,何年も前から開発も止まっているようだし.

なので機内モードを on{X} 経由で制御するだけのアプリを作ってしまった.
いろんな設定が自動化されるのでチョー便利ヽ(´ー`)ノ

2016年9月17日土曜日

Redmi NOTE 3 Pro FOMA プラスエリア化

普段家⇔会社の行動圏内では問題ないんだけど,ドライブとかで少し山の方に行くととたんに電波が途絶えるので (Google マップが使えなくなるのがきつい),こちらを参考に,Redmi Note 3 Pro を FOMA プラスエリア化する夢を見たんだ.

ほとんど上のページの手順通りだけど,若干手順が違ったのと DFS Tool のバージョンが Setup_DFS_Studio_16.08.25.0.zip に上がって GUI が変わってしまったようなので,そこら辺の変更点を書いておく.

(1) まず setprop sys.usb.config diag,adb を入力するとこまでは上のページの手順通り.ここで再起動する旨が書いてあるが,うちの場合,再起動すると DIAG モードが解除されてしまうので,再起動せずに作業を続行する.
うちの場合,この状態でも「Qualcomm HS-USB Diagnostics 9091」を認識させることができた.
(2) 「Qualcomm HS-USB Diagnostics 9091」を認識できたら Qualcomm Tool を W クリック
(3) Account manager は x で閉じるだけで ok
(4) Qualcomm HS-USB ... を W クリック

(5) Band タブをクリック
(6) CDMA/GSM/HSPDA か LTE 設定したい方をクリック
(7) CDMA/GSM/HSPDA の場合は RF BC Config を選択
(8) Read をクリック,何故かチェックボックス状態が反映されないのでもう一度押す
(9) 有効・無効にしたいバンドのチェック状態を設定
(10) Write をクリック
(11) CDMA/GSM/HSPDA の場合は,Band Preferred を選択して (8)~(10) を実行
(12) 30秒待ってから端末再起動

なお,設定後に「*#*#4636#*#*」でテストモードに入ったあとの「GSM/UMTSバンドの設定」では何も選んではいけない.なぜなら,こちらによると,「GSM/UMTSバンドの設定」は DFS Tool で設定した「Band Preferred」を上書きしてしまうかららしい.

実際に山間部で電波を拾えるようになるのかどうかはやってないからわからんけど,まぁ所詮夢の話しだしね.

2016年9月3日土曜日

Zenfone \(^o^)/オワタ

XIAOMI Redmi Note 3 Pro 開封の儀っつうことで.

GearBest の DHL 発送ではビニール袋に入っていたが,更にその中に段ボール箱が入っていた.国際便だと扱いが雑なのか,化粧箱の角が凹んでいたりすることが多いけど,この配送は好感が持てる.

内容物.海外で買った端末で充電器が日本仕様になってたのは初めてだわ.対して,ヘッドフォンが付属していなかったのは微妙に残念.

Zenfone5 との比較.大きさ・重さは Zenfone5 とほぼ変わらないのに,画面が 5→5.5inch に増えたのが非常に嬉しい.pixel 数が 1280x720→1920x1080 に増えたのは,なんとなく綺麗になったかな? くらいで,はっきり言ってわからんレベルだと思う.

裏.Zenfone5 はメタリックな塗装のプラスチックで,「2年前のこの価格帯にしては」質感が高いけど,Redmi はメタルボディでその薄さも相まって,所有することの満足度が高い.


で,3日ほど使ってみた感想:
◎メタルボディで質感は非常に高い,薄さも 8.65mm と薄めでスタイリッシュ.
◎CPU も普通に速いため超サクサク (Nexus6P と同じくらいらしい)
◎バッテリー 4000mAh で自分の使い方だと 3日持つ (Zenfone5 は1.5日)
◎Zenfone5 と同じ筐体サイズなのに画面が広くなった
◎指紋認証が超便利
◎これだけのスペックでありながらたった 1.6万円とか頭おかしいでしょ
◎Cyanogenmod で公式サポートされている.数ある中華スマフォの中でこれを選んだ最大の理由がこれ.
△唯一の難点が,MIUI というカスタマイズされた Android が搭載されていることだけど,これはどうせ後で Cyanogenmod 入れるので関係なし.

ということで,今のところ不満らしい不満はない.

Zenfone5 はライトユーザがストレスなく使えるギリギリのラインを絶妙に攻めていて,良くも悪くも上手にコストダウンを図っている事がわかる (例えばベゼルの幅が広めとか,思ったほど薄くないとか,使い勝手に影響しない部分がコストカットされている) 端末だった.
対して Redmi は質感や性能が 1年落ちのハイエンド端末並なので,今の価格帯が同じ Zenfone GO あたりは全く勝負にならないと思う.
Zenfone MAX も Lenovo Vibe P1 に完全に負けていたし,Zenfone の時代はもう終わった感じだなぁ.

2016年8月31日水曜日

GearBest 買い物記 (到着編)

Zenfone Max Pro はいつ来るかわからんかったので,注文を変更することにした.もはやアジアンタイヤみたいな感覚で,もうメーカーの拘りとかなくなってきたw ので,

・画面 5~5.5inch,できれば Full HD
・2GB RAM / 16GB Flash 以上
・できれば指紋認証がほしい
・バッテリーは今の Zenfone5 より持てばいい
・3G/LTE でバンド 1をサポート
・レビューサイトで酷評されていない

を条件にめぼしいスマフォを 3つくらい挙げて「これ在庫ある?」ってサポートに聞いて,注文を変更した.で,選んだのは XIAOMI Redmi Note 3 Pro
総額 本体$155.72 + 送料$6.65 + PayPal 手数料 = ¥17,121 也.
ホントは +$20 出して 3GB RAM / 32GB Flash 版が欲しかったけど在庫なかったのでしゃーない.

で,注文変更から 7日くらいはかかるだろうと思ってたら,なんと 4日で来た.
到着までのタイムラインはこんな感じ.

8/17 Zenfone 注文
↓入荷待ちで待ちぼうけ
8/28 Redmi に注文変更
こっから下は DHL のログなんだけど
2016-8-30 18:52 Shipment picked up
2016-8-30 22:04 Arrived at Sort Facility SHENZHEN - CHINA, PEOPLES REPUBLIC
2016-8-30 22:25 Departed Facility in SHENZHEN - CHINA, PEOPLES REPUBLIC
2016-8-31 00:33 Arrived at Sort Facility HONG KONG - HONG KONG
2016-8-31 01:58 Departed Facility in HONG KONG - HONG KONG
2016-8-31 08:28 Arrived at Sort Facility NAGOYA CBD - JAPAN
2016-8-31 09:32 Departed Facility in NAGOYA CBD - JAPAN
2016-8-31 11:26 Arrived at Delivery Facility in CHUBU NAGOYA - JAPAN
2016-8-31 12:01 With delivery courier
2016-8-31 12:32 配達完了

発送から 24時間かからずに配達完了した.仕事はえーよ.

2016年8月28日日曜日

GearBest 買い物記 (発注編)

GearBest に発注した Zenfone MAX Pro,1週間経っても発送されないので,サポートに問い合わせてみた.

自分 (以下,自):「注文から 1週間経っても発送されないけどどうなってんの?」
GearBest (以下,G):「Zenfone MAX Pro は大人気で在庫を切らしているんだ.キミの注文した商品は 1~2週間で入荷される見込みだよ!気長に待つか,注文を変えるか,もしくはキャンセルしたらショップ内通貨で返金するよ!」

え,在庫なかったのね.
日本の感覚だと在庫がない商品はそもそも購入できないようになってるけど,中国だとそうでもないのね.確かに他のスマフォだと "In stock" って書いてあるのもある.
まぁこれは在庫がない商品を発注した自分のミスで,ここは店を責めるべきではないだろう.

でいろいろ他の商品を見てたら,白の Zenfone MAX Pro は "In stock" ってなっているのに気づいた (発注したのは黒).

自:「白は在庫あるじゃん.黒から白に注文変更したいんだけど」
G:「白も黒も在庫ないんだ!キミの注文した商品は 1~2週間で入荷される見込みだよ!気長に待つか,注文変えるか,(以下略)」

工工エエェェェェェェェ(゚Д゚)ェェェェェエエエ工工
In stock って書いてあるやんwww あまりにも謎すぎるので素直に質問をぶつけてみた.

自:「じゃ "In stock" ってどういう意味なん? これで在庫がないんだったら,在庫の有無はどこで見分けたらいいの?」
G: 「キミの注文した商品は 1~2週間で入荷される見込みだよ!気長に待つか (以下略)」

あああ,もう話が通じないwwwww 返信もコピペ臭いしwwww
GearBest は詐欺サイトじゃないって自分は思ってるし,在庫がありゃさっさと送ってくれるとも思ってるけど,"In stock" の表記すら信用できず在庫の有無がわからないのは致命的だなぁ.

PayPal 経由でクレーム入れれば (ショップ内通貨ではない) 現金で返金されるのはわかってるので,発送されない事自体は心配していないし,事情がわかれば別に 1ヶ月くらいは待ってもいいけど,ただ今回は Zenfone5 が絶不調になってしまっているから,早く正常なスマフォを入手したいんだけどなぁ(;´д⊂)

2016年8月17日水曜日

夏だ! UMIだ!

Zenfone5 に lollipop を入れたら,定期的にフリーズ・再起動するようになった(;´д⊂)ROM をダウングレードしても,カスタム ROM を焼いても改善しないので,潔く見切りをつけて,次期スマフォの選定に入る.
# なんとなく modem のファームウェアが壊れた気がする

自分の中では Zenfone コスパ最強伝説が出来上がっているので,次は Zenfone Go かなぁと思ったけど,近い人がすでに持っているので断然却下www 次に目に入ったのが Zenfone MAX.バッテリーが 5000mAh と巨大なのでいろいろ便利かも.

で海外通販サイトを巡って相場を調べていたら,Zenfone コスパ最強伝説はとっくに終わっていたことに気付かされた.
例えば Lenovo Vibe P1 は Zenfone MAX の完全上位なのに値段はほぼ変わらず.惜しいことに対応バンドがことごとくドコモのバンドを外しているので日本で使うのは厳しいっぽい山奥とかでない限り大丈夫なのかも? ココらへんがよくわからない.

UMI Super 4G なんかは日本じゃ 4万くらいで売っててもおかしくないようなスペックなのに価格は ¥19k.これはマジで買おうかと思っていたが,ただ一点非常に残念なことに,カメラの発色が非常に悪い.自分はデジカメは捨ててスマフォで代用しているので,この発色の悪さは致命的.

他にも日本では聞いたことない中華メーカースマホも,品質・質感・コスパが非常に高くなってきていることが,レビュー書いている人の記事から読み取れた.それらのネックはやはり対応バンドで,そこさえちゃんと日本対応してくれたら,Zenfone ですら日本から駆逐されるんじゃなかろうか.5000mAh のスマホとか日本にはないから,上の Lenovo のやつとかバカ売れすると思うんだけどなぁ.

で,結局一周回って Zenfone MAX Pro になりましたとさ.

今回は GearBest という海外サイトを初めて利用してみた.ちゃんと届くかドキドキ(笑)

あと,なんで中華スマホは戻るボタン・メニューボタンの位置が逆なんだ?

2016年8月1日月曜日

k15stat のようなもの

後日追記: GitHub で公開しました
-----
AMD A8 を省電力化する前回の続き.

TurionPowerControl (tpc) を使って P-State コントロールをしようと思ったのだけど,HW アクセスと関係ない C++ の new とかでコケる(;´д⊂)そもそもおかしなクラスの使い方とかしてるし,ソースコードを見れば見るほど全部書き直したくなってくる衝動を抑えられなくなった.
というわけで K10stat の K15 版のようなものをイチから作ってしまいましたwww

普通は負荷に応じて P-State を切り替える制御にすると思うけど,今回は SwPStateLimit という,P-State の上限を決めるレジスタを触ることにした.こうすることにより,
・自作 P-State 制御と Qool'n' Quiet 制御が共存できる
・Qool'n' Quiet 制御のほうが CPU の負荷に対する反応が早いはず (予想) なので,自作制御が高クロック設定でも Qool'n' Quiet 制御が低クロックに設定したら,Qool'n' Quiet のほうが優先なので,より省電力なはず.

ちなみに AMD の BKDG に載っている SwPStateLimit のアドレスを示す D18F3x68 という文字列,一体何の資源のどこの番地か分からなくて小一時間悩んだが,これは PCI デバイス番号 0x18 ファンクション番号 0x3 レジスタアドレス 0x68 という意味らしい.

で,動画再生しながら自作 P-State 制御した時の CPU 周波数のグラフがこれ.
左が P-State 制御なし,右があり,で,効果は一目瞭然ヽ(´ー`)ノ
ワットチェッカーでも 10W くらい下がった.

2016年7月28日木曜日

デジタル車輪の再発明

AMD A8 を省電力化する前回の続き.

やはり省電力を突き詰めるには Qool'n' Quiet の機能じゃダメだ,ということで K10Stat のような自発的 PSTATE コントロールソフトを作ろうと思った.
で,レジスタ設定などを参考にしようと TurionPowerControl (tpc) のソースコードを眺めていたら,その機能はすでに入っているじゃないですか.

てことは,tpc を Kaveri (A8-7670K のアーキテクチャ名) 対応すればコレでいいんじゃね,と思った.
ここで大変参考になるのは kim さんの blog で,この方も自分と全く同じことをされたようで,何を修正すればいいかを事細かに記事にされているので,自分もそれをたどっていくだけでめでたく Kaveri 版完成ヽ(´ー`)ノ
てか周回遅れでしかも車輪の再発明している自分って一体… orz
上記 blog 見てもらえればわかるけど,主に直したのは VID 関係の bit 幅 7→8,コア数が半分になる問題修正,VisualStudio でコンパイルできるように構文修正したくらい.
てことで tpc -l の結果なんぞを.
d:\DDS\tpc\x64\Debug>tpc -l
TurionPowerControl 0.44-rc2 ((none))
Turion Power States Optimization and Control - by blackshard

Main processor is Family 15h (Kaveri) Processor
        Family: 0xf             Model: 0x8              Stepping: 0x1
        Extended Family: 0x15   Extended Model: 0x38
        Package Type: 0x1       BrandId: 0x0
Machine has 1 nodes
Processor has 4 cores
Processor has 8 p-states
Processor has 2 boost states

Power States table:
-- Node: 0 Core 0
core 0 pstate 0 (pb0) - En:1 VID:48 FID:23 DID:0.00 Freq:3900 VCore:1.2500
core 0 pstate 1 (pb1) - En:1 VID:56 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 0 pstate 2 (p0) - En:1 VID:63 FID:20 DID:0.00 Freq:3600 VCore:1.1563
core 0 pstate 3 (p1) - En:1 VID:71 FID:18 DID:0.00 Freq:3400 VCore:1.1063
core 0 pstate 4 (p2) - En:1 VID:83 FID:15 DID:0.00 Freq:3100 VCore:1.0313
core 0 pstate 5 (p3) - En:1 VID:90 FID:12 DID:0.00 Freq:2800 VCore:0.9875
core 0 pstate 6 (p4) - En:1 VID:116 FID:0 DID:0.00 Freq:1600 VCore:0.8250
core 0 pstate 7 (p5) - En:1 VID:120 FID:0 DID:1.00 Freq:800 VCore:0.8000
-- Node: 0 Core 1
core 1 pstate 0 (pb0) - En:1 VID:48 FID:23 DID:0.00 Freq:3900 VCore:1.2500
core 1 pstate 1 (pb1) - En:1 VID:56 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 1 pstate 2 (p0) - En:1 VID:63 FID:20 DID:0.00 Freq:3600 VCore:1.1563
core 1 pstate 3 (p1) - En:1 VID:71 FID:18 DID:0.00 Freq:3400 VCore:1.1063
core 1 pstate 4 (p2) - En:1 VID:83 FID:15 DID:0.00 Freq:3100 VCore:1.0313
core 1 pstate 5 (p3) - En:1 VID:90 FID:12 DID:0.00 Freq:2800 VCore:0.9875
core 1 pstate 6 (p4) - En:1 VID:116 FID:0 DID:0.00 Freq:1600 VCore:0.8250
core 1 pstate 7 (p5) - En:1 VID:120 FID:0 DID:1.00 Freq:800 VCore:0.8000
-- Node: 0 Core 2
core 2 pstate 0 (pb0) - En:1 VID:48 FID:23 DID:0.00 Freq:3900 VCore:1.2500
core 2 pstate 1 (pb1) - En:1 VID:56 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 2 pstate 2 (p0) - En:1 VID:63 FID:20 DID:0.00 Freq:3600 VCore:1.1563
core 2 pstate 3 (p1) - En:1 VID:71 FID:18 DID:0.00 Freq:3400 VCore:1.1063
core 2 pstate 4 (p2) - En:1 VID:83 FID:15 DID:0.00 Freq:3100 VCore:1.0313
core 2 pstate 5 (p3) - En:1 VID:90 FID:12 DID:0.00 Freq:2800 VCore:0.9875
core 2 pstate 6 (p4) - En:1 VID:116 FID:0 DID:0.00 Freq:1600 VCore:0.8250
core 2 pstate 7 (p5) - En:1 VID:120 FID:0 DID:1.00 Freq:800 VCore:0.8000
-- Node: 0 Core 3
core 3 pstate 0 (pb0) - En:1 VID:48 FID:23 DID:0.00 Freq:3900 VCore:1.2500
core 3 pstate 1 (pb1) - En:1 VID:56 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 3 pstate 2 (p0) - En:1 VID:63 FID:20 DID:0.00 Freq:3600 VCore:1.1563
core 3 pstate 3 (p1) - En:1 VID:71 FID:18 DID:0.00 Freq:3400 VCore:1.1063
core 3 pstate 4 (p2) - En:1 VID:83 FID:15 DID:0.00 Freq:3100 VCore:1.0313
core 3 pstate 5 (p3) - En:1 VID:90 FID:12 DID:0.00 Freq:2800 VCore:0.9875
core 3 pstate 6 (p4) - En:1 VID:116 FID:0 DID:0.00 Freq:1600 VCore:0.8250
core 3 pstate 7 (p5) - En:1 VID:120 FID:0 DID:1.00 Freq:800 VCore:0.8000

 --- Node 0:
Processor Maximum PState: 7
Processor Startup PState: 6
Processor Maximum Operating Frequency: No maximum defined. Unlocked multiplier.

Minimum allowed VID: 255 (-0.0437V) - Maximum allowed VID 0 (1.5500V)
Processor AltVID: 0 (1.5500V)

Done.

2016年7月24日日曜日

A8-7670K 電圧設定

CPU 交換時の恒例行事,クロック・電圧いじりをやってみた.
7670K はクロック倍率フリーなんで,若いころならオーバークロックで何 MHz まであげられるか? ってやってるところだけど,もうそんな歳でもないのでw ひたすら省電力に振ってみる.
Phenom II だと k10stat なるソフトで CPU の設定を変えられたが,A8 は k15tk なるソフトが有った.

というわけでこんな感じ.P3 より上はクロックはそのままで prime95 で落ちない電圧 + マージンまで電圧を下げてみた.3900MHz とか,もともと 1.47V 位だったのが 1.25V まで下げられたんだけど,大丈夫かコレ… てかデフォルトはどれだけ盛ってるんだよ.
一番低い P5 は伝統的に 800MHz で.たとえ 800MHz 固定でも Web ブラウザ程度なら何の問題もないので,高いクロックに切り替わるまでのタイムラグも気にならない.

で,これでしばらく使ってみたのだけど,Win10 もしくは Cool'n Quiet の省電力制御がいけてなく,軽い作業をしている時の消費電力が旧マシンより悪い.

例えば動画を再生している時,CPU パワー的には 800MHz でも十分なんだけど,アイドルではないだけでほとんどの時間最高クロックに張り付いている…
←左:MHz 右:CPU 使用率

K10Stat だと,CPU 使用率に応じた最適な周波数に設定できるんだけど,標準のままだとそうも行かないなぁ.

2016年7月16日土曜日

PC 更新

半年前に買った HDD 4TB がまさかの不良セクタ報告(;´д⊂)
前回の施策が効いて即エラーダイアログが表示されたので,今回のファイル損失は 0.

しかしこんな短い期間で普通死ぬか? もしかしてマザボ (8年物) がヘタってきたとか,そっちも疑うべきと思ったのと,Windows10 無料アップグレードの期限が 7/30 なので,マザボ交換なら今しかない,というわけで,久々に PC 更新.

CPUAMD A8-7670K¥9,480
マザボA88XM-E45 V2¥6,980
メモリキングストン DDR3-1600 8GBx1¥3,180
HDDSeagate ST4000DM000¥11,880
CPUクーラー(使い回し) NINJA 弐(SCNJ-2000) ¥0
ケース(使い回し) Antec ThreeHundred ¥0
電源(使い回し) SILVERSTONE SST-ST50F-ES¥0
合計¥31,440
PC に全く興味がなくなってしまったので,そこそこの性能であまり金をかけないようにしてみた.なので必要最小限の交換パーツ以外は全部使い回し.光学ドライブは ATA の奴しか持ってないので,ついに繋がらなくなったので撤去.

で,ここで問題なのが,旧 PC に紐付いていた Win10 の無料アップグレードライセンスが新 PC に移行できるのか? ということ.こことか見る限りなんとなくできそうなんだけど,基準がわからない.逆にパーツ全交換でライセンス認証が通っちゃうと,Win10 インストールし放題になっちゃうし.

というわけでやってみた.回りくどいけど,確実と思われる手順でやってみる.
(1) パッケージ版 Win7 インストール.Win7 もパーツ構成が変わると再認証が発生するけど,最後の認証から時間が経つにつれて,同時交換可能なパーツ数が増えるようで,結局今回はオンライン認証のみで Win7 インストールできた.
(2) Win10 にアップグレード.インストールが完了した時点で,無事 Win10 認証がオンラインでパスした.ヽ(´ー`)ノ
(3) Win10 を Win7 のプロダクトキーでクリーンインストール.

というわけで無事成功.
現在単一の Win10 ライセンスで動く PC が 2台成立してますwww まぁ旧 PC はすぐにパーツ売却するけど.

2016年6月19日日曜日

ウィンドウリペア

GW に高速乗ってる時に,飛び石を食らって 3mm ほどの飛び石キズができた(;´д⊂)幸い表面がえぐれただけで放射状のヒビは入っていないけど,粉砕したガラスで白濁化して目立つ.
ウィンドウリペアしてくれる業者を探してみたけど,たいてい 1.5万円ほど.お高い… なのでこの程度なら自力で補修できるのでは? と思ってやってみた.

ちなみに緑のチラシはカメラのピント合わせ用に貼っただけで,それ以外の意味は無い.

Amazon のマーケットプレイスで買ったリペアキット (¥610) 必要な物は一通りセットになっている.

手順は添付の手順書通りにやれば特に問題なかった.
この注射器みたいなのでおそらくヒビの中の空気を抜いたり,またレジンに圧力をかけてヒビの中に浸透させるんだろうと思うけど,今回みたいに表面がえぐれただけの場合は,単にレジンを補修箇所に垂らすだけで良さそうな気がする.
実際,ここ以外の細かい飛び石キズも同時に直したんだけど,そこの補修は傷箇所にレジンを垂らすだけにとどめた.

補修完了.白濁も見事なくなり,車外から見る限りそこそこ綺麗に補修できたように見えたんだけど…

車内から見ると水滴が付いているような感じで,結構目立つ(;´д⊂)
これはガラスの角度とか傷の位置とか,目立つか目立たないかは運次第のような気がするけど,ここが業者と素人のクォリティの差なんだろうか? それとも業者に頼んだとしても治らないものは治らないのかなぁ?

まぁガラス割れて交換するまではこのままで行くしかないね(;´д⊂)

2016年4月3日日曜日

世の中の仕組み

年末にひかり TV ショッピングで New 3DS LL を買ったんだけど,当時の New 3DS LL の最安値がだいたい¥18k だったところを,¥20k + ポイント 7500 という,ぱっとみ安いと思われる値段で購入.ただしひかり TV ショッピングはポイントで支払った分にはポイントが付かない仕様なので,その分は差し引いて考えるべきだけど,それを加味しても最安値よりは安い.

と思ったのが甘かった.ひかり TV ショッピングは,他にほしいと思えるものはまず売り切れになっているか,他店に比べてめちゃめちゃ高い.またポイント有効期間の制約が大変厳しく,商品購入後から 3週間後に有効~3ヶ月後に失効,てな具合で在庫補充を待つチャンスもなく,自分は DS 購入後にモンハンをポイントで買おうと思ってたけどそれも不可能だった.要は,ポイントを全く有効に活かすことができない.

ひかり TV ショッピングは,安い商品は利益を心配するくらい安い (というかポイントが大量に付加される) けど,こんなふうに全体的に店として損しない仕組みになってるんだなぁと,逆に感心させられたわ.
(以上,前振り終わり)

というわけで,大して欲しくもなかったトラックボール Logicool M570t をポイントで Get.
△操作感自体は,よくも悪くもなく.マウスと比べて劇的に使いやすくなったわけでもなし.
×画面横 2560 ドットを移動するのに,マウスだと 1アクションだけで済むけど,トラックボールだとボールの移動操作を 3回くらいしないと移動できない
×ボールの滑りが思ってたより渋い.しかもボールの縦方向と横方向の渋さが違う.
×手垢とか埃でそのうちボールのセンサ部とか汚れると思うんだけど,分解掃除できないようになっている.
→と思ったら,ボール引っ張るだけで引っこ抜けるらしい!

今回はポイントでダダでもらったけど,¥4,190 だったら絶対にいらんわー(;´д⊂)

2016年2月11日木曜日

さらなる通信費削減

500MB/月 まで無料という驚愕の 0 sim を申し込んでみた.
すごい人気で発送が遅れていたようで 2/3 に発注したものが 2/11 にやっと届いた.

←真っ白の SIM カードなんて初めて見たw 狙ったデザインなのかもしれんけど,パッケージの台紙も真っ白だし,まぁコストダウンということなのだろう.
とりあえず速度計測してみた.Zenfone5 の 3G で (LTE は無いので).通信速度はあまり期待していないけどこんだけ出りゃ自分的には十分かな.

ちなみに mio iij の計測結果はこれ.0 sim はだいたい 1/4 といったところか.

自分は大体 800MB/月くらい使っていて ¥0 運用にはならないのだけど,それでも今の¥974/月よりは大分安くなる.
Zenfont5 はデュアル sim 機だから,もう一枚買えば確実に ¥0 にできるんだけど,「一人一枚まで」の一人の定義ってなんだろう? クレカ分けたら買えるんだろうか.

2016年1月12日火曜日

しょっぱなから不幸

あけましておめでたくない事案発生(;´д⊂)

ちょうど 3年前に買った 3TB の HDD が不調になった.
自分は HDD がいっぱいになると大きい HDD に買い換える (このスパンがだいたい 2-3年) というのを繰り返しており,個人持ちの HDD でトラブルが起こったことがないのだが,3TB はなかなかいっぱいにならず買い替えの機会がなく,かつ 3年という短い期間で不調が起きてしまった.

仕方がないので 4TB の WD40EZRZ-RT を購入して,救えるファイルだけコピー中だけど 5% くらい消失.まぁこんだけの被害ですんだと喜ぶべきなのか…

改めてイベントビュアー見てみると去年の 11/29 から disk エラーがちらほら出始めてたみたい.こんときに気づけていたらもうちょっと被害は少なかったかもなぁ(゜ーÅ)ほろり
てかもうちょっと気づけるように通知してくれよ > Windows

と思ったら,タスクスケジューラでイベントビュアーのイベントをトリガにタスクを実行できることがわかった.
タスクスケジューラの新規タスク作成画面で
トリガーの編集
→タスクの開始: イベント時
→ログ: システム
→ソース: disk
操作の編集
→操作: プログラムの開始
→プログラム/スクリプト: msg
→引数の追加: 「/w * "イベントログで Disk エラーを検出"」とか

ってやると,disk エラー時にメッセージボックスが開く.
いまファイルコピー中だけど早速通知されてます(;´д⊂)