ALSA API を使用する PCI サウンド カード用の単純なドライバを作成しようとしています。もちろん、私は問題に直面しています。ドライバーを動作させることができません。
したがって、ここにいくつかの詳細があります:
前述したように、サウンド カードは PCI デバイスです。ドライバーを起動するには、最初に実行されていた snd_intel8x0 ドライバーを停止する必要がありました。これは、デバイスが占有されていて、アクセスできなかったためです (ドライバーのプローブ機能が実行されませんでした)。そこで、snd_intel8x0 ドライバーをブラックリストに登録しました (/etc/modporbe.d/blacklist.conf に行を追加しました)。この瞬間からドライバーを開始できます - プローブ機能が開始されます。
残念ながら、snd_intel8x0 ドライバーがブラックリストに登録されると、ALSA API も消えてしまうようです。私は次のことを観察します。
- ドライバーを起動すると、dmesg に次のエラーが表示されます。
[...] alsa: 不明なシンボル snd_card_register (err 0)
[...] alsa: 不明なシンボル snd_card_create (err 0)
[...] alsa: 不明なシンボル snd_card_free (err 0)
[...] alsa: 不明なシンボル snd_device_new (err 0)
ファイル /proc/kallsyms には snd* シンボルはありません (元のドライバー snd_intel8x0 が上記のすべての snd* 関数を実行している場合、/proc/kallsyms で利用できます)
/proc/asound フォルダーがあります (snd_intel8x0 が実行されている場合は、sound フォルダーが存在します)
だから私の質問:
PCI オーディオ カードが snd_intel8x0 ではなくドライバーを使用するようにするにはどうすればよいですか?
ドライバーで ALSA を使用できるようにするにはどうすればよいですか?
一般的に: snd_intel8x0 がブラックリストに登録されていると、ALSA が消えるのはなぜですか?
よろしくお願いします Grts、ネデリン