もりねずみーのやつ

インターネット上でしか生きられません

ミラL700Sをユーザー車検やってきた

素人ながらユーザー車検受けてきました。

超長いので結論から。

結論

ディーラーや整備屋さんに任せたほうが良い。

きっかけ

  • 年始めに会社休みまくったので車検代が惜しい。(惜しいってか無理)
  • バイクいじれたから車イケるやろ。

車両スペック

メーカー ダイハツ
名称 ミラ
型式 L700S
エンジン EF-SE(直列3気筒 SOHC 6バルブ ノンターボ)
トランスミッション AT4速
年式 平成11年
排気量 660cc
総走行距離 171,600km

いい感じにポンコツ車です。エンジンもヘボい。

とにかく非力です。

非力なくせにフロントドアやらにデッドニングだの施したので車重アップ済み。

例えるなら生まれつき病弱な老人にレッドブル大量に飲ませて700kgの石を載せたリアカーを引かせてる感じ。

L700Sだからってジーノだって決めつけないであげて下さい。

車検見積もり

某所で点検兼ねて概算の見積もりを出してもらった。

作業内容 単価(円) 数量(個) 金額(円)
基本コース車検工賃(軽) 10,702 1 10,702
車検ライン検査料 3,240 1 3,240
車検代行手数料 5,400 1 5,400
ロアアームブーツ交換工賃 3,240 2 6,480
ロアアームブーツ部品代 972 2 1,944
タイロッドエンドブーツ交換工賃 2,160 2 4,320
タイロッドエンドブーツ部品代 734 2 1,468
発煙筒 598 1 598
タイヤ(ヨコハマ エコスES31 155/65R13) 4,095 4 19,800
タイヤ交換工賃 1,080 4 4,320
タイヤ廃棄代 300 4 1,200
タイヤエアバルブ交換工賃 260 4 1,040
オイルラインクリーニング工賃 4,000 1 4,000
オイルエレメント部品代 970 1 970
ブレーキオイル交換 2,980 1 2,980
————————————– ——– ——– ——–
工賃+部品代合計 68,462
————————————– ——– ——– ——–
自賠責保険(2年) 26,370 1 26,370
重量税 8,200 1 8,200
印紙代 1,100 1 1,100
————————————– ——– ——– ——–
諸費用合計 35,670
————————————– ——– ——– ——–
合計 104,132

うーん高い。

無印スイフトが1リッターターボ出したので廃車にして車買い替えるという選択肢もあった。

そのせいか尚更高く感じる。

でもその1リッターターボの無印スイフト、見積もり出してもらったら、200万いっちゃった。そんなのスイフトじゃないやい。

再検討

どうしても工賃というのが目立って高く見えてしまう。

自分で出来ることは自分でやろう。

  • オイルラインクリーニング → オイル交換時期でもあったので、見積もり後即交換してもらった。
  • タイヤ交換 → 空気入れも振れ取り台も無いのでプロに任せる。
  • タイロッドエンドブーツ交換 → みんカラで情報収集 → 自分でやってみる。
  • ロアアームブーツ交換 → みんカラで情報収集 → 自分でやってみる。
  • 発煙筒 → 買った。

で?どこからスタート?

もちろん工具を揃えるところでしょう!

タイヤ交換

ググるダンロップのルマンが中々良さそう。

ちょっとお高くても軽サイズのタイヤは選択肢は少ないので魅力的。

近所のダンロップのお店に行ってみた。

店員さん曰く、ルマン5が出たばかりで良さげとのこと。

とりあえず注文して後日電話が来る。

店員さん「いやー確認してみたらルマンVから155/65R13サイズはラインナップからなくなっちゃったみたいですねー」

その晩、涙で枕を濡らす。

翌日、腫れた目で再度ダンロップのお店へ行き、EC203をチョイス。

タイヤ4本+工賃もろもろコミコミ17,800円。

意外と安かった。

欲が出た

タイヤ交換してもらっている際、興味津々で作業を見学してたところ、リアスプリングシートがベロベロに伸び切っていていることに気付く。

僕「あの、差し支えなければ教えて頂きたいのですが、これって車検引っかかります?」

タイヤ専門店でかつ範囲外の部分を見てもらうのは失礼と思いつつも、店員さんは快く答えてくれた。

リアスプリングシートは安全上問題が出る箇所ではなく乗り心地やノイズに影響が出るとのこと。

デッドニングを施してまで車内で音楽を聴きたい派としては、少しでも影響あるところは直したいところ。

即、ディーラーに行ってスプリングシート2枚発注した。

どうせタイロッドやロアアーム周りとスプリングシート交換するなら、ついでにダウンサス入れよう。

非力な車には軽量化と空気抵抗の改善がええやろ、と。(デッドニングは…)

そんなこんなで、ようやく作業に取り掛かる。

必要な工具(持っていなかったもの)

  • トルクレンチ
  • クロスレンチ
  • ジャッキスタンド
  • タイロッドエンドプーラー
  • スプリングコンプレッサー

フロアジャッキまでは必要ないかと思ってたけど、パンタジャッキでやってみるとしんどいことこの上ない。

タイロッドエンドプーラーは、L700Sのロアアームブーツ交換箇所では頭部分の厚みのせいで入らなかった。

無理矢理入れたけど。

作業までに掛かった費用

作業内容 整備屋さん見積り金額(円) 実際にかかった金額(円)
基本コース車検工賃(軽) 10,702 -
車検ライン検査料 3,240 -
車検代行手数料 5,400 -
ロアアームブーツ交換工賃 6,480 -
ロアアームブーツ部品代 1,944 1,480
タイロッドエンドブーツ交換工賃 4,320 -
タイロッドエンドブーツ部品代 1,468 1,000
発煙筒 598 598
タイヤ(ヨコハマ エコスES31 155/65R13) 19,800 -
タイヤ(ダンロップ EC203 155/65R13) - 17,800
タイヤ交換工賃 4,320 0
タイヤ廃棄代 1,200 0
タイヤエアバルブ交換工賃 1,040 0
オイルラインクリーニング工賃 4,000 4,000
オイルエレメント部品代 970 970
ブレーキオイル交換 2,980 -
バッテリー(Panasonic Caos N-60B19L) - 5,197
スプリングシート交換工賃 - 0
スプリングシート部品代 - 994
サスペンションスプリング交換工賃 - 0
サスペンションスプリング(RS-R D003) - 14,412
ガソリン添加剤(ワコーズ F-1) - 1,688
クロスレンチ - 927
トルクレンチ - 3,300
フロアジャッキ - 4,645
ジャッキスタンド - 3,056
タイロッドエンドプーラー - 3,359
スプリングコンプレッサー - 2,050
————————————- ———————— ———————-
合計 68,462 65,476

工賃を抑えたお陰でダウンサスとバッテリー交換も出来るようになった。

安く済ませたいという気持ちは既にどこかへ遠くの彼方へ消えてしまった。

実際に作業

ここらへんはみんカラとかに細かい作業内容の記事が沢山あるので、ざっくりとだけ。

まずタイロッドエンドブーツ、ロアアームブーツ、人の手じゃ絶対に外れないしはまらない。 f:id:aburos:20170331123803j:plainf:id:aburos:20170331123820j:plain

まるで接着剤で付いているんじゃないかっていうくらい、古いのは外れなくてカッターで切って、タイロッドエンド側もカッターで地道にキレイに削った。 f:id:aburos:20170401162601j:plain

新しいのをはめるのも、ウォーターポンププライヤ2本で地道にカミカミしながらゴムを傷つけないようにはめていった。 f:id:aburos:20170331130408j:plain

後でディーラーに聞いてみたところ、ブーツはタイロッドASSYに最初から取り付けられた状態とのこと。

ちなみにタイロッドエンドASSYはタイロッドエンドとボールジョイントとブーツが組み立て済みで1個5,400円くらい。手間を考えたらまるごと交換したほうが結果的に安く感じるかも。

スプリング交換は、リアはトーションビーム方式なのでジャッキで上げて差し替えるだけ。この時にスプリングシートも新しいのに交換。 f:id:aburos:20170331115508j:plain f:id:aburos:20170331115216j:plain

ただ、スプリングシートは、上下別パーツだっていうことを作業して初めてわかった。幸い上部は左右どちらも伸び伸びじゃなかった。

ショックアブソーバーのスプリング交換は二度とやりたくないってくらい手こずった…。 f:id:aburos:20170331062645j:plain

そんなこんなで、四苦八苦しながらも足回りは完璧でござる。

車検前の点検

フロントウインカー左右チェック:    [   OK   ]
フロントロービーム左右チェック:    [   OK   ]
フロントハイビーム左右チェック:    [   OK   ]
フロントハザードランプチェック:    [   OK   ]
ワイパーチェック:                  [   OK   ]
ウォッシャー液チェック:            [   OK   ]
リアブレーキランプ左右チェック:    [   OK   ]
リアバックランプチェック:          [   OK   ]
リアウインカー左右チェック:        [   OK   ]
リアハザードランプチェック:        [   OK   ]
タイヤ摩耗チェック:                [   OK   ]
エンジンルームオイル漏れチェック:  [   OK   ]
フューエル漏れチェック:            [   OK   ]
ガラスヒビ割れチェック:            [   OK   ]
車高チェック:                      [   OK   ]

車検場へ

茨城県の軽協会は茨城町という自宅からそこそこ離れた所にある。が、片道30分くらい。

結構混んでる。

業者さんばっかり。

こっちは割と何をしたら良いか分からないので、ユーザー車検で初めてだっていうのは胸を張って申告する。

すると、親切に教えてくれる。(はず)

予約した時間1時間前に到着するようにしたけど、受付から事務手続きで1時間前は正解だった。

諸費用 整備屋さん見積り金額(円) 実際にかかった金額(円)
自賠責保険(2年) 26,370 25,070
重量税 8,200 -
印紙代 1,100 -
重量税印紙代 - 8,200
限定自動車検査証発行手数料 - 1,400
————————— ———————— ———————-
合計 35,670 34,670

検査ラインに入るために車で並ぶ。

並ぶレーンによって、検査の必要が殆ど無い新車などは、全自動の検査ラインに入ったり、4WD車や初心者向けのレーンだったりと決まっているらしい。

結構待たされた後、検査官の方が検査ラインに入る前の点検に来た。

検査官さん「えーっと、フロントガラスに不要なシール貼っちゃダメね。あとシートベルト警告灯が点かないね。直したらまた声かけてくれれば良いよ。」

おぉ、古い定期点検のシールって張りっぱなしにしたらダメなのか。

って、シートベルト警告灯が点かない!!!???

言われてみれば、このミラ、妻から譲り受けてから一度もシートベルト警告灯なんてものを見たことが無かった。

っていうかそんなリッチな機能このミラに付いてんの?

完全に見落としてた。

検査官さん曰く、検査ラインにはこのまま入って、該当箇所を直してくればOKとのこと。

もし当日中が難しいなら、限定自動車検査証(通称"限定")を事務で発行してもらって、2週間以内なら再検査OKだそうで。

って聞いたりしてたら、タバコ吸いながら助手席側のドアを勝手に開けるおっさん登場。

おっさん「なに?ダメだったの?あぁー、シールね、今剥がしちゃえばいいよ」

と言いながら人の車のシールを勝手にガリガリ爪で剥がし始める。

親切心で言ってくれてるのだし、緊張してたので業者さんの方とお話出来るのも嬉しかったので、色々アドバイスを頂いた。

  • 検査ラインに入ったらハザードランプを点ける。 → 初心者なので色々教えてくださいの合図(なのか?)
  • 検査ラインに限らず常に白線にピッタリ沿うようにする。 → 検査ラインでズレると沿うように指示される。

検査ラインに入ったらローラー台のようなものに乗ってブレーキの効きを検査したり、車に乗ったままリフトアップして、下から検査官の方がトンカチでカンカンシャーシを叩いてチェックしたりヘッドライトの光量や光軸のズレを検査したりした。(トンカチで叩いて音だけで判断できるのすごい…)

検査結果

  • シートベルト警告灯が点かない: ディーラーで修理
  • ヘッドライトが暗い: テスト屋さんでランプ購入してその場で交換
  • ヘッドライト光軸ズレ: テスト屋さんで光軸調整してもらう

一旦自宅近くのディーラーに戻ったりでもうヘトヘトだったので、テスト屋さんで1個1,500円の黄金色に光る超高級ヘッドランプを2個購入した。

テスト屋さんでは、怖そうなヤンキー風のお兄さん達だったんだけど、ものすごく親切で、ランプ交換してる時に工具忘れた僕にメガネレンチ持ってきてくれたり、車検対応を謳ってる有名メーカーのランプでも青系は光量が落ちるので実際には車検通らないこともあるなど、色々教えてくれた。

光軸調整ついでにサイドスリップも見てくれて検査費用3,000円+部品代3,000円、計6,000円。

シートベルト警告灯はディーラーに持っていったほうが早そうなので、再度ディーラーへ行って、事情を説明する。

ディーラーさん「シートベルト警告灯はランプ切れって訳ではなくバックル内部のスイッチっぽいですね。交換自体は簡単ですし部品だけで良いですか?」

どうやら僕のことを個人車検代行者か何かだと思われてたっぽい。

だから以前にリフトの設備持ってるかとか聞かれたのか。

ジョークかと思って「リフト持ってないですw一個下さいw」って冗談で返したけど、あれジョークじゃなかったのか。

さすがに重要保安部品であるシートベルトを自分で交換するのは流石に気が引けるのと、ディーラーさんには色々お世話になってるので、お任せすることにした。

で、シートベルトバックル交換費用が、12,000円くらい。

週末に部品が届きそうなので、週明けにもう一度車検場に行く。

かかった費用合計

作業内容 整備屋さん見積り金額(円) 実際にかかった金額(円)
基本コース車検工賃(軽) 10,702 -
車検ライン検査料 3,240 -
車検代行手数料 5,400 -
ロアアームブーツ交換工賃 6,480 -
ロアアームブーツ部品代 1,944 1,480
タイロッドエンドブーツ交換工賃 4,320 -
タイロッドエンドブーツ部品代 1,468 1,000
発煙筒 598 598
タイヤ(ヨコハマ エコスES31 155/65R13) 19,800 -
タイヤ(ダンロップ EC203 155/65R13) - 17,800
タイヤ交換工賃 4,320 0
タイヤ廃棄代 1,200 0
タイヤエアバルブ交換工賃 1,040 0
オイルラインクリーニング工賃 4,000 4,000
オイルエレメント部品代 970 970
ブレーキオイル交換 2,980 -
バッテリー(Panasonic Caos N-60B19L) - 5,197
スプリングシート交換工賃 - 0
スプリングシート部品代 - 994
サスペンションスプリング交換工賃 - 0
サスペンションスプリング(RS-R D003) - 14,412
ガソリン添加剤(ワコーズ F-1) - 1,688
クロスレンチ - 927
トルクレンチ - 3,300
フロアジャッキ - 4,645
ジャッキスタンド - 3,056
タイロッドエンドプーラー - 3,359
スプリングコンプレッサー - 2,050
ヘッドランプ - 3,000
ヘッドライト光軸調整 - 3,000
限定自動車検査証発行手数料 - 1,400
シートベルトスイッチ交換(部品代含む) - 12,650
————————————– ———————— ———————-
工賃+部品代合計 68,462 85,526
————————————– ———————— ———————-
自賠責保険(2年) 26,370 25,070
重量税 8,200 -
印紙代 1,100 -
重量税印紙代 - 8,200
限定自動車検査証発行手数料 - 1,400
————————————– ———————— ———————-
諸費用合計 35,670 34,670
————————————– ———————— ———————-
合計 104,132 120,196

まとめ

オーバーしたようにも見えるけど、車検代行を頼んでも、修理箇所分は別途追加で費用がかかる。

そう考えると、実はやっぱりユーザー車検は安く済む。

逆に格安な車検代行は、最後は軽協会の検査を通す必要があるので、どこかしらでごまかしたり自分で修理したりしてコストを抑えてるはず。

でもユーザー車検はあくまでも必要な箇所だけプロにお願いするわけで、必要な箇所だけの工賃では、整備士の人達が食っていくには全然足りなくなってしまうし、過剰にコスト抑えるとそのしわ寄せもどこかに来るはず。

そして自分が自分にかけた時間をお金に換算して上乗せしたら、実は車検代行業者に頼むよりもうんと高く付くはず。(整備に慣れてる人なら早く出来るかな)

  • 車検代行業者の工賃は決して高いわけではない。
  • オート○ックスより高かったら流石に高いって思って良いかも?
  • ユーザー車検は初期投資がかかる(工具・設備類)
  • 1回ポッキリのユーザー車検ならほぼ確実に元は取れない。
  • みんカラ勢は全員プロ整備士だと思ったほうが良い。(タイロッドエンドブーツ交換で作業時間30分とか絶対無理)
  • もう一息だ…(ヽ´ω`)

ぱしゃり

f:id:aburos:20170403164513j:plain

※この日初めて自分の車を写真撮った。いつの間にか愛車って呼べるものになったのかな。

自宅PC新調しました

私事ながら大変恐縮ではございますが、この度、自宅のメインPCを新調致しましたので、この場をお借りしてご報告させて頂きます。 f:id:aburos:20160313184358j:plain

構成

総額(現在進行中)

中古品とか漁ったりしているので今のところ12万くらい…。

パフォーマンス(ベンチマーク)

3DMark

  • FIRE STRIKE 1.1: 5,867
  • SKY DIVER 1.0: 16,824
  • CLOUD GATE 1.1: 21,975
  • ICE STORM 1.2: 149,173 f:id:aburos:20160323234249j:plain

CrystalDiskMark 5.1.2 Shizuku Edition x64

  • Seq Q32T1 Read: 2,252[MB/s]
  • Seq Q32T1 Write: 1,275[MB/s]
  • 4K Q32T1 Read: 736.6[MB/s]
  • 4K Q32T1 Write: 263.6[MB/s]
  • Seq Read: 1,736[MB/s]
  • Seq Write: 1,277[MB/s]
  • 4K Read: 58.62[MB/s]
  • 4K Write: 202.6[MB/s] f:id:aburos:20160321235836j:plain

CineBench

  • OpenGL: Test Failure ※なぜ…?
  • CPU: 773cb f:id:aburos:20160324000233j:plain

DQXベンチ

  • グラフィック: 最高品質
  • 解像度: 1920x1080
  • 表示方法: フルスクリーン
  • スコア: 18,321 すごく快適 f:id:aburos:20160323235436j:plain

SuperPI

  • 例の円周率計算ソフト
  • 104万桁: 9秒
  • 3355万桁: 8分22秒 f:id:aburos:20160324002150j:plain

MMD AVI書き出し

  • モデル1体にモーション、シェーダを入れ、ステージを追加して1920x1080 60fpsでAVI形式に書き出し。
  • モデルは結構なポリゴン数のあるメカメカしい巡音ルカ
  • MMD界隈の一般常識をまだよく理解していないので詳細は伏せておきます。
  • 所要時間:10分12秒

上記MMD AVI映像mp4(H.264)形式に変換

  • TMPGEnc Video Mastering Works 6を使用
  • 映像:H.264/AVC, 1920x1080, 60fps, 1パス VBR, 平均24.85Mbps
  • 音声:MPEG-4 AAC(LC), 44100Hz, ステレオ, 128kbps
  • smile dkさんのアレ
  • 所要時間:7分18秒

消費電力

条件

  • ワットチェッカーでの計測
  • PC本体電源ON
  • 液晶ディスプレイ2台電源ON
  • ネットワーク機器電源ON(16ポート1Gbpsハブ、無線LANルータ)
  • スピーカー電源ON
  • 上記PC本体以外の消費電力合計を30Wと仮定 ※ネットワーク機器コンセントから抜くのが面倒なのでそのまま計測

アイドル時

  • 81W前後 f:id:aburos:20160313233506j:plain

高負荷時

  • 220W前後 f:id:aburos:20160324003150j:plain

気になったこと

以前から大型CPUクーラーに憧れていたのだけど、SkylakeにおいてCPU基板曲がり問題っていう言葉があるのを見つけて、CPUクーラーについてはすごく悩んだ。

サイズさんに問い合わせてみたところ、「無限大のみブリッジパーツが他と異なるため別途補強パーツを提供する」という手厚いサポートを行っており、他の大型CPUクーラーについては、説明書にある通り、「無理に締め付けなければ大丈夫」とのこと。固定ネジを締め込む際、CPUを押さえる金具が湾曲しない程度にしっかり締め込むということで、慎重にネジ締めした。

ハマったこと

ASRockのUltra M.2という機能(ASUSではHyper M.2)を持ったM.2コネクタにM.2 SSDを接続すると、CPU側のPCIeレーンを使用するらしく、グラボがPCIe Gen3 x8接続になってしまった。

対策として、玄人志向のM.2->PCIe変換アダプタを追加し、上から2番目のPCIe x16(PCIE4)に接続した。

結果、グラボはPCIe Gen3 x16接続となり、SSDはPCIe Gen3 x4接続となった。

※この玄人志向の変換アダプタはGen2と書いてあったが、実際に使ってみたところSSDのシーケンシャルReadが2000MB超えだったので、難なくGen3として使えた模様(?)

H170Pro4のM.2コネクタ位置が、グラボ(PCIE2)の冷却ファンの真下にあるため、グラボからの排熱が、もろにNVMe SSDに当たってしまい、ただでさえ熱を持ちやすいNVMe SSDが極端に温度が上がってしまう。

前述のM.2->PCIe変換アダプタで接続位置が変わったために解決した。

  • 変更前 f:id:aburos:20160324001018j:plain
  • 変更前SSD温度
  • 負荷時大体50℃前後 ※画像撮り忘れた…

  • 変更後 f:id:aburos:20160324001454j:plain

  • 変更後SSD温度 f:id:aburos:20160324001550j:plain

そもそも最初からIntel 750にしても良かったかもしれない。

高負荷時でも消費電力240Wいかないため、準ファンレス電源のRM550xが電源投入時以外ファンが回ってくれない。(良いんだろうけどなんか不安…ファンだけに…)

NVMe SSDのパフォーマンスについて

正直、普通に使う分には、シーケンシャルRead・Write 500MB/sクラスのSSDと体感差は感じられないと思う。

と、思っていたら、VMware Playerで仮想マシンサスペンドから復帰する時に、恐ろしいほど速くて、そこで初めて体感的に速いと感じることが出来た。 シーケンシャルRead/Write 500MB/sくらいのSSDでも、「ツ ト ト ト ト ト ト ト ト ト」という感じだけど、NVMe SSDだと「ドビュルルルルルルルルッ!!」という感じ。

やだ…こんなVMware仮想マシン初めて…///

ASRockマザーに付いているUltra Fast Bootについて

取扱説明書には、「使用しないでください」的に書いてある。

Ultra Fast Bootを設定すると、電源投入から液晶ディスプレイが表示される時には既にWindows立ち上がっている。

よくある「電源投入からWindows画面が出るまでの時間を計測」が速すぎて出来ない。

速いに越したことは無いけど、Ultra Fast BootモードではF2/DelキーでUEFI画面に入ることが出来なくなる。

Ultra Fast Bootモード時に、UEFI画面に行きたい場合は、Windows用に「UEFI画面を出すための再起動ツール」がASRock公式より公開されているので、それを利用する。

逆に言えば、Windowsが立ち上がらない状態に陥った場合、UEFI画面に行くことが出来なくなる恐れがあり、ちょっとリスキー。

グラボのPCIe x8モードとx16モードについて

口コミでは、x8モードもx16モードも、大して差はない、と、よく見かけるが、DQXベンチで比較してみたところ、x16モードはx8モード時より、3%程度の性能差だった。

確かに「大して差はない」だった。

DQXベンチにおいて、x8モード時はスコア17,000前後 f:id:aburos:20160324001232p:plain

DQXベンチにおいて、x16モード時はスコア18,000前後 f:id:aburos:20160323235436j:plain

でも「なぜ大して差はない」なのかが気になる。

もうちょっと検証続けたい。

気のせいかもしれないけど、x16モードにした時、Autodesk Fusion 360のレイトレーシングレンダリング状態でグリグリ動かした時のリアルタイムレンダリング表示が、x8モードの時より速くなった気が(?)そもそもFusion 360ってDirectXOpenGLどっち使ってるんだろう?多分OpenGLだよなぁ…?

今後(スペックアップ)

限界がすぐ来そうなH170で安く組んだのも色々理由がある。

正直、5年近くMacbook Air Mid 2011を使い続けていて、更にPC自作となるとAthlon64X2の頃が最後なので、10年近いブランクがあった。

当然、PCIeのレーン数なんかもなんのことだかさっぱりわからなかった。

そんな状態で、自作PCで「6年はもたせるぞ!」と意気込んでスペックの高いものを選んでも、1年後にはラインナップも刷新されてすぐに型遅れ低スペック扱いになってしまうのは、少なからずある。

H170にするかZ170にするかで悩んだけど、H170にしておいて良かったかもしれない。

もし、Z170を選んでいたら、H170とは値段差もある上にスペックアップの上限値も高いこともあって、今頃DDR4-3200OCメモリを16GBx4で組んだり、6700Kでオーバークロックしたり、冷却どうするかー水冷やってみるかーとで、沼にハマりにハマっていたと思う。

「安かろう悪かろう」という言葉もあるけど、自分が組んだものは「安くてもまあまあ良い」ものだと認識してる。

グラボについて

最近のグラボ事情が全くわからなかったので、GTX960あたりを考えていたところ、GTX950が1万円切る値段で手に入ったので、誘惑に負けた。

けど、おかげでGTX950からどれぐらいなのか知ることが出来た。

「ふつーに使う」分にはGTX950でも全然問題ない。World Of Tankの最高画質でも、特にストレスなく遊べた。

ただ、先のMMDでシェーダを加えると250fpsぐらいだったのが一気に30fpsくらいまで落ちる。

もう60fps動画に目が慣れちゃって30fpsなMMDなんて触ってられないよってことで、MMDOpenGLではなくDirectXを使っていることもあり、GTX980かGTX980Tiクラスのものに換装するかもしれない。

でもそれはだいぶ先の話になりそうで、今使う分には必要ないし、そうやってモヤモヤしてるうちに、MMDはPMX Editorがもう少しまともなツールになってくれるんじゃないかって期待もしてみたり…。

せめてShadeLightwaveのようにソフトウェア側でリアルタイムレンダリング処理にDirectXOpenGLか選べたら、Quadroに乗り換えるんだけどなぁ…。

データ用HDDについて

あくまでもつなぎの為にWD Blue 2.5インチ500GBを使っているが、Intel 535あたりに換える予定。

もうHDDはバックアップ、アーカイブ保管用途に限定しちゃってもいいや。

ケース

せっかくマシンを組むならカッコイイケースにしたかったのだけど、Corsair 400Qは129ドルのはずなのに、なぜか日本では17,000円以上で売られていて(Corsair 600Qは18,000円くらいなのに…)迷っていたけど、かと言って、寝室を兼ねてる自室で剥き出しは怖いので、とりあえずダンボールにした。

f:id:aburos:20160313184358j:plain なぜかこの写真をTwitterに載せたら沢山RTして頂けた。

その中で、「燃えないの?」と心配される方もチラホラいたのだけど、「逆にどうやったら燃えるのか…」と思いつつも小心者な僕はとりあえず内側にあやしい液体で防炎処理しておきました。 f:id:aburos:20160324004703j:plain

液晶ディスプレイ

グラボのおかげでトリプルディスプレイも余裕なんだけど、144Hz駆動で応答速度1ms未満で4Kな40インチ級のものが発売されたら、速攻で買うかもしれない。

今まで使ってたMacbook Air

Windows 10→OS X

以前、Macbook Air Mid 2011にWindows 10を入れてヒャッハーしてたのですが、メインマシンを乗り換えたので、OS Xに戻しました。 OS Xに戻してみたらやっぱり重い。仕方ないね。 しばらくOS Xは使わなくなるかも。(Archあるし)

良かったこと

  • CUDAで遊べるようになりました
  • MMDで遊べるようになりました
  • 仮想マシン常時2台以上立ち上げっぱなしに出来るようになりました
  • モニタ120Hz以上駆動で快適になりました

おわりに

スマートニュースの動画広告を回避する

はじめに

iOSアプリで、SmartNewsというアプリを使用しています。

始めの頃は、非常に見やすくて良いツールだったのですが、最近では表示する広告を増やし、更には動画広告を採用し、非常に見づらく煩わしいものと成り下がってしまいました。

今まで通り、広告表示だけならまだ我慢すれば良いだけのことでしたが、その動画広告はWiFi環境でなくモバイルデータ通信時でも強制的にロードし再生されてしまい、パケット通信料がタダではない私達にとって害悪なものとなってしまいました。

レビューを見れば分かる通り動画広告のせいで星1つがたくさん。

SmartNews自体は良いアプリだと思いますし実際便利です。

今回は、SmartNewsから動画広告を排除する方法について書きたいと思います。

SmartNewsの動画広告とは

こんな感じで広告動画が勝手に再生されて… f:id:aburos:20160221212408p:plain

×ボタンで閉じようとするとわざわざ「非表示にしますか?」と聞いてきます。

f:id:aburos:20160221212410p:plain ※「はい」を選んでも再度表示されます。

※実際これがパケ死する程のサイズなのかどうかまでは調べてません。

広告排除アプリ

最近、iOSでは広告を排除するためのアプリがリリース(解禁)されています。

ほとんどは、Safariのコンテンツブロッカーとして使えるものや、それ自身がWebブラウザとなっているものですが、中には、VPNを構築し他のアプリ内の広告を排除してくれるアプリも存在しています。

今回は、その「他のアプリも含めて広告を排除する」アプリを使用します。

私が選んだものは、AdBlockというアプリです。

AdBlock

AdBlock

  • FutureMind
  • ユーティリティ
  • ¥240

※これは有料アプリですが、探せば無料で他にもあるかもしれません。要はドメイン指定で広告排除できればOKです。

手順

  1. まず、AdBlockをAppStoreからインストールします。 f:id:aburos:20160221212328p:plain

  2. アプリを開くとこんな感じになり、しばらくすると対象広告定義ファイルのアップデートが自動で行われます。画面真ん中あたりの「Settings」をタップすると、設定画面に移ります。 f:id:aburos:20160221212406p:plain

  3. 「USER GROUPS」の「Add Group」をタップします。 f:id:aburos:20160221212339p:plain

  4. 名前を適当に入力して、「Done」をタップします。(自分で除外したいリストの名前なので何でもいい) f:id:aburos:20160221212341p:plain

  5. USER GROUPが作成されたので、更にそれをタップして詳細設定画面に移ります。 f:id:aburos:20160221212351p:plain

  6. 「DOMAINS」の「Add domain」をタップします。 f:id:aburos:20160221212352p:plain

  7. 上段に広告排除する対象の名前を適当に入力し、下段には、「conf.smartnews-ads.com」と入力し、「Done」をタップします。 f:id:aburos:20160221212355p:plain

  8. 画像のようにドメイン指定での排除対象が設定できたら、画面下の「Save Changes」をタップします。 f:id:aburos:20160221212401p:plain

  9. 「Back」をタップし、最初の画面に戻ります。オレンジ色で×になっているので、画面下部を上方向にスワイプします。 f:id:aburos:20160221212406p:plain

  10. 緑色になります。(この時、iPhoneVPNプロファイルに追加するかどうか聞かれるので、追加します) f:id:aburos:20160221212332p:plain

  11. 動画広告を排除できました(パチパチ) f:id:aburos:20160221212425p:plain

※ それでも動画広告が表示される場合、SmartNewsアプリを再起動するか、iPhoneを再起動してください。多分キャッシュが残ってるかなんかの影響だと思います。

おわりに

将来的にこの方法では回避できなくなることも十分にありえます。

OS XからWindows 10へ移行した

はじめに

あけましておめでとうございます、もりねずみーです。

実は、去年末にメインで使っているマシン(Macbook Air Mid 2011)にWindows 10を入れて使い始めました。

そこで、思ったことをまとまりなくつらつらと書いていこうかと思います。

特にまえがき長めです。

特に個人的な意見ばかりなのでつまらない記事です。

経緯

マシンスペックの限界か?

使っているMacbook Air Mid 2011は、CPU Intel Core i5 2467M(DualCore+HT)、メモリ4GB、SSD 128GBと、今となってはなかなか低スペックと呼ぶか、まぁまぁじゃないのというべきか、微妙な感じとなってしまいました。

実際のところ、結構厳しい。

「普通に使う分には問題ない」と言いたいところですが、昨今のリッチすぎるWebコンテンツからか、Webブラウジングが、一番スペックを要求されているようにも思えるというよくわからない現状。

WebブラウジングしながらiTunesを開いて音楽を聞きながら何か作業となると、マシンスペック的に厳しくなってしまった。

また、去年10月に、iPhone 6S Plusを買い、YouTubeの1080p60fpsな動画(主にMMD)のヌルヌル再生に慣れてしまい、いざMacbook Airで再生してみるといやぁカクカクなること…。

SSD 128GBというのも厳しい。

どれぐらい厳しいかというと、常に10GB~20GB程度しか余裕がなく、足りなくなる度に頭を悩ませていた。

どうしてそんなにも容量が足りなくなるのか。

まず、OS Xが専有する領域。

XCodeなどの開発環境。

iTunes

Apple Music+iTunes Match。

「ん?Apple Music+iTunes Match?」と思う人もいるかと思うので補足すると、音楽はもっぱらApple Musicを利用していました。そこに、自分が所有する音楽ファイルをiTunes Matchへ登録し自由にするためには、iCloudドライブ上へ自分の音楽ファイルを置く必要があります。

iTunesのライブラリ(iTunes Media)を、iCloudドライブへ置き、iTunesからのライブラリ参照先をそこに設定していました。

そしてそのiCloudドライブというのが、残念なことに、リムーバブルメディア上に設定することが出来ず、「OS Xが格納されるドライブ内のどこか」である必要があるため、内蔵SSD容量はガツンと圧迫されます。

このiCloudドライブの参照先を、試しに無理矢理別ドライブへのシンボリックリンクを貼って試してみましたが、iCloudからは認識出来ず、気付けばそのシンボリックリンクへの設定はOS Xが勝手に「こうあるべきでしょ」というディレクトリに参照先が変更されます。

TranscendのSSD に交換しようとも考えたのだけど、正直これを買ってまでMacbook Airを延命させるよりも、マシン買い換えた方が良い気もする。

そもそもMacintoshにした理由

なぜMachintoshにしたのか。

思い返してみると結構昔まで遡ります。

12年前、ひたすらDTMを楽しんでいた時期がありました。

もともとはWindowsユーザです。

その頃は、自作PC(Athlon XP機)を組んで、Cubaseを使い、M-AudioのAudiophile2496 PCIボードを刺してASIO環境でやっていました。

いやぁCubaseがバツンと落ちる現象、今も昔も変わらないですよ。(懐かしむ目)

Mac使いは変態が多い」

MacUNIXベースで安定さ抜群」

Macはカッコいい」

UNIXベース」はまだしも、他のよくわからない評判から気になってしまい、ミーハー心でPowerbook G4(OS X 10.3 Panther)を買いました。

DTM環境も、Powerbook G4+Firewire接続のオーディオI/F+eMagic Logic 6で、当時のCubaseに比べたら安定さは増し、どこでも出来るというモバイル環境を満喫していました。

その後、就職しイチから職業プログラマという道に進みましたが、自宅で使うのはMacintosh一択で、Macbook Pro 15インチ(当時Macbook Proという名前じゃなかったような?)、そして今のMacbook Air Mid 2011に至りました。

買い替えは大体5年周期ですね。

※「UNIXベース」という言葉を出しましたが、本当に安定してるかといえば、今となっては安定していますが、Snow Leopard頃までは、オーディオI/Fのデバイスドライバ周りとの関係か、カーネルパニックは割りとしょっちゅうありました。

Windows 10への興味

普段、仕事ではもっぱらWindowsを使っています。

現時点でのWindows 7は、昔のWindowsとは違いそこそこ安定していると思いますし、普段仕事で使っているWindows 8.1も、安定さはあり、操作も十分慣れました。

そこで、どうせこのMacbook AirOS Xを動かすのがつらいんだったら、せっかくならWindows 10を入れてみようと、という流れになりました。

まえがきが長くなりました。

インストール

Windows 10

さて、Macbook AirへのWindows 10インストールです。

幸いにも、Windows 7VM環境で使っていたこともあり、正規ライセンスはあります。(USB 2.0接続の128GB USBメモリVMイメージ入れて使ってました…東方紅魔郷が遊べるくらいにはまぁまぁ問題なく動きます…)

で、まずはWindows 10のインストールメディア作成ツールMicrosoftよりダウンロードします。

Windows 7のライセンスキーが手元にあれば、作成するWindows 10インストールメディアから問題なくインストール出来ます。

Optionキーを押しながらMacbookを起動して、インストールメディアをブートしてインストールを進めます。

※具体的なインストール手順は、ググれば既にたくさん出てきますので割愛します

ただ、インストール途中で、Windowsの窓ロゴマークのまま固まってしまうことがあったので、この場合、「…うん、これは固まってるな…」と山勘で判断したところで強制的に電源を落として再起動かけると、セットアップが続行されます(いい加減…) f:id:aburos:20160104232601j:plain

ドライバ周り

ここからが問題です。

この時点で既にやらかしてしまっていました。

MacbookWindowsを入れる場合、OS X側でBootCamp環境を作り、その上でWindowsのインストールを進めることがお勧めのようです。

ただ、残念なことに、Apple公式では、Macbook Air Mid 2011+Windows 10という環境はサポートされておらず、やるなら「自分で勝手にやりな。」という感じ。

Boot Camp を使って Mac で Windows 10 を使う - Apple サポート

というわけで、Apple公式からWindows8.1までのBootCampSupportSoftware(Ver5.x)をダウンロードして、その中から必要なものをインストール。(明確にサポートしているモデルのものなら、少なくともそのモデル向けのWindows 64bitドライバは含まれているはずという魂胆で)

Boot Camp Support Software 5.1.5640

入れたもの

  • BootCamp/Drivers/Apple/AppleBluetoothInstaller64.exe
  • BootCamp/Drivers/Apple/AppleCamera64.exe
  • BootCamp/Drivers/Apple/AppleDisplayInstaller64.exe
  • BootCamp/Drivers/Apple/AppleKeyboardInstaller64.exe
  • BootCamp/Drivers/Apple/AppleMultiTouchTrackPadInstaller64.exe
  • BootCamp/Drivers/Apple/AppleNullDriver64.exe(謎)
  • BootCamp/Drivers/Apple/AppleODDInstaller64.exe(謎)
  • BootCamp/Drivers/Apple/AppleSoftwareUpdate.exe
  • BootCamp/Drivers/Apple/NullSystemDevice64.exe(謎)
  • BootCamp/Drivers/Broadcom/BroadcomComController64.exe
  • BootCamp/Drivers/Broadcom/BroadcomEthernet64.exe
  • BootCamp/Drivers/Broadcom/BroadcomWirelessLegacy64.exe
  • BootCamp/Drivers/Broadcom/BroadcomWirelessWin8x64.exe
  • BootCamp/Drivers/Cirrus/CirrusAudioCS4206x64.exe
  • BootCamp/Drivers/Cirrus/CirrusAudioCS4208x64.exe
  • BootCamp/Drivers/Intel/Chipset/Setup.exe
  • BootCamp/Drivers/Intel/CrystalBeachInstaller.exe(謎)
  • BootCamp/Drivers/Intel/IntelHDLegacyGraphics64.exe
  • BootCamp/Drivers/Intel/IntelMgmtEngine.exe
  • BootCamp/Drivers/Realtek/RealtekSetup.exe(蟹)

はじめは、Windows 10から音が鳴らなくて、「あれ?Intel HD Audioじゃないのか…?」と思い、調べてみたらRealtek High Definition Audioという蟹さん音源もあるらしく、そっちをインストールしてみたところ、見事にドライバが正常にロード出来なかった。

結局、たらい回しにした結果、IntelでもRealtekでもなく、Cirrusというメーカーのドライバが当たりだったみたいで、無事音が出るようになりました。

Apple KeyboardとMultiTouch TrackPadですが、これがどうにも正常にドライバをロード出来ませんでした。

具体的には、上記インストーラからドライバ自体はインストール出来ているものの、デバイスマネージャのドライバの更新から、トラックパッドはリストに「Apple」→「Multitouch Mouse」しか出ず、キーボードの方は「Apple~」すら出てこないんですね。

インストールしたドライバのメーカ名は「Apple」ではなく「Apple Inc,」のはずなんですよね…。

なので、とりあえずApple Keyboadは標準HIDドライバで、Apple MultiTouch TrackPadは、サードパーティ製のTrackpad++をインストールして使ってます。

そもそもWindowsApple Keyboardは個人的にかなり使いにくいことと、普段は外付けキーボード/トラックボールを使っているので、なんら支障無いんです↓ f:id:aburos:20160104184256j:plain

まとめ

Windows 10にして良かった点

  • 動作が軽い
  • OS自体の消費メモリが少ない
  • SSDの空き領域が40GB近く確保できた(必要なアプリケーションやデータは全てWindows10へ移行済み)
  • Windows+Xキー、Windows+Rで目的のものへアクセスが楽
  • グラフィック描画が速い
  • YouTubeの1080p60fps動画が普通に再生出来る ※1
  • DirectXが使える(同人/オリジナルゲームが遊べる)
  • VMware Playerが使える(OS X向けのVMware Player Fusionはバージョンアップ毎にお金が必要)
  • LTSpiceが普通に使える(OS X向けのLTSpiceはなぜかツールバーが出ない、すぐ落ちるなどの不具合がある)
  • 試しにCubase Element体験版を入れてみたら、OS X版に比べてモッサリ感が全然無い

※1 これは正直CPUやグラボ、液晶ディスプレイの性能に大きく依存する部分なので、まさかOS変えることで改善されるとは思わなかった。MMDがめっちゃヌルヌル動く。普段使ってた液晶もわざわざゲーミング用ディスプレイに買い換えなきゃいけないと思ってたら、普通にヌルヌル表示出来てて驚いた。

Windows 10にして悪かった点

  • Norton先生などのお世話になる
  • NTFSが未だに長いファイルパスを扱えずNode.jsのnode_modulesのネスト問題に引っかかる(これは現時点で吉報も出てるのでそのうちなんとかなるかも)
  • Macbookクラムシェルモードが使えない
  • フォント汚い ※1
  • cmd.exe

※1 お願いだからもう"MS Pゴシック"とかフォントファミリー指定の最初の方に入れないで…

Windows 10にして変わったこと(感じたこと)

  • Windows 10、悪くない。むしろ良い
  • むしろOS X、なんでそんなに重いの
  • Google Driveを解約してOneDrive(1TB)に移行した ※1
  • 仕事で慣れているせいなのか生産性が上がった気持ちになる ※2

※1 元々Office365 Soloサブスクリプションを契約していたので1TBが付属する ※2 仕事に追われる恐怖からか操作/作業が速い…?

Apple Music+iTunes Match

これどうするか悩んでる。

Apple Musicは楽曲数も多く、特に洋物が豊富でメタル、ガバなどのエレクトロハードコア、ロシアンポップ(新旧)が好きな僕には、すごく魅力的なサービスなんだけど、iTunes Matchがどうしても料金が高い。そしてそこまでして自分の持ってる楽曲をApple Musicとして使いたいかというと、微妙なところ。

Google Play Musicは、既にiOSに対応しているはずなんだけど、なぜか自分のiPhoneから登録出来なかったと、マテリアルデザインがどうも好きになれずにいるせいか、選択肢から外れた。

Amazon Prime Musicは、現時点で100万曲程度しか無いっていうことで、3,000万曲以上持つApple MusicやGoogle Play Musicとは比較にならないのだけど、Amazonのマーケット力を使えば、曲数の問題なんてあっという間に解決してしまう気もするので、その時また検討する。

結果、とりあえずApple Music+iTunes Matchをもうしばらく使う。

※ 音楽サービスについては、別途クラウドサービスについて書きたいことがあるので、そこでまた色々盛り込みたいと思う。

どうでもいいこと

こないだ、「デスクトップPCを捨ててMacbook Airに統一したら最高だった」的な記事を、どこかのライターさんが書いてるのを読んだ。

あれ、今使っているこのMacbook Airを購入した時の僕と同じ感想です。

最初はそれで良いかもしれないけど、3年~5年もすればだいぶゴミスペックまで落ち込んじゃってて、ノートPCをメインにすると、ノートPCごと買い替えとなって、買い替えのタイミングでのコストが大きすぎるんですよ。特にApple製品の場合。

その人のライフスタイルっていうものもあるので、「絶対これ」っていうのは無いしそれはもちろん個人の自由なんだけど、老婆心で言うと、ノートPCはコスパ重視でサブ機、メインマシンは後から強化可能なものにしておくのが、いざというときの出費を抑えられてハッピーになれるんじゃないかなっていう個人的な感想。

おわりに

Webな開発をやっていると、Windowsクソがっていう部分が多く感じていたんだけど、最近はWindows向けにバイナリや開発環境が用意されていたりもあって改善されている部分もある。

逆に、絶対にWindowsでやらなければいけないっていうわけでも無いので、そこは適宜、VM環境などでLinux上で行えば良いだけでもある。

また、最近はクラウドサービスの利用がだいぶ当たり前になってきているせいもあってか、割りとMacじゃないとダメ、Windowsじゃないとダメ、Linuxじゃないとダメっていうのが、無くなってきている。

当然、XcodeOS Xじゃないとダメで、.NETもMonoがあるけど.NET FrameworkVisual Studio一式には勝てないだろうし、NginxやDocker使うならLinuxが一番楽な気もする。

そんな中で、Windows 10は、今までのダメだった部分をじわじわと改善を続けていった結果が、こんな古いMacbook Airですら軽快に動作して色々な不満点が一気に解消されたっていうのは、個人的にも嬉しいことだし、OSとしても素晴らしい快挙なんじゃないかって思ったりもする。

個人的には、間違いなく今までのWindowsで最高のWindowsだと思う。

参考までに歴代OS乗り換えでの体感的な速度感想を…

Raspberry Pi 2での油冷オーバークロック

みんな!油ぎってるかぁーーーーーー!!!

こんばんは。

貧弱なマシンに愛(油)を注ぎ、時には鞭(過電圧過電流)を与え、死に至らしめてもなお快感を得てしまう変態サディストかつ心はドM。

もりねずみーです。

Raspberry Pi Advent Calendar 2015 17日目の記事です。

http://www.adventar.org/calendars/778

今日は油冷オーバークロック辺りのことを書きます。

まえがき

ラズパイの油冷は、去年あたりに一度やって、色々後々失敗と感じたこと、また、当時はRaspberry Pi Model B+での実施で、今は手元にRaspberry Pi 2 Model Bがあることから、再挑戦してみたいなと思いました。

http://www.slideshare.net/morinezumiiii/20140920jagibaraki1

前回の結果

  • オーバークロック:700MHz → 1.2GHz
  • UnixBench値:70 → 145.5
  • CPU温度(アイドル時): 39.5℃ → 26.1℃
  • CPU温度(高負荷時): 59.6℃ → 27.4℃

前回の失敗

  • 油で部屋が臭くなった
  • 冷やしすぎて結露が発生しBeagleBoneが1台ウォーターボールで破壊された
  • 油の処理が大変だった(廃油は発火しない温度で調整しながら固めるテンプル)
  • オーバークロックしてもAWS EC2 T2 Microに鼻で笑われた

今回の構成

  • マシン: Raspberry Pi 2 Model B
  • CPU  :BCM2386 900MHz Cortex-A7 MP(Quad Core)
  • メモリ:1GB
  • ストレージ:32GB microSD(Class10 UHS)
  • OS:Arch Linux ARM(Kernel 4.2)

冷却方法

以下の機器を利用し、ペルチェ素子熱移動と油でボード全体を冷却。 また、ペルチェ素子吸熱側に4cm角ファンを設置し、SoCに直接冷却油を当てる。

組立て

これを

f:id:aburos:20151216140321j:plain

こうして

f:id:aburos:20151216233428j:plain

こうじゃ!

f:id:aburos:20151217013735j:plain

こんな感じになる。

前回は、複数ボード全てを油冷するため、大きめのアクリルボックスにドボンしてたけど、これだと油温度にムラが出来てしまうのと、60Wクラスのペルチェ素子では冷却しきれなかった。

今回は、これ以上ラズパイを犠牲にしたくないことと、単純にオーバークロック検証のためだけなので、ラズパイ2×1台に特化した筐体となった。

材料

※使用する高圧絶縁油は危険物乙種4類第3石油類で引火点も低めのため、取り扱いには危険物取扱者乙種4類か丙種の資格が必要です

検証方法

ラズパイのCPU温度、コア電圧、RAM電圧、CPU周波数を確認するため、以下のシェルスクリプトを用意。

[morinezumiiii@morine-rpi-web1 ~]$ cat check_pi_health.sh
#!/bin/sh

echo "-- Pi temp and volts --"
echo cpu_temp: `/opt/vc/bin/vcgencmd measure_temp`
echo core_volt: `/opt/vc/bin/vcgencmd measure_volts core`
echo sdram_c_volt: `/opt/vc/bin/vcgencmd measure_volts sdram_c`
echo sdram_i_volt: `/opt/vc/bin/vcgencmd measure_volts sdram_i`
echo sdram_p_volt: `/opt/vc/bin/vcgencmd measure_volts sdram_p`

echo "-- Pi CPU1 current frequency --"
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
echo "-- Pi CPU1 max frequency --"
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
echo "-- Pi CPU2 current frequency --"
cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq
echo "-- Pi CPU2 max frequency --"
cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq
echo "-- Pi CPU3 current frequency --"
cat /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_cur_freq
echo "-- Pi CPU3 max frequency --"
cat /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_max_freq
echo "-- Pi CPU4 current frequency --"
cat /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_cur_freq
echo "-- Pi CPU4 max frequency --"
cat /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_max_freq

また、検証時温度環境は以下の通り。

  • 室温:23℃
  • 筐体内温度(冷却なし):24℃くらい
  • 筐体内温度(冷却あり):8℃〜12℃くらい

Unix Benchその1(油冷前・オーバークロック前)

まずは、素の状態で検証

/boot/config.txt

## Default
arm_freq=900
core_freq=450
sdram_freq=450
over_voltage=2
[morinezumiiii@morine-rpi-web1 unixbench]$ ./Run
sh: 3dinfo: command not found

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com

Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.

1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

1 x Execl Throughput  1 2 3

1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

1 x File Copy 256 bufsize 500 maxblocks  1 2 3

1 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

1 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

1 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

1 x Process Creation  1 2 3

1 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

1 x Shell Scripts (1 concurrent)  1 2 3

1 x Shell Scripts (8 concurrent)  1 2 3

4 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

4 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

4 x Execl Throughput  1 2 3

4 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

4 x File Copy 256 bufsize 500 maxblocks  1 2 3

4 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

4 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

4 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

4 x Process Creation  1 2 3

4 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

4 x Shell Scripts (1 concurrent)  1 2 3

4 x Shell Scripts (8 concurrent)  1 2 3

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: morine-rpi-web1: GNU/Linux
   OS: GNU/Linux -- 4.1.13-1-ARCH -- #1 SMP PREEMPT Fri Nov 13 20:11:44 MST 2015
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
   CPU 0: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   CPU 1: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   CPU 2: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   CPU 3: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   07:35:31 up 13:07,  1 user,  load average: 0.28, 0.21, 0.15; runlevel unknown

------------------------------------------------------------------------
Benchmark Run: Sun Dec 13 2015 07:35:31 - 08:04:45
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        3508312.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      558.7 MWIPS (9.3 s, 7 samples)
Execl Throughput                                368.8 lps   (29.2 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         72593.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           20574.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        191358.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              185795.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  27464.5 lps   (10.0 s, 7 samples)
Process Creation                               1205.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                    678.3 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    258.4 lpm   (60.1 s, 2 samples)
System Call Overhead                         498732.4 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    3508312.2    300.6
Double-Precision Whetstone                       55.0        558.7    101.6
Execl Throughput                                 43.0        368.8     85.8
File Copy 1024 bufsize 2000 maxblocks          3960.0      72593.5    183.3
File Copy 256 bufsize 500 maxblocks            1655.0      20574.5    124.3
File Copy 4096 bufsize 8000 maxblocks          5800.0     191358.0    329.9
Pipe Throughput                               12440.0     185795.7    149.4
Pipe-based Context Switching                   4000.0      27464.5     68.7
Process Creation                                126.0       1205.3     95.7
Shell Scripts (1 concurrent)                     42.4        678.3    160.0
Shell Scripts (8 concurrent)                      6.0        258.4    430.6
System Call Overhead                          15000.0     498732.4    332.5
                                                                   ========
System Benchmarks Index Score                                         166.1

------------------------------------------------------------------------
Benchmark Run: Sun Dec 13 2015 08:04:45 - 08:33:58
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       14016752.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2231.1 MWIPS (8.9 s, 7 samples)
Execl Throughput                               1306.8 lps   (29.4 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        112920.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           31462.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        297701.8 KBps  (30.0 s, 2 samples)
Pipe Throughput                              737567.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 114655.7 lps   (10.0 s, 7 samples)
Process Creation                               2591.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2020.1 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    274.1 lpm   (60.3 s, 2 samples)
System Call Overhead                        1906120.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   14016752.7   1201.1
Double-Precision Whetstone                       55.0       2231.1    405.6
Execl Throughput                                 43.0       1306.8    303.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     112920.0    285.2
File Copy 256 bufsize 500 maxblocks            1655.0      31462.9    190.1
File Copy 4096 bufsize 8000 maxblocks          5800.0     297701.8    513.3
Pipe Throughput                               12440.0     737567.7    592.9
Pipe-based Context Switching                   4000.0     114655.7    286.6
Process Creation                                126.0       2591.6    205.7
Shell Scripts (1 concurrent)                     42.4       2020.1    476.4
Shell Scripts (8 concurrent)                      6.0        274.1    456.9
System Call Overhead                          15000.0    1906120.5   1270.7
                                                                   ========
System Benchmarks Index Score                                         429.9
[morinezumiiii@morine-rpi-web1 ~]$ sudo ./check_pi_health.sh
-- Pi temp and volts --
cpu_temp: temp=36.9'C
core_volt: volt=1.2000V
sdram_c_volt: volt=1.2000V
sdram_i_volt: volt=1.2000V
sdram_p_volt: volt=1.2250V
-- Pi CPU1 current frequency --
600000
-- Pi CPU1 max frequency --
900000
-- Pi CPU2 current frequency --
600000
-- Pi CPU2 max frequency --
900000
-- Pi CPU3 current frequency --
600000
-- Pi CPU3 max frequency --
900000
-- Pi CPU4 current frequency --
600000
-- Pi CPU4 max frequency --
900000

その1 結果

  • クロック周波数:900MHz
  • 冷却なし
  • UnixBenchスコア:429.9(1コアあたり166.1)
  • CPU温度:36.9℃
  • 筐体内温度:22.9℃

Unix Benchその2(油冷前(ペルチェ冷却のみ)・オーバークロック(Turbo))

/boot/config.txt

##Turbo
arm_freq=1000
core_freq=500
sdram_freq=500
over_voltage=6
[morinezumiiii@morine-rpi-web1 unixbench]$ ./Run
sh: 3dinfo: command not found

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com

Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.

1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

1 x Execl Throughput  1 2 3

1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

1 x File Copy 256 bufsize 500 maxblocks  1 2 3

1 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

1 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

1 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

1 x Process Creation  1 2 3

1 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

1 x Shell Scripts (1 concurrent)  1 2 3

1 x Shell Scripts (8 concurrent)  1 2 3

4 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

4 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

4 x Execl Throughput  1 2 3

4 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

4 x File Copy 256 bufsize 500 maxblocks  1 2 3

4 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

4 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

4 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

4 x Process Creation  1 2 3

4 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

4 x Shell Scripts (1 concurrent)  1 2 3

4 x Shell Scripts (8 concurrent)  1 2 3

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: morine-rpi-web1: GNU/Linux
   OS: GNU/Linux -- 4.1.13-1-ARCH -- #1 SMP PREEMPT Fri Nov 13 20:11:44 MST 2015
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
   CPU 0: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   CPU 1: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   CPU 2: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   CPU 3: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   17:07:36 up 4 min,  1 user,  load average: 0.43, 0.18, 0.08; runlevel unknown

------------------------------------------------------------------------
Benchmark Run: Tue Dec 15 2015 17:07:37 - 17:37:07
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        3888470.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      618.8 MWIPS (9.7 s, 7 samples)
Execl Throughput                                368.6 lps   (29.4 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         82720.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           23030.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        225271.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              205706.8 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  30401.4 lps   (10.0 s, 7 samples)
Process Creation                               1359.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                    681.2 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    300.7 lpm   (60.1 s, 2 samples)
System Call Overhead                         551793.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    3888470.2    333.2
Double-Precision Whetstone                       55.0        618.8    112.5
Execl Throughput                                 43.0        368.6     85.7
File Copy 1024 bufsize 2000 maxblocks          3960.0      82720.5    208.9
File Copy 256 bufsize 500 maxblocks            1655.0      23030.5    139.2
File Copy 4096 bufsize 8000 maxblocks          5800.0     225271.0    388.4
Pipe Throughput                               12440.0     205706.8    165.4
Pipe-based Context Switching                   4000.0      30401.4     76.0
Process Creation                                126.0       1359.3    107.9
Shell Scripts (1 concurrent)                     42.4        681.2    160.6
Shell Scripts (8 concurrent)                      6.0        300.7    501.2
System Call Overhead                          15000.0     551793.0    367.9
                                                                   ========
System Benchmarks Index Score                                         183.5

------------------------------------------------------------------------
Benchmark Run: Tue Dec 15 2015 17:37:07 - 18:06:14
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       15532477.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2478.5 MWIPS (9.1 s, 7 samples)
Execl Throughput                               1521.4 lps   (29.5 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        130286.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           34996.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        346386.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              819145.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 126662.7 lps   (10.0 s, 7 samples)
Process Creation                               2988.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2349.5 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    319.4 lpm   (60.4 s, 2 samples)
System Call Overhead                        2113879.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   15532477.7   1331.0
Double-Precision Whetstone                       55.0       2478.5    450.6
Execl Throughput                                 43.0       1521.4    353.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     130286.4    329.0
File Copy 256 bufsize 500 maxblocks            1655.0      34996.5    211.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     346386.9    597.2
Pipe Throughput                               12440.0     819145.9    658.5
Pipe-based Context Switching                   4000.0     126662.7    316.7
Process Creation                                126.0       2988.9    237.2
Shell Scripts (1 concurrent)                     42.4       2349.5    554.1
Shell Scripts (8 concurrent)                      6.0        319.4    532.3
System Call Overhead                          15000.0    2113879.5   1409.3
                                                                   ========
System Benchmarks Index Score                                         487.7
-- Pi temp and volts --
cpu_temp: temp=19.6'C
core_volt: volt=1.3940V
sdram_c_volt: volt=1.2000V
sdram_i_volt: volt=1.2000V
sdram_p_volt: volt=1.2250V
-- Pi CPU1 current frequency --
1000000
-- Pi CPU1 max frequency --
1000000
-- Pi CPU2 current frequency --
1000000
-- Pi CPU2 max frequency --
1000000
-- Pi CPU3 current frequency --
1000000
-- Pi CPU3 max frequency --
1000000
-- Pi CPU4 current frequency --
1000000
-- Pi CPU4 max frequency --
1000000

その2 結果

  • クロック周波数:1GHz
  • 冷却あり(ペルチェ冷却のみ)
  • UnixBenchスコア:487.7(1コアあたり183.5)
  • CPU温度:19.6℃
  • 筐体内温度:15.9℃

Unix Benchその3(ペルチェ冷却+油冷)・オーバークロック(Turbo+))

/boot/config.txt

##Lunatic
arm_freq=1200
core_freq=600
sdram_freq=600
over_voltage=6
[morinezumiiii@morine-rpi-web1 unixbench]$ ./Run
sh: 3dinfo: command not found

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com

Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1379.
Use of uninitialized value in printf at ./Run line 1380.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.
Use of uninitialized value in printf at ./Run line 1589.
Use of uninitialized value in printf at ./Run line 1590.

1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

1 x Execl Throughput  1 2 3

1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

1 x File Copy 256 bufsize 500 maxblocks  1 2 3

1 x File Copy 4096 bufsize 8000 maxblocks  1 2

ハングアップ…(゚Д゚)?

[morinezumiiii@morine-rpi-web1 ~]$ sudo ./check_pi_health.sh
-- Pi temp and volts --
cpu_temp: temp=19.2'C
core_volt: volt=1.3940V
sdram_c_volt: volt=1.2000V
sdram_i_volt: volt=1.2000V
sdram_p_volt: volt=1.2250V
-- Pi CPU1 current frequency --
1200000
-- Pi CPU1 max frequency --
1200000
-- Pi CPU2 current frequency --
1200000
-- Pi CPU2 max frequency --
1200000
-- Pi CPU3 current frequency --
1200000
-- Pi CPU3 max frequency --
1200000
-- Pi CPU4 current frequency --
1200000
-- Pi CPU4 max frequency --
120000

その3 結果

  • クロック周波数:1.2GHz
  • 冷却あり(ペルチェ冷却+油冷)
  • UnixBenchスコア:計測不能
  • CPU温度:19.2℃
  • 筐体内温度:11.8℃

Unix Benchその4(ペルチェ冷却+油冷)・オーバークロック(Lunatic))

試しに。

/boot/config.txt

##Lunatic
arm_freq=1500
core_freq=750
sdram_freq=750
over_voltage=7
[    4.505510] md: raid0 personality registered for level 0
[    4.511688] md: raid1 personality registered for level 1
[    4.517835] md: raid10 personality registered for level 10
[    4.524438] md: raid6 personality registered for level 6
[    4.530595] md: raid5 personality registered for level 5
[    4.536710] md: raid4 personality registered for level 4
[    4.542800] md: multipath personality registered for level -4
[    4.549399] md: faulty personality registered for level -5
[    4.556158] device-mapper: uevent: version 1.0.3
[    4.562248] device-mapper: ioctl: 4.31.0-ioctl (2015-3-12) initialised: dm-devel@redhat.com
[    4.573424] device-mapper: multipath: version 1.9.0 loaded
[    4.580044] device-mapper: multipath round-robin: version 1.0.0 loaded
[    4.587879] Indeed it is in host mode hprt0 = 00021501
[    4.594289] device-mapper: multipath queue-length: version 0.1.0 loaded
[    4.602203] device-mapper: multipath service-time: version 0.2.0 loaded
[    4.610167] device-mapper: raid: Loading target version 1.6.0
[    4.617495] bcm2835-cpufreq: min=600000 max=1500000

ハングアップ…(/_;)

その4 結果

  • クロック周波数:1.5GHz
  • 冷却あり(ペルチェ冷却+油冷)
  • UnixBenchスコア:起動すら不可
  • 筐体内温度:10.8℃

なんでなの?

ラズパイ1B+の時は700MHzから1.2GHzまでいけたのに…。

おわりに

デスクトップ用途や昨今のそれなりにCPUリソース必要なWebフレームワークガンガン使うようなWebサーバ用途などでは、せめてEC2 t2 microくらい欲しい。

でもそれはラズパイに期待してはいけないってのは去年ぐらいから知ってた…(´・ω・`)

とはいえ、こんなにも油まみれになって、また部屋が臭くなったにも関わらず残念すぎる結果に終わってしまうのも悔しいので、年内になんとか1.5GHz超えしたい。その時はここに追記します。

「おぉ もりねずみーよ

 あどべんとかれんだー なのに 

 けっかを こみっとできないとは なさけない!」

補足

今回再度油冷オーバークロック挑戦しようと思って誰か他にやってる人いないかなーってググってみたら、いました。

Raspberry Pi • View topic - Raspberry Pi 2 extream overclocking

出ました、液体窒素冷却オーバークロッカー(yabai)

それでも、1.5GHzまでしか出来てないのか…。液体窒素なら3GHzくらいいけるんじゃないかと思ってたけど、そんなに単純な問題じゃないのか。

Nexus 7(2012)にUbuntu 13.04をインストールしてFTDI社のUSBシリアル通信デバイス(USBオシロ)を使うまでの手順

目的

AndroidタブレットUbuntuタブレットにしてFTDIなUSBシリアル通信デバイスを接続して気持ちいいことする。

f:id:aburos:20151126193629j:plain

環境

OS: Windows 8.1+MSYS2 Ubuntuマシン: Nexus 7 2012 16GB WiFiモデル

※ GunZip圧縮形式のものが解凍できること

手順

  • Nexus7をUbuntu入れれるようにしておく
  • Nexus7向けにビルドされたUbuntuイメージをダウンロード/インストール
  • Nexus7のUbuntuLinuxカーネル設定を変更してリビルド
  • USB(OTG)ハブに接続したFTDI社のチップを積んだUSBシリアル通信デバイスのドライバモジュールをロード

事前準備(Nexus7をいい感じにする)

  • Unlockする
  • Root化する
  • カスタムリカバリを入れる

※この辺は既に情報沢山あるのでググればすぐ見つかります。

Nexus7用Ubuntuのダウンロード

以下サイトから、ブートローダイメージ、ユーザーデータイメージをダウンロード

Ubuntu 13.04 (Raring Ringtail)

※リンク先はいつまでも残っているとは限りませんが、cdimage.ubuntu.com内のUbuntuリリースを辿って行くと見つかると思います。

必要なもの

  • ubuntu-13.04-preinstalled-desktop-armhf+nexus7.bootimg
  • ubuntu-13.04-preinstalled-desktop-armhf+nexus7.img.gz

Android SDK内のツールを使用してNexus 7 2012の準備

以下サイトから、Android SDK(Stand-alone)をダウンロード

Android Studio と SDK Tools のダウンロード | Android Developers

必要なもの

※ 環境に応じて適切なものを選択 ※ ダウンロードしたらインストール(ZIPなら適当な場所に解凍して環境変数PATHにパスを通す) ※ Android SDKの詳しい使い方は、色々な所で紹介されているので、そちらをご参考に…。

Nexus7にUbuntuイメージ書き込み

1. 既存のブート領域を削除

$ fastboot erase boot

※1.152秒くらい

2. 既存のユーザーデータ領域を削除

$ fastboot erase userdata

※5.042秒くらい

3. Nexus7用Ubuntuブートイメージを書き込み

$ fastboot flash boot ubuntu-13.04-preinstalled-desktop-armhf+nexus7.bootimg

※2.442秒くらい

4. Nexus7用Ubuntuユーザーデータイメージを書き込み

$ fastboot flash userdata ubuntu-13.04-preinstalled-desktop-armhf+nexus7.img

※131.222秒くらい

5. Nexus7を再起動

$ fastboot reboot

Googleのロゴが出た後、黒い画面に「Preparing the root filesystem, please wait, this will take a few minutes ...」とメッセージが出て、a few minutes(10分くらいかかった)待つ。

無事起動すると、ユーザ作成、タイムゾーン設定などのウィザードが表示される。(ソフトウェアキーボードも、画面回転も使えるのでご安心を)

f:id:aburos:20151126171739j:plain

6. Ubuntuパッケージリポジトリ参照先を変更

使用するNexus7向けUbuntuのイメージが古すぎて、既にサポートされていないリポジトリ参照先となっているため、aptのソースリストを変更。

$ sudo nano /etc/apt/source.list

ports.ubuntu.com/ubuntu-ports
を
old-releases.ubuntu.com/ubuntu
に、置換

参考にした記事

Nexus7上のUbuntuLinuxカーネルを設定してカーネル再構築

今回使用したUbuntuはNexus7用に既に最適化されたものをポンと入れるだけで、かなり快適な環境に整っているのですが、残念ながらUSBシリアル通信を行うためのデバイスドライバ等は用意されていませんでした。

(/dev/ttyUSB0もしくはそれ相当のものが無くて気付いた)

そこで、Nexus7向けUbuntuLinuxカーネルを落としてきて、自分でカーネルを再ビルドする必要がありました。

1. Nexus7向けUbuntuLinuxカーネルをダウンロード

Gitで管理されているため、Gitをインストールし、Linuxカーネルソースを取得

※40分位かかりました

$ sudo apt-get install git
$ git clone git://kernel.ubuntu.com/ubuntu-archive/ubuntu-nexus7.git

2. UbuntuLinuxカーネルビルド環境の用意

Ubuntu上でカーネルビルドするための環境を用意

$ sudo apt-get install libncurses-dev build-essential fakeroot kernel-package

3. UbuntuLinuxカーネル設定

取得したNexus7向けLinuxカーネルソースを以下の手順で設定

$ sudo -s
# cd /usr/src
# mv ubuntu-nexus7(取得したNexus7向けLinuxカーネルソースディレクトリ) ./
# cd ubuntu-nexus7
# make oldconfig
# make menuconfig

Linuxカーネルソースディレクトリ上でmake menuconfigを行うと、カーネル設定するための画面が表示されます。

ここで、 Device Drivers --> USB support --> USB Serial Converter support の順にページを進み、次のように設定します。

--- USB Serial Converter support
[*] USB Serial Console device support
[*] Functions for loading firmware on EZUSB chip ※多分不要
[*] USB Generic Serial Driver
~~~~省略~~~
[M] USB FTDI Single Port Serial Driver
~~~~省略~~~

※カーソルキーで項目を移動、スペースキーで設定変更(""/"M"/"*")できます。

4. UbuntuLinuxカーネル再構築(ビルド)

普通なら、このままmakeすれば良いのですが、ちょっと待って下さい。

もう少し手順を踏む必要があります。

まず、現在のLinuxカーネルのバージョンを確認してください。

$ uname -r

すると、3.1.10-10-nexus7と表示されるかと思います。

しかし、取得したNexus7向けカーネルソースは、3.1.10というカーネルバージョンで、 そのままmakeすると、/bootの下には、vmlinuz-3.1.10というカーネルイメージが作られます。

Nexus7向けに最適化されたLinuxカーネルということと、Nexus7自体のブートローダを弄るはめになるのも嫌なので、ここではあくまでも3.1.10-10-nexus7という名前のカーネルイメージを作りたいです。

そのため、カーネルソースのMakefileを開き、バージョン名を以下のように修正します。

# nano /usr/src/ubuntu-nexus7/Makefile

(修正前)
VERSION = 3
PATCHLEVEL = 1
SUBLEVEL = 10
EXTRAVERSION = 
NAME = "Divemaster Edition"

(修正後)
VERSION = 3
PATCHLEVEL = 1
SUBLEVEL = 10
EXTRAVERSION = -10-nexus7
NAME = "Divemaster Edition"

はい、これで、3.1.10-10-nexus7という名前のカーネルイメージが作られるようになるように見えます。

が、まだこのままでは出来ません。

このままmakeすると、3.1.10-10-nexus7+という名前のカーネルイメージが作成されます。

"+"が付いてしまうのは、バグではないのかと。

make LOCALVERSION=""とすれば消えるそうなのですが、消えません。

Debianのコミュニティでバグ報告として上がっているようですが。

せめてオプションで"+"付けるかどうか選択出来るようにして欲しいのですが。

とまあ、余計なことはこれくらいにして、"+"が付かないように、script/setlocalversionという シェルスクリプトの内容を修正します。

# nano /usr/src/ubuntu-nexus7/script/setlocalversion
※多分最後の方にある

(修正前)
# scm version string if not at a tagged commit
if test "$CONFIG_LOCALVERSION_AUTO" = "y"; then
        # full scm version string
        res="$res$(scm_version)"
else
        # append a plus sign if the repository is not in a clean
        # annotated or signed tagged state (as git describe only
        # looks at signed or annotated tags - git tag -a/-s) and
        # LOCALVERSION= is not specified
        if test "${LOCALVERSION+set}" != "set"; then
                scm=$(scm_version --short)
                res="$res${scm:++}"
        fi
fi


(修正後)
# scm version string if not at a tagged commit
if test "$CONFIG_LOCALVERSION_AUTO" = "y"; then
        # full scm version string
        res="$res$(scm_version)"
#else
#        # append a plus sign if the repository is not in a clean
#        # annotated or signed tagged state (as git describe only
#        # looks at signed or annotated tags - git tag -a/-s) and
#        # LOCALVERSION= is not specified
#        if test "${LOCALVERSION+set}" != "set"; then
#                scm=$(scm_version --short)
#                res="$res${scm:++}"
#        fi
fi

はい、ここまで出来たら、ようやくカーネルビルド出来ます。

ビルドは時間かかる(1時間位)ので、流したらしばし放置。

また、Nexus7 2012はデュアルコア(だったはず)なので、-j3オプションでコア2つ使うようにしておきます。

# make -j3 LOCALVERSION="" && make install && make modules_install

ビルドが終わると、/bootディレクトリ内のカーネルイメージなどが更新されているはずです。

カーネルイメージが正しく作成されたら、Nexus7を再起動します。

再起動後、/lib/modules/3.1.10-10-nexus7/kernel/drivers/usb/serialディレクトリ内にftdi_sio.koというモジュールがインストールされていれば成功です。

5. USBシリアル通信デバイスドライバモジュールをロード

前手順で、ftdi_sio.koというモジュールが正常にインストールされていれば、ロード出来るはずです。

$ sudo modprobe usbserial ※これ自体はbuiltinのためmodprobeしなくても良いのかも
$ sudo modprobe ftdi_sio

正常にロードされていれば、FTDI社のUSBシリアル通信デバイスを、Nexus7に挿したUSB-OTGハブに接続してみてください。

lsusbコマンドでデバイスの接続状況、lsmodでモジュールの使用状況(正常ならftdi_sioが0以外、ロードされていない/接続していないなら0になるはず)が確認できます。

f:id:aburos:20151128174039j:plain

で、正常に認識されれば、/dev/ttyUSB0が使えるようになります。

f:id:aburos:20151128174810j:plain

ハマったところ

Nexus 7 2012+Ubuntu」という記事や情報はたくさんあるのだけれど、Nexus 7 2012という端末とNexus7用Ubuntuイメージが古くなってしまっていることから、Nexus7用Ubuntuイメージへのリンクが切れてしまっていたり、「それ、もうずっとメンテナンスされてないから落とせないよ」という情報が多く、中々イメージファイルの場所まで辿り着くのが大変だった。(結局、Ubuntuの公式Imageのサイトからリンクを上の階層に辿り、そこから新しいバージョンから順に一つ一つ「Nexus7…Nexus7どこ…」と探し漁ったら見つかったけど、これもいつ消えるか分からない)

また、Ubuntu自体も今はUbuntu Touchという名前で、スマートフォン/タブレット向けにカスタマイズされたイメージがリリースされていて、Nexus 7向けにカスタマイズされてパッとやってポンだけのUbuntuイメージは13.04のみとなっていた。(13.04が最初で最後?)

ただ、所詮Linuxなので、やろうと思えば、ちょっと頑張れば割りと簡単に出来るようになる。

経緯

なんでこんなことしたか、すごく個人的な理由です。

電子工作するのにオシロスコープを使いたかったのだけど、 持っているオシロスコープはUSB接続タイプのbitscope microというもの。

f:id:aburos:20151122014338j:plain

これは、WindowsOSXLinux、ラズパイでも動作するというのが売りで、はじめはラズパイ2につないで使おうと企んでいた。

けど、ラズパイ2にしても所詮はラズパイ2の性能で、Linuxデスクトップを動かすには、それでも中々動作は重い。

それに、ラズパイだと液晶ディスプレイ、キーボード、あるいはタッチパネル式液晶ディスプレイが必要になるわけで、オシロスコープ使いたいためだけにわざわざそんなゴテゴテした機器一式部屋に置きたくなかった。

物置を掃除していたら、今時では流石にもっさり過ぎて使わなくなっていたNexus 7 2012が出てきて、「あ、そういうやNexus 7Linux動かすのって結構報告上がってたよな…これはイケる。」と確信して、ここまで辿り着きましたとさ。

最終的には、Ubuntuを入れたNexus7にホスト機器への充電も可能なUSBハブを繋いで、そこにbitscopeなどを繋いで、あとはbitscope用のオシロ/ロジアナなどのソフトウェアをインストールして使う。

終わりに

いや、Nexus7+Ubuntu、本当に良いよ。

タブレットの向きを変えれば、ディスプレイ設定も自動的に変わってくれたり、最初からタッチパネルがポインタとして使えるし、文字入力が必要な場面ではソフトウェアキーボードを出してくれる。

正直、Ubuntuがここまでタブレット等のデバイスで快適に使えるレベルだとは思いもしなかった。

Ubuntu Touchが実際どういうデバイスに搭載されているのか知らない(というかこれ調べてて初めてUbuntu Touchという存在に気付いた)けど、ようやくデスクトップLinuxがそこそこ使えるレベル(?)になってきたかなという現状、いや、それ以前からUbuntuがここまでタブレットデバイスとして便利なものになってるということを思うと、今後にも期待したい。

ということで、今後電子工作のお供に、オシロ/ロジアナ/計測に使っていきます。

f:id:aburos:20151128180058j:plain

Raspberry Pi向けArch Linux ARMインストールの自動化(一部)

はじめに

用途が少し特殊なため、役に立つ人はごく少数かもしれない。

完全に自分が楽するためだけに作ったものなので、有益な情報になるかどうかわからないけど、役に立ってくれる人がいたら、少し嬉しい。

Arch Linux ARM OSインストール用スクリプト

概要

  • Raspberry Pi用のOS(Arch Linux ARM)をセットアップするスクリプト
  • SDカードを挿す→スクリプト実行→SDカードをRaspberry Piに挿し変えるだけ
  • OSイメージは、カレントディレクトリに無ければarchlinuxarm.orgから最新版をダウンロードしてくれる
  • SDカード容量の内、100MBをbootパーティションに、残りの容量全てをrootパーティションに割当て
  • rootパーティションフォーマットはF2FSを使用
  • ネットワーク設定は、systemd-networkdを使用

事前に必要なもの(スクリプト実行環境がArch Linuxの場合)

  • bsdtar
  • dosfs-tools
  • f2fs-tools

ソースコード

https://github.com/morinezumiiii/ArchLinuxARM-installer-for-raspberrypi

使い方

  1. SDカードをPCに挿す。
  2. 以下のようにスクリプトを実行
# cd ArchLinuxARM-installer-for-raspberrypi
# ./install.sh [SDデバイスパス] [IPアドレス] [ゲートウェイ] [DNS]

例:

# ./install.sh /dev/sdX 192.168.0.100 192.168.0.1 192.168.0.1
  1. スクリプトが完了したら、SDカードを抜き、Raspberry Piに挿し、電源を投入。

これで、指定したIPアドレス上のRaspberry PiにSSHでログイン出来る。

経緯

Arch Linux(x86/x86_64)とArch Linux ARMのインストールの違い

  • Arch Linuxx86/x86_64(以下x86版)(archlinux.org)
  • Arch Linux ARM:(以下ARM版)(archlinuxarm.org)

両者は、動作するプラットフォームや、パッケージリポジトリの場所が異なったりするが、同じArch Linux

ARM版はARM系プロセッサを積んだマイコンボード向けに、それぞれのARMアーキテクチャ毎にOSイメージの配布を行っている。

Raspberry Pi向けにおいては、ARMv6向け(Raspberry Pi Model A/B/A+/B+)と、ARMv7向け(Raspberry Pi 2 ModelB)に、配布を行っている。

x86版とRaspberry Pi向けARM版では、OSインストールの手順が異なり、ある程度の環境が作られた状態のものをインストールすることになる。

具体的には、archlinuxarm.orgからOSイメージをダウンロードし、bootパーティション/rootパーティションそれぞれをSDカードにコピーして手持ちのRaspberry Piに挿して電源を入れてあげるだけで、SSHで接続できる状態になる。

細かい設定等は、まずそのOSを立ち上げてからの作業となる。

Arch Linux ARMをRaspberry Piにインストール

ARM版公式サイトに、インストール手順がご親切に記載されている。

http://archlinuxarm.org/platforms/armv6/raspberry-pi

個人的な事情

私は、県内で日本Androidの会の茨城支部として、毎月勉強会を主催しています。

その際に、Raspberry Piを使ったワークショップ/ハンズオンを行う場合は、前日までに(現時点で)10台のRaspberry Piをセットアップしておく必要があります。

上記の公式インストール手順を、Raspberry Pi台数分を手作業で行っていると、かなりの時間がかかり、当日トラブルで再セットアップを行う必要があったりした場合も、大きな時間ロスとなり、参加者の方々に迷惑をかけてしまうので、今回自分用にスクリプト化しました。

その他設定

OSインストール後のセットアップ作業は、出来るだけ自動化させたいために、settings/setup.sh内に、スクリプトを用意し、それをRaspberry PiのSDカードのルートディレクトリ直下に配布し、SSHログイン後それを実行することでひと通りの必要なパッケージ類をインストールしたり、設定したりするようにしてあります。

Arch使いなら、arch-chrootpacmanを使ってマウントデバイス上のArch Linuxchrootした後、環境構築も出来るので、全部自動化させれるのだけど、その場合、ホスト側のArch LinuxもARMアーキテクチャのものを使って行う必要があるので、断念しました。

ここらへん、もっと改善できるといいのですが。

あと、複数台のSDカードリーダ/ライタを接続して、パラレルでSDカードを焼くというのも考えましたが、接続されたUSBデバイスがどのデバイスで、どのSDカードがどのIPアドレスなのかわからなくなりそうな恐れがあるので、こちらは敢えてやらないようにしました。

おわり

とりあえず、勉強会の準備が、少し、いや、かなり楽になりました。