お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2011-07-20 02:11:47

spangle@clown
メンバ
登録日: 2011-07-20

alsamixerが使えない ca0106

Sound Blaster 5.1vx のサウンドカードを使用しているのですが、サウンドミキサーが使えません。
OSはUbuntu 10.04 LTSです。
音は出るのですが、音の調整ができないのでなにかと不便です。

"alsamixer"と打ち込むと、
"alsamixer: function snd_ctl_open failed for default: No such file or directory"
と表示されます。
その他のコマンドは

$ lsmod | grep snd
snd_page_alloc          7172  0
$ cat /proc/asound/cards
cat: /proc/asound/cards: No such file or directory
$ lspci -v | grep Audio
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)
$ sudo lspci | grep audio
04:01.0 Multimedia audio controller: Creative Labs CA0106 Soundblaster
$ aplay -l
aplay: device_list:207: サウンドカードが見つかりません...

このようになっております。

オフライン

 

#2 2011-07-20 09:58:49

Mocchi
管理者
登録日: 2009-05-17

Re: alsamixerが使えない ca0106

spangle@clown による投稿:

$ lsmod | grep snd
snd_page_alloc          7172  0

この出力を見るに、ひょっとしたらサウンドドライバーとなるカーネルモジュールがロードできてない可能性がありますね。

サウンドデバイスとカーネルモジュールの対応関係を調べたいので、以下の出力を教えて下さい。

コード:

$ lspci -vnns 04:01.0;

オフライン

 

#3 2011-07-20 18:00:23

spangle@clown
メンバ
登録日: 2011-07-20

Re: alsamixerが使えない ca0106

$ lspci -vnns 04:01.0;
04:01.0 Multimedia audio controller [0401]: Creative Labs CA0106 Soundblaster [1102:0007]
    Subsystem: Creative Labs Device [1102:1004]
    Flags: bus master, medium devsel, latency 32, IRQ 19
    I/O ports at d000 [size=32]
    Capabilities: <access denied>
    Kernel driver in use: oss_audigyls
    Kernel modules: snd-ca0106

上記が出力結果です。

オフライン

 

#4 2011-07-20 21:59:53

Mocchi
管理者
登録日: 2009-05-17

Re: alsamixerが使えない ca0106

spangle@clown による投稿:

Kernel driver in use: oss_audigyls

この出力を見る限り、サウンドドライバーとしてUbuntu標準のALSAカーネルモジュールではなく、Open Sound System由来のカーネルモジュールを使っているように見受けられます。

alsamixerといったソフトウェアはALSAサブシステムのユーティリティーなので、Open Sound Systemと併用することはできません。

以下のコマンドで、サウンドサブシステムをALSAまたはOpen Sound Systemに切り替えることができます。

コード:

$ sudo dpkg-reconfigure linux-sound-base;

項目「ALSA」を選択して下さい。再起動すると、サウンドサブシステムとしてALSAが適用され、ALSAカーネルモジュールやaplay、alsamixer、alsactlといったユーティリティーが使用可能となります。

参考情報:
第144回 UbuntuでOpen Sound Systemを使う @ Ubuntu Weekly Recipe

オフライン

 

#5 2011-07-21 15:33:08

spangle@clown
メンバ
登録日: 2011-07-20

Re: alsamixerが使えない ca0106

sudo dpkg-reconfigure linux-sound-base;
コマンドにてALSAを選択してもmixerが使えなかったので、OSSを削除した所、音が鳴らなくなりました。
alsaconfではca0106が認識されるのですが、alsa系のコマンドを使用すると下記のように出力されます。

$ aplay
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4184:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4184:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4184:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4663:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM default
aplay: main:564: オーディオオープンエラー No such file or directory
$ alsamixer

alsamixer: function snd_ctl_open failed for default: No such file or directory

OSSを削除したので
Kernel driver in use: oss_audigyls
は消えましたが、alsaのドライバを使用している様子はありません。
ALSAの再インストールもしてみましたが、効果ありませんでした。

オフライン

 

#6 2011-07-21 17:33:49

Mocchi
管理者
登録日: 2009-05-17

Re: alsamixerが使えない ca0106

Open Sound System由来のカーネルモジュールも、ALSA由来のカーネルモジュールも、カーネルイメージに組み込まれているため、削除したりインストールしたりはそれほど簡単には出来ないかと思います。

Lucidの場合、カーネルイメージにOpen Sound Systemバージョン3由来のカーネルモジュールと、ALSA 1.0.21由来のカーネルモジュールが入っています。

例外的に、dkmsによってOpen Sound Systemバージョン4由来のカーネルモジュールをインストールするパッケージが提供されているはず。

spangle@clown による投稿:

OSSを削除したので

spangle@clown による投稿:

ALSAの再インストールもしてみましたが、効果ありませんでした。

上記に関して、具体的にどのような操作をしたのか、教えて下さい。Ubuntuの標準状態からだいぶかけ離れ、システムの状態が私には把握できなくなっていた場合、ちょっとサポートが難しくなってしまいますので。。。

また、以下の出力も再度教えて下さい。

コード:

$ lspci -vnns 04:01.0;

オフライン

 

#7 2011-07-21 18:25:47

spangle@clown
メンバ
登録日: 2011-07-20

Re: alsamixerが使えない ca0106

行った作業はoss-linuxです。
ALSAの再インストールに関しては、alsa-driver、alsa-lib、alsa-utilsを再度インストールしました。
lspci -vnns 04:01.0;
コマンドでの出力は下記の通りです。

04:01.0 Multimedia audio controller [0401]: Creative Labs CA0106 Soundblaster [1102:0007]
    Subsystem: Creative Labs Device [1102:1004]
    Flags: bus master, medium devsel, latency 32, IRQ 19
    I/O ports at d000 [size=32]
    Capabilities: <access denied>
    Kernel modules: snd-ca0106

オフライン

 

#8 2011-07-21 18:27:20

spangle@clown
メンバ
登録日: 2011-07-20

Re: alsamixerが使えない ca0106

すみません、oss-linuxですが、”削除”が抜けていました。
行った作業はoss-linuxの削除です。
と解読ください。

オフライン

 

#9 2011-07-21 19:19:56

Mocchi
管理者
登録日: 2009-05-17

Re: alsamixerが使えない ca0106

spangle@clown による投稿:

行った作業はoss-linuxの削除です。

Open Sound Systemを提供している4 Front Technologies社のウェブサイトから、debパッケージ(パッケージ名「oss-linux」)をダウンロードしてインストールしていたが、それをパッケージ管理で削除したと理解しました。

spangle@clown による投稿:

ALSAの再インストールに関しては、alsa-driver、alsa-lib、alsa-utilsを再度インストールしました。

Advanced Linux Sound Architecture (ALSA)のウェブサイトから、「alsa-driver」、「alsa-lib」、「alsa-utils」のソースコードをそれぞれダウンロード、ビルドしてインストールなさったと理解しました。

さて、当面の目標は、先のコマンドで以下の出力が得られることです。

コード:

Kernel driver in use: snd-ca0106

とりあえず、カーネルモジュールをロードしてみたいと思います。以下のコマンドを実行して下さい。

コード:

$ gksu modprobe snd-ca0106;

ロードできたかどうかは、以下のコマンドで確認できます。

コード:

$ lsmod | grep snd;

もしコマンドの反応がなかったりしたらエラーが発生していますので、Ubuntuのメニューから「システム」→「システム管理」と辿り、「ログ・ビュアー」を起動して下さい。画面左側のペインの「kern.log」にエラーが出力されると思いますので、それを教えて下さい。

オフライン

 

#10 2011-07-22 05:15:58

spangle@clown
メンバ
登録日: 2011-07-20

Re: alsamixerが使えない ca0106

ログの中身は

Jul 22 05:11:29 hoge kernel: [ 2085.811648] snd: Unknown symbol unregister_sound_special
Jul 22 05:11:29 hoge kernel: [ 2085.811818] snd: Unknown symbol register_sound_special_device
Jul 22 05:11:29 hoge kernel: [ 2085.812659] snd: Unknown symbol sound_class
Jul 22 05:11:29 hoge kernel: [ 2085.813658] snd_timer: Unknown symbol snd_info_register
Jul 22 05:11:29 hoge kernel: [ 2085.813766] snd_timer: Unknown symbol snd_info_create_module_entry
Jul 22 05:11:29 hoge kernel: [ 2085.813870] snd_timer: Unknown symbol snd_info_free_entry
Jul 22 05:11:29 hoge kernel: [ 2085.814048] snd_timer: Unknown symbol __snd_printk
Jul 22 05:11:29 hoge kernel: [ 2085.814130] snd_timer: Unknown symbol snd_iprintf
Jul 22 05:11:29 hoge kernel: [ 2085.814256] snd_timer: Unknown symbol snd_ecards_limit
Jul 22 05:11:29 hoge kernel: [ 2085.814378] snd_timer: Unknown symbol snd_oss_info_register
Jul 22 05:11:29 hoge kernel: [ 2085.814461] snd_timer: Unknown symbol snd_unregister_device
Jul 22 05:11:29 hoge kernel: [ 2085.814564] snd_timer: Unknown symbol snd_device_new
Jul 22 05:11:29 hoge kernel: [ 2085.814781] snd_timer: Unknown symbol snd_register_device_for_dev

となっていました。
カーネルを読み込む際の出力は下記の通りです。

$ gksu modprobe snd-ca0106;
WARNING: All config files need .conf: /etc/modprobe.d/sound, it will be ignored in a future release.WARNING: All config files need .conf: /etc/modprobe.d/alsa-base, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/sound, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/alsa-base, it will be ignored in a future release.
FATAL: Error inserting snd (/lib/modules/2.6.32-33-generic-pae/kernel/sound/acore/snd.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error running install command for snd
WARNING: Error inserting snd_pcm (/lib/modules/2.6.32-33-generic-pae/kernel/sound/acore/snd-pcm.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting ac97_bus (/lib/modules/2.6.32-33-generic-pae/kernel/sound/misc/ac97_bus.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting snd_ac97_codec (/lib/modules/2.6.32-33-generic-pae/kernel/sound/pci/ac97/snd-ac97-codec.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting snd_seq_device (/lib/modules/2.6.32-33-generic-pae/kernel/sound/acore/seq/snd-seq-device.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting snd_rawmidi (/lib/modules/2.6.32-33-generic-pae/kernel/sound/acore/snd-rawmidi.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting snd_ca0106 (/lib/modules/2.6.32-33-generic-pae/kernel/sound/pci/ca0106/snd-ca0106.ko): Unknown symbol in module, or unknown parameter (see dmesg)

lsmod | grep snd;
コマンドでの出力は
snd_page_alloc          7172  0
となっており、変化ありません。

オフライン

 

#11 2011-07-22 07:10:11

Mocchi
管理者
登録日: 2009-05-17

Re: alsamixerが使えない ca0106

spangle@clown による投稿:

FATAL: Error inserting snd_ca0106 (/lib/modules/2.6.32-33-generic-pae/kernel/sound/pci/ca0106/snd-ca0106.ko): Unknown symbol in module, or unknown parameter (see dmesg)

おそらく、ALSAカーネルモジュール(alsa-driver)のビルドに失敗していると思われます。私はカーネル周りに関して詳しくないので把握していませんが、以前、私もLucidでalsa-driverをビルドしようとしてこのような状況になったことがあります。どうも、カーネルの提供するABIをうまく利用できる形で、カーネルモジュールをビルドできてないと、このような状況となります。

alsa-driverでインストールするカーネルモジュールは、パッケージ「linux-image-x.x.xx-x-generic」(xはその時々で変わります)でインストールされるファイル群を上書きする形でインストールされますので、このパッケージを再インストールすることで元に戻す事ができます。

今回は、エラー出力を参照して、パッケージ「linux-image-2.6.32-33-generic-pae」を再インストールすることになります。

念のために、「alsa-lib」、「alsa-utils」でインストールしたファイルも、パッケージを再インストールすることで元に戻しておくのが無難かと思います。この場合、パッケージ「libasound2」「alsa-utils」(たぶん「libasound2-plugins」も?)を再インストールすると元に戻ります。

上記再インストール作業を試してみて下さい。

オフライン

 

#12 2011-07-22 22:59:55

spangle@clown
メンバ
登録日: 2011-07-20

Re: alsamixerが使えない ca0106

linux-image-2.6.32-33-generic-paeを再インストール後、一度サウンドカードを認識したのですが、再起動後また元に戻ってしまいました。
その次にalsa-utils,libasound2,libasound2-pluginsを再インストールしても変化ありませんでした。
この後、もう一度linux-image-2.6.32-33-gemeric-paeを再インストールし、再起動した所、ca0106のドライバ自体が読み込まれなくなってしまったのでalsa-driverの再インストールをしました。
今の状態は作業をする前と一切変わりない状態です。

オフライン

 

#13 2011-07-23 08:51:32

Mocchi
管理者
登録日: 2009-05-17

Re: alsamixerが使えない ca0106

spangle@clown による投稿:

alsa-driverの再インストールをしました。

このビルドが失敗しているので、元の木阿弥となります。

お互いに同じ環境が再現できないとサポートできませんので、なるべくパッケージを利用するようにしていただきたいのですが。。。

もう一度「linux-image-2.6.32-33-gemeric-pae」を再インストールし、私の2011-07-21 19:19:56の返信の内容を教えて下さい。たぶん「Unknown symbol in module」のエラーが出なくなっていると思います。

オフライン

 

#14 2011-07-23 13:12:29

spangle@clown
メンバ
登録日: 2011-07-20

Re: alsamixerが使えない ca0106

すみません、理解しました。
linux-image-2.6.32-33-generic-paeの再インストール後のモジュールの読み込みですが、

$ gksu modprobe snd-ca0106;
WARNING: All config files need .conf: /etc/modprobe.d/sound, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/alsa-base, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/sound, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/alsa-base, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/sound, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/alsa-base, it will be ignored in a future release.

と出力されました。
ログを参照した所、ログにはエラーが残っていませんでした。
次に、モジュールを読み込んでlsmodにて"snd"を参照した所、

$ lsmod | grep snd;
snd_ca0106             31563  0
snd_rawmidi            19056  1 snd_ca0106
snd_seq_device          5700  1 snd_rawmidi
snd_ac97_codec        100646  1 snd_ca0106
ac97_bus                1002  1 snd_ac97_codec
snd_pcm_oss            35308  0
snd_mixer_oss          13746  1 snd_pcm_oss
snd_pcm                70918  3 snd_ca0106,snd_ac97_codec,snd_pcm_oss
snd_timer              19098  1 snd_pcm
snd                    54244  8 snd_ca0106,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore               6620  1 snd
snd_page_alloc          7172  2 snd_ca0106,snd_pcm

となっていました。
前回ca0106のドライバが読み込まれなくなる、と言いましたが、ハードウェア自体が悪かったようです。
Sound Blaster 5.1vxは時折ハードウェアの問題でうまく作用しない時があるそうなので・・・
この後再起動した所、モジュールが読み込まれていなかったのですが上記操作にてまたモジュールが読み込めました。

今回行った作業は
linux-image-2.6.32-33-generic-paeの再インストール→再起動→モジュールの読み込み→モジュールの確認
のみです。

オフライン

 

#15 2011-07-23 18:05:34

Mocchi
管理者
登録日: 2009-05-17

Re: alsamixerが使えない ca0106

spangle@clown による投稿:

WARNING: All config files need .conf: /etc/modprobe.d/sound, it will be ignored in a future release.

ざっと調べてみたところ、/etc/modprobe.d/以下に拡張子「.conf」を含まないファイルがあると出力されるエラーのようです。大局に影響ありませんが、lsコマンドを使って確認してみることをおすすめします。たぶん、これまでの手動ビルド&インストールの残り香でしょう。

spangle@clown による投稿:

前回ca0106のドライバが読み込まれなくなる、と言いましたが、ハードウェア自体が悪かったようです。
Sound Blaster 5.1vxは時折ハードウェアの問題でうまく作用しない時があるそうなので・・・
この後再起動した所、モジュールが読み込まれていなかったのですが上記操作にてまたモジュールが読み込めました。

カーネルモジュールはファイル「/etc/modules」に記述することで強制的にロードできます。今回の場合は「snd-ca0106」をファイルに追記することになります。

ただ、「ハードウェアの問題でうまく作用しない」というのがどのレベルまで影響するのか図りかねるところがあるため(カーネルモジュールがロードされていてもサウンドデバイスとの関連付けがされない場合も予想されるため)、追記せずに数回再起動を試してみて、その都度、modinfoとlspciの出力でカーネルモジュールのロードと関連付けを確認してみるのをおすすめします。

オフライン

 

#16 2011-07-23 23:11:36

spangle@clown
メンバ
登録日: 2011-07-20

Re: alsamixerが使えない ca0106

わかりました。
ある程度先が見えてきたので、後は自力でがんばってみます。
長い間ありがとうございました。

オフライン

 

#17 2011-07-24 03:08:34

Mocchi
管理者
登録日: 2009-05-17

Re: alsamixerが使えない ca0106

実は私、#7あたりまで、Open Sound Systemを利用して音声出力されていたということに気づいてませんでした。なので音声が出ないストレスを与えてしまって、申し訳ありません。

もしもALSAを利用しても音声の入出力ができない場合、Open Sound Systemを再度利用するということも可能です。この場合は、alsamixerなど、ALSA由来のユーティリティが使えませんのでご注意下さい。こちらを先にお教えするべきでしたね・・・。

Ubuntuなら、Open Sound Systemのバージョン4をパッケージ「oss4-dkms」と「oss4-base」でインストールでき、ミキサーもパッケージ「oss4-gtk」がインストールする「ossxmix」を使えばお望みの事ができるかと思います。4 Front Technologies社のウェブサイトからパッケージ「linux-oss」をダウンロードしてインストールするよりも確実かと思います。

Lucid向けパッケージにはバグがあってインストールできなかったのですが、2011/06/28のアップデートで対処されたようです。

ただ、Open Sound SystemはLinux用サウンド・アーキテクチャーとしては古く、ALSA/PulseAudioを標準とするUbuntuからは、追加の設定なしでは使い勝手が非常に悪いものとなっています。最新のソフトウェアはOpen Sound Systemのサポートを除外したものも多いです。将来的にこの傾向はどんどん進みますので、今のうちに、ALSAでサウンドデバイスを利用する方法を見つけておくのが無難と言えます。

オフライン

 

#18 2011-07-25 21:53:46

spangle@clown
メンバ
登録日: 2011-07-20

Re: alsamixerが使えない ca0106

追加説明ありがとうございます。
今はALSAが主流ということでALSAの移行を・・・と思い試みましたが、OSSでもミキサーが使えるということなので繋ぎとして使用してみます。
最終的にはALSAを主体として使えるようにしたいと思いますが、今は臨時でOSSを使用したいと思います。

オフライン

 

#19 2011-09-24 20:25:57

Mocchi
管理者
登録日: 2009-05-17

Re: alsamixerが使えない ca0106

だいぶ険しい道のりを歩まれているようなので、ちょっと調べてみました。

ALSAの更新履歴を見たところ、ALSA 1.0.24で、お使いのサウンドデバイス「Sound Blaster 5.1vx」へのサポートが強化されたようです。

Changes v1.0.23 v1.0.24 @ alsa-project.org

ALSAのカーネルモジュールのソースを見てみたところ、確かにSound Blaster 5.1vx専用のコードが追加されていました。Ubuntuの次期リリースのOneiricからは、もう少しまともに動くようになるかもしれません。

オフライン

 

#20 2011-09-28 21:03:57

spangle@clown
メンバ
登録日: 2011-07-20

Re: alsamixerが使えない ca0106

追加でありがとうございます。
OSSではいろいろと不便な点が多いので、バージョンアップの機会が出来たらALSAへ移行できるようにしてみたいと思います。

オフライン

 

Board footer

Powered by FluxBB