rftgyふじこlp:今は反芻している…JP1NOM

のんべんだらりと生きてしまいましたよ。

今日のFreeBSD

2019年11月12日 12時06分00秒 | PC
hp DC7800のFreeBSD12.0 Releaseでヘッドフォンが使えない問題。
こちらのページを見ていろいろ試したんだけど、うまく行かない…

"dev.hdac.%d.pindump
この変数を0以外の値に設定すると、現在のピン設定、主ジャック検出状態がコンソールとsyslogに出力される。"

ってあるんで

sysctl dev.hdac.1.pindump

やってもデフォルトのピン設定が出てこない。
なんでやねん?っと思ってたら…

搭載されているサウンドデバイスは"Analog Devices AD1884"だけど、動作確認が取れているもののリストには

"以下のものと、他の多くのコーデックが動作確認されている。

Analog Devices AD1981HD
Analog Devices AD1983
Analog Devices AD1984
Analog Devices AD1986A
Analog Devices AD1988
Analog Devices AD1988B"

ということで、もしかしてサポートされてない?

が〜ん…

しかしこちらのページによると、

"sysctl hw.snd.default_unit"で出力先を変えることで対処できそう。

今の環境ではpcm4がリア、pcm5がフロントの出力に割り当てられているので、

%sysctl hw.snd.default_unit=5
hw.snd.default_unit 4 -> 5

となり、ヘッドフォン出力が有効になった。ただし、リアのLine Outは死ぬので外付けスピーカーは使えなくなる。期待した動作はLine Outで出力、ヘッドフォン挿したらヘッドフォン出力ということなので、半分目標達成。とりあえずヘッドフォン出力は使えるということは確認できた。

ついでにpcm0〜pcm3がHDMI出力なのでマルチモニターで検証してみると

pcm1でHDMIモニター(テレビ)から音が出た。

追記:
sysctl dev.hdac.1.pindump
じゃなくて
sysctl dev.hdac.1.pindump=1
せにゃならんのか!

参考にしたページのようにデバイスがずらっと出たけど、同じように「結線」してもうまく行かない…orz