FreeBSDをクライアントに仕立てたのはいいが音が出ない。
今回インストールしたPCはHPのdc7700。
このPCはインテル® ハイ・デフィニション・オーディオが使われていてFreeBSD6.2ではまだ正式サポートされていないらしい。
やはり困っている人は多いらしくちょぼちょぼと情報が集まりなんとか音を出すことができたのでその記録。
参考サイト:http://d.hatena.ne.jp/SPR/20061104
# pciconf -lv
で調べてみると
none@pci0:27:0: class=0x040300 card=0x2801103c chip=0x284b8086 rev=0x02 hdr=0x00 vendor = 'Intel Corporation' class = multimedia
というのが見つかった。
参考にしたサイトのとちょっと違うけど「class = multimedia」からたぶんこれがHDAコントローラだと当たりをつけた。
http://people.freebsd.org/~ariff/BINARY_MODULES/から sndkld_releng6_i386_vpc_zsrc.tar.gz をダウンロードし、適当なディレクトリに展開する。
snd_ad1816.ko* snd_maestro.ko* snd_als4000.ko* snd_maestro3.ko* snd_atiixp.ko* snd_mss.ko* snd_cmi.ko* snd_neomagic.ko* snd_cs4281.ko* snd_null.ko* snd_csa.ko* snd_sb16.ko* snd_driver.ko* snd_sb8.ko* snd_ds1.ko* snd_sbc.ko* snd_emu10k1.ko* snd_solo.ko* snd_emu10kx.ko* snd_spicds.ko* snd_envy24.ko* snd_t4dwave.ko* snd_envy24ht.ko* snd_uaudio.ko* snd_es137x.ko* snd_via8233.ko* snd_ess.ko* snd_via82c686.ko* snd_fm801.ko* snd_vibes.ko* snd_hda.ko* sndkld_releng6_i386_vpc_zsrc.tar.gz snd_ich.ko* sound.ko*
このうちsound.koとsnd_hda.koを/boot/kernelにコピーする。その際、sound.koは既に存在していたので、オリジナルの名前を変えておく
# cd /boot/kernel # mv sound.ko sound.ko.org # tmp/work/sound.ko /boot/kernel # tmp/work/snd_hda.ko /boot/kernel # chmod -w sound.ko snd_hda.ko
先人にならってリブート後、カーネルモジュールを手動でロードする。
# kldload snd_hda.ko
/dev/sndstatで確認する。
# cat /dev/sndstat FreeBSD Audio Driver (newpcm: 64bit 2007100200/i386) Installed devices: pcm0: <Intel 82801H High Definition Audio Controller> at memory 0xf0520000 irq 21 kld snd_hda [20070930_0048] [MPSAFE]
(1p:1v/1r:1v channels duplex default) ん?認識されたらしい
xmmsをpkg_addでインストールしてwavファイルを読み込んでみた。
音が出るじゃなーい!
当初の目的は果たせた。がしかし、本来の目的は、「Firefoxでウィンドウを開いたときにオープンサウンドを出したい」であった。
さらに調べれる。と、mplayerとmplayer-pluginを使うとFirefoxのなかで動画を再生したりすることができることが判明した。
ここは、さくっとpkg_addでインストール
# pkg_add -r mplayer # pkg_add -r mplayerplug-in
Firefoxの目的のページを開いたとき「Click Plugin Install」の表示が消えた。
でも音がでない。
ターミナルから手動で
% mplayer wave01.wav
としてみるとlibmp3lame.so.0が見つからないとエラーで終了してしまう。
試しに
% mplayer
としてみても一緒。
# pkg_add -r lame
としても見つからないらしい。
まだパッケージが無いとのことなのでportsからインストールする。
# cd /usr/ports/audio/lame # make install # make clean # exit % cd ~ % mplayer wave01.wav
おっ出た!
Firefoxのページを開いてみる。
おっ出た!
素直に最初からmplayerを入れていればよかったのかも。
xmmsをインストールしたのは、ハンドブックに書いてあったから。
ちゃんと音が出たので、/boot/loader.confに以下を設定する。
snd_hda_load="YES" hint.pcm.0.vol="50"