FreeBSDをクライアントに仕立てたのはいいが音が出ない。
今回インストールしたPCはHPのdc7700。
このPCはインテル® ハイ・デフィニション・オーディオが使われていてFreeBSD6.2ではまだ正式サポートされていないらしい。
やはり困っている人は多いらしくちょぼちょぼと情報が集まりなんとか音を出すことができたのでその記録。

Intel High Definition Audio Controllerの認識

参考サイト: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で音がでな~い

当初の目的は果たせた。がしかし、本来の目的は、「Firefoxでウィンドウを開いたときにオープンサウンドを出したい」であった。

さらに調べれる。と、mplayerとmplayer-pluginを使うとFirefoxのなかで動画を再生したりすることができることが判明した。

mplayerをインストールする。

ここは、さくっと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"

Last-modified: 2022-05-05 (木) 22:27:10