もう少し簡単にhiFaceのドライバを組み込む方法

「Voyag MPD APU1C」にHifaceのドライバを組み込む』という報告をしたのですが、予想通り、「これじゃー、あたしには無理です!」という声を少なからずいただきました。このあたりのことをを考えると、一日も早く「Voyage MPD」のカーネルを「kernel 3.12.x」以降に引き上げてほしいものです。
しかし、あれから、いろいろ弄っている内に、もう少し簡単にhiFaceのドライバを組み込めることに気づきましたので、その手法を紹介しておきます。
しかし、それでも「やっぱり無理です!」という方もおられるでしょうから、とりあえず素の状態の「voyage-mpd-0.9.2」にhiFaceのドライバを組み込んだイメージファイルを公開しておきます。

Voyag_MPD_APU_0.92_hiFace.ddi

<私のミスで上記ファイルの共有設定をミスッていました。今はおそらく大丈夫だろうとは思うのですが、それでもダウンロードできないときは下のコメント欄からでも連絡ください。>

ついでながら、「APU1C」の実力をとりあえず感じ取っていただくために、mpdのミュージックディレクトリ(/var/lib/mpd/music)に「ヴィターリ:シャコンヌ (Vn)ハイフェッツ (Or)Richard Ellsasser 1950年8月4日録音」のWAVEファイルを入れておきます。面倒なNASのマウントをしなくても、「APU1C」からどれくらいのクオリティの音が出るのかは確認していただけると思います。
なお、どうせ入れるなら60年代の優秀録音を入れてくれよ!という声が聞こえてきそうですが、私の見るところ「APU1C」の凄さはそう言う表面的なものではなくて、演奏家が己の演奏に込めた気迫と魂みたいなものを描き出す部分にあると考えています。そう言う意味で、このハイフェッツの録音は「APU1C]の実力を確かめるには最もふさわしい録音だと信じてチョイスしました。

簡単に手順だけを紹介します

詳しい手順はすでに報告してありますので、今回は変更点だけをメインに報告します。

# apt-get update
# apt-get install build-essential
# apt-get install git

ここは変わりありません。違いは次です。
何気にこんな事をしてみると・・・

# apt-cache search linux-headers
linux-headers-3.2.0-4-486 – Header files for Linux 3.2.0-4-486
linux-headers-3.2.0-4-686-pae – Header files for Linux 3.2.0-4-686-pae
linux-headers-3.2.0-4-all – All header files for Linux 3.2 (meta-package)
linux-headers-3.2.0-4-all-i386 – All header files for Linux 3.2 (meta-package)
linux-headers-3.2.0-4-amd64 – Header files for Linux 3.2.0-4-amd64
linux-headers-3.2.0-4-common – Common header files for Linux 3.2.0-4
linux-headers-3.2.0-4-common-rt – Common header files for Linux 3.2.0-4-rt
linux-headers-3.2.0-4-rt-686-pae – Header files for Linux 3.2.0-4-rt-686-pae
linux-headers-2.6-486 – Header files for Linux 486 configuration (dummy package)
linux-headers-2.6-686-pae – Header files for Linux 686-pae configuration (dummy package)
linux-headers-2.6-amd64 – Header files for Linux amd64 configuration (dummy package)
linux-headers-486 – Header files for Linux 486 configuration (meta-package)
linux-headers-686-pae – Header files for Linux 686-pae configuration (meta-package)
linux-headers-amd64 – Header files for Linux amd64 configuration (meta-package)
linux-headers-rt-686-pae – Header files for Linux rt-686-pae configuration (meta-package)
linux-headers-3.8.13-voyage – Header files related to Linux kernel, specifically,
linux-headers-3.8.11-voyage – Header files related to Linux kernel, specifically,
linux-headers-3.6.9-voyage – Header files related to Linux kernel, specifically,
linux-headers-3.10.11-voyage – Header files related to Linux kernel, specifically,

うーん、「linux-headers-3.10.11-voyage」があるじゃないか?
と言うことは、今まであちこちで紹介されているように、「linux-source-3.10.11-voyage」をインストールして解凍してコンパイルする・・・というような重たい操作をしなくても、素直に「linux-headers-3.10.11-voyage」をインストール(apt-get install)するだけでhiFaceのドライバは組み込めるんじゃないかと思ったのです。
で、やってみました。

# apt-get install linux-headers-3.10.11-voyage
# cd /usr/src/
# git clone git://github.com/panicking/snd-usb-asyncaudio.git
# ln -s /usr/src/linux-headers-3.10.11-voyage/ /lib/modules/3.10.11-voyage/build
# cd snd-usb-asyncaudio/

ここで「make」コマンドでエラーがでなければ幸せになれそうです。

# make
make -C /lib/modules/3.10.11-voyage/build SUBDIRS=/usr/src/snd-usb-asyncaudio modules
make[1]: Entering directory `/usr/src/linux-headers-3.10.11-voyage’
CC [M] /usr/src/snd-usb-asyncaudio/chip.o
CC [M] /usr/src/snd-usb-asyncaudio/pcm.o
LD [M] /usr/src/snd-usb-asyncaudio/snd-usb-hiface.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/src/snd-usb-asyncaudio/snd-usb-hiface.mod.o
LD [M] /usr/src/snd-usb-asyncaudio/snd-usb-hiface.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.10.11-voyage’

無事に「snd-usb-hiface.ko」がエラーもなく生成されました。うまくいったようです!!
最後に、ドライバを組み込みます。

# cp snd-usb-hiface.ko /lib/modules/3.10.11-voyage/kernel/sound/usb/
# depmod -a

再起動後、hifaceドライバが組み込まれているか確認します。

# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: hiFace [hiFace], device 0: USB-SPDIF Audio [USB-SPDIF Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

はい、成功です。
これで、かなり楽にfiFaceのドライバが組み込めると思います。


5 comments for “もう少し簡単にhiFaceのドライバを組み込む方法

  1. old boy
    2014年7月10日 at 2:43 PM

    yungさん

    ありがとうございます。
    昨日山荘から帰ってこのサイトを開けたら、Hifaceのドライバが組み込まれたMPDファイルが公開されているではありませんjか。早速ダウンロードしてAPU1Cに差し込んで電源を入れました。どこにつながったのか分からないのですが、とりあえずiPadのMPadを開けると認識されていて、シャコンヌも表示されていました。見事に音が出て、いよいよこれでNASの組込みに本気で取り組まねばと思います。
    改めて感謝します。

    • 2014年7月10日 at 8:43 PM

      >とりあえずiPadのMPadを開けると認識されていて、シャコンヌも表示されていました。見事に音が出て、いよいよこれでNASの組込みに本気で取り組まねばと思います。

      こういう報告をいただくと、他の環境でも間違いなく動作していることが確認できてホッとします。ありがとうございます。
      ぜひ、これに続けてNASのマウントにチャレンジしてください。いかにハイフェッツの演奏が素晴らしくても、それしか再生できないのでは困りますからね。(^^;

      • old boy
        2014年7月11日 at 3:23 PM

        yungさん

        大発見です(私にとっては)。
        WAVファイルの入ったUSBメモリを差し込んでみたら、なんと認識して音が出ました。
        Cuboxi4-MuboxでもNASをマウントしないで、USBメモリを何本も使っているのですが、また安直さに逃げてしまいそうです。
        また、どこかにSATA接続したHDDも認識するとかの記事があったので試してみます。
        なお、音はCuboxi4とだいぶ違うようです(力強くて明瞭な音?)。

  2. Kotetsuman
    2014年9月13日 at 9:04 PM

    yungさん、こんばんは。

    いつも楽しく読ませて頂きます。
    このたびは、yungさんのご好意に甘えて

    >「voyage-mpd-0.9.2」にhiFaceのドライバを組み込んだイメージファイル

    をダウンロードし使用させて頂いたのですがつまづいてしまいました。
    私は、Linuxには知識がなく、今回の問題をぐぐってみたのですが分かりませんでした。

    問題の箇所は次の通りです、remountrwを行うと次のエラーが発生しました。

    root@voyage:~# remountrw
    mount: cannot remount block device /dev/sda1 read-write, is write-protected
    root@voyage:~# remount,rw /dev/sda1

    remountrwが出来ないとviで編集が出来ないと思うのですが。
    申し訳ありませんが対処方法をご教示の程よろしくお願いします。

  3. 2014年9月13日 at 9:22 PM

    >mount: cannot remount block device /dev/sda1 read-write, is write-protected

    おそらく、SDカードが書き込み禁止になっているのではないでしょうか。
    カードの左側の小さなボッチを確認してみてください。Lockの方になっていませんか?

Comments are closed.