前回まではDELLのXPS12(9250)と言う4Kタブレットで遊んでいました。予想以上にlinuxとの相性も良く、現時点でもお気に入りの逸品です。
折角の4Kなんだから、4K映像とかどんな感じで再生できるんだろう?と試してみたら...
ボロボロです。
標準ドライバじゃ無理でした。ブロックノイズが出まくります。Full HDの4倍の画素数って厳しいんだなぁ。
しかし丁度良いタイミングでUbuntu 16.10向け
Intel謹製グラフィックドライバ
がリリースされてます。
早速インストールしたところ...
素晴らしい。
完璧に再生できるじゃありませんか。しかも通常時のCPU負荷も下がってる。
あとは、VirtualBoxやVMware Playerとか入れてAndroid X86動かしたり、Wine入れてKindle for PC動かしたり...
と、こんな感じで普通にパソコンとして使ってます。
Skylake...結構いいじゃん....。
さて....
Intel Compute Stick Music Player (Prototype) |
|
こんな感じで放置
していたIntel Compute Stickがあります。
システムとしては出来上がっており、後は持ち歩く為の工作をすれば完成です。でも1年以上放置したまま。
その理由としては、
USB portが一つしかないので、USB HUBは必須。折角の小ささもスポイルされてる。
内蔵WifiはhostapdでAP化出来ない様なので、外付けでWifiが必要。どっちみちUSB HUB付けるから問題無いけど。
Headlessでの起動に若干不安あり。となるとダミーHDMIアダプタも付けておきたくなる。
picoがあるし....めんどくせー。
ZOTAC ZBOX pico music player Version 1.2 |
|
こんな感じです。
工作が目的になってるとは言え、ある程度の必然性は大事です。
あまり前向きに取り組めなくなってしまったのかも。
と、ここまでは過去の振り返りです。何故今になってCompute Stickの事を蒸し返したのか。
もう2年近くpicoをmobile music playerとして使っています。概ね満足ですが、問題が無いわけではありません。
ベースとしたシステム自体はUbuntu Studio 14.04。更新したいけど単純にアップグレードなんて絶対に不可能。
Realtime kernelを動かすにはClock sourceをHPETにしたいけど、Baytrailでは無理がある。と言うか明示的にHPET無効化されてるし。
それでもkernelを改造してHPET有効化してたけど、kernel3.19位から新たなBaytrail対策を入れられて、折角見つけたHPET有効化の方法が使えなくなった。これをどうにかしないと、kernelを更新できない。
今の所使うアテは無いけど、DOP(DSD over PCM)では無い、いわゆるnative DSD対応するにもUbuntu14.04じゃALSAが古い。
と言う様な点が挙げられます。
更に原因がはっきりしているので許容していたのですが、kernelをrealtime化したところ、CONCERO-HPで「音飛び」が発生しました。Ubuntu Studioのlowlatency kernelでは発生しません。しかし「音飛び」の発生頻度はかなり低く、滅多には起きません。
Raspberry Pi
の時のようなハードウェア自体の問題では無く、realtime kernel化によるスケジューリング上の問題と思われますが、完璧には根絶できませんでした。
Raspberry Pi music player Version 2 |
|
確実な解決策はあります。realtime kernelをやめれば良いだけです。それじゃなんか悲しいです。
恐らくclocksourceの無理矢理HPET化だって無関係じゃないかもしれません。
そもそもBaytrailのHPETには問題があるから無効化されてるわけですから。
と言う訳で、「発生頻度」と私の「気持ち」を天秤に掛け、許容することにしました。
2年弱許容できたのですから...いいでしょう。
ああ、毎度のことながらこれは「日記」ですね。
ようやく本題に近づきつつあります。
XPS12タブレットでubuntuを使っていて思ったのですが
Skylakeアーキテクチャのマシンであれば
Baytrailと違いHPETも普通に使えるし、その他のハードウェアコントロールへの実装もかなり充実しています。
HDMIオーディオだって普通に鳴ります。凄い事です。
今度はSkylakeでMusic player作ってみたい。
ここが出発点です。
ん?Intel Compute StickだってBaytrailなんでしょ? って思われるかもしれません。
そうです。だから、
こっちを使うんです。
Core m3-6Y30を使った、立派なSkylakeマシンです。
第二世代のCompute StickのCore m3版です。Core m5版もあるけど、速い必要無いので対象外。
Stickとは言え中身は普通のSkylakeのはず。でも、やはり特殊な部分があります。
まず電源です。このStick専用のACアダプタがあり、そこからStick本体のUSB-C端子へ接続し、給電する仕組みです。
またこの専用ACアダプタにはUSB HUBが内蔵されており、USBポートが2ポートついています。
そしてACアダプタとStick本体は両端がUSB-C端子のケーブルで接続されます。
このシステム構成から考えると、USB-PD(USB Power Delivery)に則ったシステムである事も想定されます。
ただしUSB-C端子自体は純粋に端子の規格なので、Compute Stickがどの様な実装になっているのか、はっきりしません。
単純に従来のUSB端子の置き換えだけなのか、USB-PD規格を使って給電コントロールまでするのか。
Intelは結構詳しい
データシートを用意してくれてますが、残念ながら記載は無い様です。
実は前述のXPS12はUSB-PDだったのです。実験済ですが、通常のモバイルバッテリでは通電すら出来ません。給電するにはUSB-PD対応のバッテリを使う必要がありますが、選択肢は少ないです。USB-C端子が付いてるバッテリなら良いって訳じゃありません。
私はXPS12の為に
Dell電源コンパニオン USB-C-PW7015MC
と言うのを持っていますので、もしこのStickがUSB-PD仕様であってもこのバッテリ使えば何とかなるかと言う皮算用もありました。
そもそもcore m3やm5をモバイルバッテリで駆動しようなんて、最初から無理があることを承知の上です。
中略
そろそろ疲れてきたので、とりあえず、今回の結論。
電源について
USB-PDでは無い様ですが、今まで使ってたSONYのモバイルバッテリ 10000mAh
CP-F10LA
(Total 3.6A出力可)のUSB出力1本では起動できませんでした。
途中までbootするけど、Xwindowの起動中に落ちます。Xwindow無しにしてもダメだった。
このバッテリは、USB出力1本だと2Aちょい程度までしか出せないようです。
3Aイケるケーブル使って2.4A出力のUSB-ACアダプタだと起動できるのに、このバッテリではダメでした。
前述のDELL電源コンパニオンではCompute Stickは起動できたので、それを使うと言う選択肢もありましたが...
勢い余って、Total 6A出力可能な超巨大バッテリ 20000mAh
CP-B20
までamazonでポチってしまった。
CP-B20はすでに生産終了品ですが、継続商品であるCP-S20は2.4A出力ポートが一つに限定されています。それではまずそうなので、わざわざ全ポート同じ扱いの古いタイプを買ってみました。
しかし...そんなのまで買った挙句、CP-F10LAのUSB出力2本を並列で使う事で問題無く全システムを起動できちゃいました。
馬鹿でかい20000mAhバッテリを持ち歩く事も覚悟してたんだけど助かった。
ちなみにCP-B20だとUSB出力1本でStickは起動できました。1ポートでも2.4A以上出せる様です。
無線LANについて
無線LANはIntel AC8260が内蔵されています。つまりXPS12と同じ石。そして、hostapdでAccess Point化できました。
USBポートについて
このStickには、USB-Cポートの他にUSB3.0type-Aポートも一つあります。
内蔵無線LANがそのまま使えることが判明したので、他に必要となるのは、DAC用の1ポートと、mSATA SSD-USB変換基板用の1ポートで合計2ポート。
Stick本体のUSB-Cポートが単純にUSBポートとして使えるのか、それとも専用ACアダプタとの組み合わせじゃないとUSB機能は使えないのか不明でしたが、
USB-C〜USB2.0typeA変換ケーブルを切断してD+,D-を普通に結線しただけでUSBポートとして使えました。
USB HUBを使わずに済んだので、今回の特殊工作はUSB-Cコネクタから電源とUSB2.0microUSBコネクタへ分岐させるたこ足ケーブル作製だけ。
それ以外の部材は過去の遺跡から調達したものばかり。
久しぶりのハンダ付けウォームアップにはちょうど良い塩梅。
Ubuntu 16.10ベースで、Kernel 4.8.14にrtパッチ入れてRealtime化したもの。
mpdはmpd-dsd-rt v0.18.23。0.19系最新版はrtパッチが旨く当たらないので保留してる。
今は評価用アクリル板BOXで実運用テスト中。
INTEL Compute stick Core m3 version (Prototype) |
|
ただ、USB3.0type-Aポートと、USB-Cポートが左右に分かれて配置されてるため、期待したほどスリムには収められそうもない。
USB-CコネクタでL字型のものがあったので買ってみたが...2A出力対応だがそれが限界みたい。POSTすら出なかった。
USB-C側を殻割してみたら、割れたけど、中まで充填されてました...。ちょっと加工する気にはならない。
もう、なんとなく...このままでも良い様な気もする...。
今の所「音飛び」も皆無。このまま行けるか...?
実はUbuntu16.10になったことで大幅にシステムの改造が必要だったのだが、今日はここまで。
23 December 2016 Update
工作する気力が面倒くさいと言う気持ちをちょっとだけ上回ったので...工作してみた。
先週末に組み上げて、一週間運用してみた。これぞ日曜大工。
USB端子が両端に分かれてるせいで中身はかなりスカスカです。
picoで使ったFANを移植して前方排気にしてみたら、音楽再生時でも56度程度の温度に保てたので、これで良いかな。
Xperia Z5 Ultraで撮影。うーーん。何だか分からん。
INTEL Compute stick Core m3 version (Rev.1) |
|
例によって例のごとく、単なるサンドイッチ。
BIOSアップデート位でしか使わないけど、HDMIコネクタを使えるようにしておきたかったので、外部電源入力用のMicroUSB端子は縦にして4本柱の一角を担ってもらった。
picoでは冗談半分で電圧計を入れてみましたが、予想以上に負荷変動や電源の質の判断に有効だったので、今回も入れてみた。
使い物にならなかった
USB-Cオス-MicroUSBメス変換ケーブルは、USB-Cの根元から切断してMicroUSBメス側だけ利用したMicoUSB L字変換ケーブルにしてみた。
ケーブルを切断して判ったけど...これじゃ2Aだって怪しい太さの配線でした。