初出:2012/12/01
改訂:2013/04/10
Voyage MPD 0.9は、M2TECHのhiFace(白)に標準対応していません。対応させるためには、公式の専用ドライバを手動で作成してインストールする必要があります。以下にその手順を記載します。初歩的なLinuxの知識が必要ですが、Voyage MPDのユーザーならば何とかなるでしょう。
root@voyage:~# remountrw
root@voyage:~# apt-get install build-essential
root@voyage:~# apt-get install git
root@voyage:~# apt-cache search linux-source
linux-source-3.2 - Linux kernel source for version 3.2 with Debian patches
linux-source - Linux kernel source (meta-package)
linux-source-2.6 - Linux kernel source (dummy package)
linux-source-3.4.4-voyage - Linux kernel source for version 3.4.4-voyage
root@voyage:~# apt-get install linux-source-3.4.4-voyage
※ソースコード配布サイトの手順では「kernel-headers」のダウンロードを行っていますが、Voyage MPD 0.9は「kernel-headers」を提供していません。
root@voyage:~# cd /usr/src
root@voyage:/usr/src# ls
linux-source-3.4.4-voyage.tar.bz2
root@voyage:/usr/src# tar xvjf linux-source-3.4.4-voyage.tar.bz2
root@voyage:/usr/src# git clone git://github.com/panicking/snd-usb-asyncaudio.git
root@voyage:/usr/src# ls
linux-source-3.4.4-voyage snd-usb-asyncaudio
linux-source-3.4.4-voyage.tar.bz2
root@voyage:/usr/src# ln -s /usr/src/linux-source-3.4.4-voyage /lib/modules/3.4.4-voyage/build
root@voyage:/usr/src# ls /lib/modules/3.4.4-voyage/build
COPYING MAINTAINERS block include net usr
CREDITS Makefile crypto init samples virt
Debian.src.changelog README debian ipc scripts
Documentation README.Debian drivers kernel security
Kbuild REPORTING-BUGS fs lib sound
Kconfig arch get.sh mm tools
root@voyage:/usr/src# cd linux-source-3.4.4-voyage/
root@voyage:/usr/src/linux-source-3.4.4-voyage# make oldconfig
root@voyage:/usr/src/linux-source-3.4.4-voyage# make prepare
root@voyage:/usr/src/linux-source-3.4.4-voyage# make modules_prepare KERNELRELEASE=$(uname -r)
root@voyage:/usr/src/linux-source-3.4.4-voyage# cat include/generated/utsrelease.h
#define UTS_RELEASE "3.4.4-voyage"
※最後に「cat include/generated/utsrelease.h」を行って、「#define UTS_RELEASE "3.4.4-voyage"」と表示させていますが、「"3.4.4-voyage"」のところが「uname -r」コマンドの結果と一致していればOKです。
root@voyage:/usr/src/linux-source-3.4.4-voyage# cd ../snd-usb-asyncaudio/
root@voyage:/usr/src/snd-usb-asyncaudio# make clean
root@voyage:/usr/src/snd-usb-asyncaudio# ls
Makefile chip.h control.c dkms.conf pcm.h
chip.c common.h control.h pcm.c
root@voyage:/usr/src/snd-usb-asyncaudio# make
make -C /lib/modules/3.4.4-voyage/build SUBDIRS=/usr/src/snd-usb-asyncaudio modules
make[1]: Entering directory `/usr/src/linux-source-3.4.4-voyage'
WARNING: Symbol version dump /usr/src/linux-source-3.4.4-voyage/Module.symvers
is missing; modules will have no dependencies and modversions.
CC [M] /usr/src/snd-usb-asyncaudio/chip.o
CC [M] /usr/src/snd-usb-asyncaudio/control.o
CC [M] /usr/src/snd-usb-asyncaudio/pcm.o
LD [M] /usr/src/snd-usb-asyncaudio/snd-usb-asyncaudio.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/src/snd-usb-asyncaudio/snd-usb-asyncaudio.mod.o
LD [M] /usr/src/snd-usb-asyncaudio/snd-usb-asyncaudio.ko
make[1]: Leaving directory `/usr/src/linux-source-3.4.4-voyage'
root@voyage:/usr/src/snd-usb-asyncaudio# ls
Makefile common.h modules.order snd-usb-asyncaudio.mod.c
Module.symvers control.c pcm.c snd-usb-asyncaudio.mod.o
chip.c control.h pcm.h snd-usb-asyncaudio.o
chip.h control.o pcm.o
chip.o dkms.conf snd-usb-asyncaudio.ko
root@voyage:/usr/src/snd-usb-asyncaudio# modinfo snd-usb-asyncaudio.ko
filename: /usr/src/snd-usb-asyncaudio/snd-usb-asyncaudio.ko
license: GPL v2
description: M2Tech HiFace USB audio driver
author: Michael Trimarchi
alias: usb:v249Cp9008d*dc*dsc*dp*ic*isc*ip*
(中略)
alias: usb:v04B4p930Bd*dc*dsc*dp*ic*isc*ip*
depends:
vermagic: 3.4.4-voyage SMP mod_unload 486
root@voyage:/usr/src/snd-usb-asyncaudio# insmod snd-usb-asyncaudio.ko
※ここで「Error: could not insert module snd-usb-asyncaudio.ko: Invalid module format」と表示された場合は、ドライバ情報を確認してください。
root@voyage:/usr/src/snd-usb-asyncaudio# lsmod
Module Size Used by
snd_usb_asyncaudio 6517 0
nfsd 160651 2
exportfs 2514 1 nfsd
(後略)
※「snd_usb_asyncaudio」が表示されればOKです。
root@voyage:/usr/src/snd-usb-asyncaudio# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: hiFace [hiFace], device 0: hiFace [AsyncAudio USB]
Subdevices: 1/1
Subdevice #0: subdevice #0
※「hiFace」が表示されればOKです。他にサウンドカードが搭載されている場合は、それらも一緒に表示されます。
root@voyage:/usr/src/snd-usb-asyncaudio# cp snd-usb-asyncaudio.ko /lib/modules/3.4.4-voyage/kernel/sound/usb/
root@voyage:/usr/src/snd-usb-asyncaudio# depmod -a
※OS起動時に自動でドライバを読ませるために、必ず行ってください。
root@voyage:/usr/src/snd-usb-asyncaudio# reboot
root@voyage:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: hiFace [hiFace], device 0: hiFace [AsyncAudio USB]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@voyage:~# remountrw
root@voyage:~# vi /etc/mpd.conf
#
# hiFace output:
#
audio_output {
type "alsa"
name "hiFace"
device "hw:0,0"
}
※「device "hw:0,0"」の数値は、「aplay -l」コマンドで表示された結果により異なります。
root@voyage:~# /etc/init.d/mpd restart
[ ok ] Stopping Music Player Daemon: mpd.
[ ok ] Starting Music Player Daemon: mpd.