ECS LIVAをMobile Music Playerにする

作成日2014年5月28日 作成と同時に追記あり...


さて前回の最後に日記として追記したように、LIVAを持ち歩く為の工作はほぼ終わりました。

LIVA以外の構成はVolumioと全く同じなので何の新鮮味もありませんが...
相変わらず工作し甲斐のある状況に自ら墓穴を掘って追い込んでしまっています。

まぁ、適当にアルミ切断して、勢いでネジ穴開けたりしてるから失敗するのも当たり前です。

さて、物理的な工作部分はともかく、LIVAでmpd-dsd動かすとどんな感じかと言うと、

前回も触れましたが...

  • CPUを最低速度で動かしてDXD,DSD128その他もろもろ、音飛び/音切れは一切起きていません!!

    また、前回も書きましたが、VGA無接続で起動しないのはUbuntuのgrubが原因だったようです。
    /etc/default/grubの冒頭を以下の様にしてupdate-grubコマンドで更新する事でVGA無接続で起動できています。
    しかし、5/28現在、再びVGA無しで起動できなくなってます。
    パッケージのupdateに影響されたのか?と思いaptのlogをみても最終更新は5/23です。
    当然、その後もheadlessで使ってましたのでupdateが原因ではなさそう。
    再度、今(5/28)upgradeしてみましたが、状況変わらず。
    抵抗付きダミーVGAプラグを使えばちゃんと起動するので問題は無いけど...謎。

    GRUB_DEFAULT=0
    GRUB_RECORDFAIL_TIMEOUT=2
    GRUB_HIDDEN_TIMEOUT=0
    GRUB_HIDDEN_TIMEOUT_QUIET=true
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="text"
    GRUB_CMDLINE_LINUX=""
    GRUB_DISABLE_OS_PROBER=true

    GRUB_RECORDFAIL_TIMEOUTがポイントです。 要するに「前回起動時にエラーがあっても、無視して起動する」設定です。 ubuntuにしか無いコマンドらしいです。
    これが無いとgrub起動時に永遠にユーザの入力を待つ状態に陥ります。
    また、GRUB_CMDLINE_LINUX_DEFAULTをtextに変える事でX関連は起動しなくなります。

    さらにfsckを無応答進行するようにします。

    linuxでは突然の電源断などにより、次の起動時にfsckが走る事があります。
    この際、ユーザにyes/noを聞いてくるのですが、headlessでは応答できません。
    しかも応答しないとOSのbootは進みません。
    そこでfsckをユーザーの介入なしに実行する様に設定します。

    /etc/default/rcSの FSCKFIX=noを、FSCKFIX=yesに変える。

    これらはどちらもOSが起動する前の処理なので、当然IPアドレスも設定されておらず、通信もできません。
    このポイントで何か起きているとheadlessでは手も足も出ないです。

    とりあえず、これらの設定でVGA無接続で使えていますが...これで全部かどうか。
    全部じゃなかったようで、VGA無接続で使えない状況に陥ってます。

    全体像
    ALL1
  • SONYの10000mAh(MAX3.6A出せる)バッテリ1本で全システムが駆動できています。
      「バッテリ駆動」or 「AC駆動」の切替SWと、バッテリへの充電を「直接」or 「ACアダプタから並列充電」切替を行うSWをつけました。
      Volumio同様に電源ケーブルを差すMicroUSB端子は1つにしたかったのですが、そもそも2.4A程度で「充電しながら放電できる」バッテリが見つかっていません。
      今回はスイッチ2つを使ってフルマニュアルコントロールすることにしました。

      スイッチは、ロック付きのトグルスイッチです。一旦引き上げないと動かないタイプです。
      ちょっと大きいのですが、これ以上小さいタイプは無いみたい。

      また、それに伴いMicroUSBメス端子も2つ付けました。上が給電用端子、下がチャージ用端子です。

      No. POWER SW CHARGE SW Power Source Charge Source Use for
      1 OFF OFF Battery Charge port バッテリ駆動モード。充電しながら2.4A程度出力可能なバッテリがあれば、チャージ用USB端子から充電できる。
      2 ON OFF Power port Charge port AC駆動モード。バッテリの充電はチャージ用USB端子から。給電とチャージを別のACアダプタから行えます。
      3 OFF ON Battery Power port バッテリ駆動モード。充電しながら2.4A程度出力可能なバッテリがあれば、給電用USB端子から充電できる。
      4 ON ON Power port Power port AC駆動モード。バッテリの充電は給電用USB端子から。2.4A程度のACアダプタなら給電端子へケーブル1本でOK。

      リレーとか入れてコントロールすることも考えましたが、使用するACアダプタの電力供給能力によってはLIVAを駆動しつつバッテリを充電できない事もあるので、全て自由に設定できるようにしました。使い方忘れそうだけど。
  • LIVAは基本的に低消費電力だけど、本気出すとすぐ3A近く出てしまう様なので、そのままだとバッテリ駆動がきつい。
  • CPUをpowersaveモードにすることで(最低速度になるけど)発熱、消費電力共に良い感じ。
      3.6Aバッテリですべてのコンポーネントを駆動するにはCPUをpowersaveモードにしないと辛いです。
      このシステムではLIVA以外にCONCERO-HP,SSD,無線APで1.2A程度消費しています。
      その為SONYの3.6A出力可能なバッテリを使った場合でもLIVAには2.4A程度が限界になります。
      この状態でCPUが全力駆動すると確実に電力不足=LIVAが落ちます。

      powersaveモードにするには、

      echo -n powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
      echo -n powersave > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

      でpowersaveになり、CPUは532MHz駆動になります。
      もちろん、LIVAを起動する度に実行しなくてはなりませんので、/etc/rc.local等に記入することになります。
      ただし、これだけだと、いつの間にかondemandモードになりCPUは全力疾走可能になってます。

      しばらくはpowersaveが維持されるのでなかなか気が付かなかった。
      原因は/etc/init.d/ondemandです。こいつを止めればpowersaveが持続します。
      sysv-rc-conf等で動作しないようにすればオッケー。
  • それでもMAX2.1AのACアダプタだと限界ギリギリっぽく、LIVAが発熱状態だとRebootに失敗したりする...少し冷ますと普通に起動しちゃったりする。
      65度位になった状態でrebootさせたら、bootできなくなったりします。
      しばらく放置してそこそこ冷えた状態で再度起動してみたら、普通に起動できました。
      まぁ、温度が上がると色々電気抵抗が増えちゃうからでしょうけど、2.1Aアダプタだとちょっときつい事が判りました。

  • もうちょっと正面
    ALL2
  • アルミケースを加工して前作Volumio改とほぼ同じ厚み(全高)にできた。
      ケースの高さを何とか抑えたかったのですが、やはりUSB2段プラスLANコネクタの3段重ねはキツカッタ。
      なんとか丸ごと格納できるアルミケースを物色し、タカチのUCシリーズDDタイプの製品を購入しました。型番はUC9-5-12DDです。
      もちろんLIVAが丸ごと入るサイズを選んだのですが、このケース、上下が対称の構造なのです。
      そこを利用してなんとかできないかと考えた結果、写真の様に半分だけ使う事にしました。

      結果としてそのままケースを使った場合に比べ、10mm程度は全高が低くできたはずです。
  • 但しfanlessのまま4〜5時間室内で使うと65度位まで熱くなる。
      ケース自体はLIVAのヒートシンクとほぼ同じ高さで密閉しています。
      というか、蓋はヒートシンクと接触しています。
      しかもヒートシンクの溝にはケーブルが詰め込まれて空気層が半分位しかありません。
      この状態なのでアルミケースも相当熱くなり、CPU温度は65度位まで上昇します。
      言い方を変えれば、アルミケース自体がヒートシンクなのです。とか。
  • でも電車内で2時間程度連続稼働させても60度までは行かない程度なのでfanlessのままにしたい。
      いや、FANなんぞ入れない方が良いのは明らかなのですが...
      実は「工作ネタとして」FANを入れたくてうずうずしてます。
      25mm/6mm厚のFANなんかが丁度良いサイズなんだけどなぁ。

  • 背面
    backend
    さて、この状態でLIVAをケースに入れちゃうと、VGAもHDMIも接続できません。
    基本、headlessで使うので特に問題無いのですが、オマケとしてVGA端子を伸ばしておきました。

    実はケースの裏ネジ3本外せば基板ごとそっくり取り出せるので、VGA端子をつけなくても何とかなります。
    しかも下手にVGAケーブルなんぞを基板の下に這わせるのはいかがなものかとも。
    まぁ、工作したかっただけです。ノイズ乗ったりしたら取れば良いだけだし。
    新旧比較 前面
    compare front
    奥行と幅はそれなりにデカくなっちゃいましたが、
    背の高さは、「ほぼ」同じ...です。

    今回使ったアルミ板は全て1mm厚です。
    もう少し厚い方がよかったと思いますが...
    四角い穴を何個も開けるのは結構面倒なので...これで行きます。

    新旧比較 背面
    compare back
    USBコネクタも箱の中なので、後ろはスッキリです。
    もちろん普通のUSBケーブルなんてさせません。 ここでもお気に入りのUSBケーブルが大活躍です。
    でも今度こそ販売終了になってしまったようです。
    後継製品も無いようです。需要なかったのかな。

    今回の場合はケース内部での配線なので部品むき出しでも良いのですが、このコネクタに匹敵するスリムな製品はなさそうです。
    今後の工作に支障がでちゃうなぁ。

    秘密の中身
    top secret
    まぁ、見たまんまです。
    最短距離を直接はんだ付けしちゃえばもう少しスッキリするんですが、今回はモジュラーを多用してます。
    そのおかげで、とにかくギリギリな個所ばかりです。

    モバイルルータWN-TR2はヒートシンクとケースの隙間に0mmの隙間も無く入りました。と言うか入れました。

    LIVA基板は6.5mmのスペーサで持ち上げてます。基板電池コネクタケーブルが若干潰れ気味になってます。

    スイッチの配置で痛恨のミス。チャージSWはヒートシンクのネジと見事にぶつかり、スイッチの足を曲げてしのいだ。
    しかも、思いっきり前に突き出して設置するしかなくなった。

    なんとかなったと思ったら、POWER SWは、基板から蓋への支柱に見事にヒット....。
    蓋は2本のネジで固定することにした。

    バッテリ充電用のMicroUSBプラグが遺跡として埋没されてます。今後、バッテリ2本必須になったら...復活するかも




    さてと、お昼休みにLIVAを起動してみる.....起動しない。と言うかpingが通らないし音も出ない。
    ACアダプタが原因か?バッテリ駆動でもダメだ。昨日の夜分解したのが原因?でもその後稼働確認して寝たしなぁ....。
    まさか、どっかショートしてないよな....LIVA終了???
    まだheadless化に抜けている部分があるのかも。
    家に帰らないと何が問題なのかも判らないけど、VGA繋げるようにしておいてよかった...今日の帰りは音無しか...。

    と言う状況です...。,

    リアルタイムに追記しちゃいますが、原因はやはりVGA無接続でした。
    VGAを接続して起動すると何の問題も無く起動しました。
    そして、VGAを抜くと起動しなくなり、syslogにも何も出ていません。
    VGAダミープラグを差すと...ちゃんと起動します。
    ダミープラグは差しっぱなしが良さそうかも...



    戻る

    inserted by FC2 system