NanoPi Neo2用 Volumio2
NanoPi Neo2 Volumio2 release
- NanoPi Neo2 I2S Audio Kernelを適用したVolumio2です。
- バージョンはv2.413を採用しています。
- 2018/1012追記
- ロット変更なのか、ブートローダを更新しないと起動しないNEO2があるようです。
- もし、動作しないようであれば、下記ツイートの暫定版をお試しください。
どうやら古いブートローダでは起動しないNanoPi NEO2が出回ってるっぽい。DRAMでも変わったのかな?
— __tkz__ (@__tkz__) October 12, 2018
拙作のNEO2用Volumio2が起動しないNEO2をお持ちの方は、次ツイートの暫定対策版をお試しください。
特徴
- I2S + MCLK出力可能
- I2S 16bit長(32fs固定)出力対応
- RJ 24bit(64fs)/ RJ 16bit(64fs)/ RJ 16bit(32fs)出力対応
- HiFiBerry DAC+ PRO or compatible対応
- AK4490/4495/4497/4493対応
- DACが対応していれば、768kHzや1536kHzの再生が可能
- 詳しくはNanoPi Neo2 I2S Audio Kernelを参照ください
既知の問題
- DSD to PCM変換でサンプリングレートが上がりすぎる
- I2Sの再生サンプリングレート上限が1536kHzとなっているため、DSD to PCM変換時の再生レートが高くなります。
- DSD64 352.8kHz
- DSD128 705.6kHz
- DSD256 1411.2kHz
- I2S Driver or Codec Driver側にて上限設定する方法を検討中です。
- I2Sの再生サンプリングレート上限が1536kHzとなっているため、DSD to PCM変換時の再生レートが高くなります。
- 高負荷時にカーネルクラッシュ
- mpdで高サンプリングレートにアップサンプリングしたり、DSD to PCM変換時に多く発生
- 暫定対応でクロックの上限を1.08GHzから816MHzに落としています。Core電圧1.1Vでは816MHzが安全とのこと。
- U-bootでの話題ですがこの辺に情報が。https://groups.google.com/forum/#!topic/linux-sunxi/t7WcMaB3OZY
- 再起動(reboot)でこける時がある
- Linux Kernel 4.14へのアップデート時に解消予定
- sdのレギュレータ制御不正
- 標準でsshdが有効になっていません
http://volumio.local/dev or http://ipaddress/dev
で開発者モードに入り有効化してください。
制約など
- 本Volumio2はNanoPi Neo2 I2S Audio Kernel評価用に作成したものです。
- Volumio2の使い方については他のサイトを参照ください。
- Volumio2への機能追加などをリクエストを頂いても基本的には対応できません。
- ビルド手順を下の方に書いてますので、ぜひいろいろカスタムしてみてください。
使い方
バイナリダウンロード
書き込みと起動
- windowsならrufus、linuxならddなどでSDカードにイメージを書き込んでください。
- 初回起動はSDカードのresizeが走るため2-10分程度かかります。途中で電源を落とさないようしてください。
動作モードの切り替え方
- デフォルトではI2S genericとなっています。
- その他のモードで使う場合には、dtbファイルを差し替えて機能の切り替えを行ってください。
- NanoPi Neo2のbootスクリプトは、defaultではsun50i-h5-nanopi-neo2.dtbで起動するので、sun50i-h5-nanopi-neo2.dtbへ上書きしてやるのが簡単です。
- 下記はNEO2にSSHで接続orシリアルコンソール時の差し替え例で、sun50i-h5-nanopi-neo2-i2s-generic.dtbを使う場合の設定方法です。
$cd /boot $ cp sun50i-h5-nanopi-neo2-i2s-generic.dtb sun50i-h5-nanopi-neo2.dtb
- dtbの種類と動作モードはNanoPi Neo2 Audio Kernelのdtbファイルと動作モードの紹介を参照のこと。
ソースコード
- Volumioビルドシステム
- https://github.com/tkztkztkz/Build
- platformの取得先を下記のリポジトリに変更
- Kernel/modulesバイナリイメージ
- https://github.com/tkztkztkz/nanopineo2-platform
- Kernel及びmodulesをAudio Kernelに差し替え
ビルド手順メモ
$ git clone https://github.com/tkztkztkz/Build.git $ cd Build $ sudo ./build.sh -b armv7 -d nanopineo2 -v 2.413
- Ubuntu 16.04LTSにてビルドを確認済みです。18.04LTSではビルドに失敗することを確認しています。
- ビルドに必要なパッケージはVolumioのドキュメントを参照ください。参考までにこちらでは下記を実行しました。
sudo apt install git squashfs-tools kpartx multistrap qemu-user-static samba debootstrap parted dosfstools qemu binfmt-support qemu-utils build-essential