パスワードを忘れた? アカウント作成
673991 journal

Awnの日記: SPDIFが使えない on alsa-0.9.4

日記 by Awn

alsa-driverを0.9.4にしたら(というか、momongaのkernel-2.4.21-1m
にしたら)SPDIFが使えなくなった。
ちなみにサウンドチップはALC650。

alsa-driver-0.9.3の時には使えてたので、ちょっとdiffってみたら、
0.9.4のac97-patch.cのpatch_alc650()でこんな記述が。


int patch_alc650(ac97_t * ac97)
{
        unsigned short val;
        int spdif = 0;

        /* FIXME: set the above 1 if we can detect the chip rev.E correctly.
          * this is used for switching mic and center/lfe, which needs
          * resetting GPIO0 level on the older revision.
          */
        ac97->spec.dev_flags = 0;

        /* check spdif */
        if (ac97->spec.dev_flags) {

というわけで、デフォルトOFF(というか一生OFF)になってるのでした。
RealtekのALC650というチップは、コメント文にあるように、
rev.Dかrev.Eか(チップを見ると231Dとか231Eとか書いてある)
でSPDIF INが使えるかどうかが違う(Realtekのサイトと仕様書で確認)ので、
その判定ルーチンを新規に追加したみたいなんだけど、これってバグかな。
調べてみると、0.9.3cあたりでこの辺が書き変わってるようですが、
0.9.3cの時は、条件(rev.Eか)によってspec.dev_flagsを1にするルーチンがちゃんとあります。

自前でカーネルリビルドかぁ。最近やってないなぁ。

[追記]
CVSで確認したら、最新では直っているっぽい。やっぱりビルドかぁ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike

読み込み中...