[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:23629] plamo4.0,kernel 2.6.2 でALSA設定しました。



こんにちは
中谷です。

音がなくても別に困らないので、ちょっと放っていたのですが、
せっかくなので、ALSA を使ってみました。

環境は plamo4.0 kernel 2.6.2
2.6 系だと、# Advanced Linux Sound Architecture があるので、
手早いかと思ったのですが、
「音がでない」とちょっとはまってしまいました。

(1)/sbin/lspci でサウンド関係を調べる。

sakura@hanahana:~$ /sbin/lspci
02:09.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)


(2)カードのチェック

/usr/src/linux/Documentation/sound/alsa/CMIPCI.txt を参考にしました。

Brief Notes on C-Media 8738/8338 Driver
4/6 Multi-Channel Playback
--------------------------
The recent CM8738 chips support for the 4/6 multi-channel playback
function.  This is useful especially for AC3 decoding.

When the multi-channel is supported, the driver name has a suffix
"-MC" such like "CMI8738-MC6".  You can check this name from
/proc/asound/cards.

カードの詳細
-------------------
bash-2.05b# cat /proc/asound/cards
0 [CMI8738MC6     ]: CMI8738-MC6 - C-Media PCI CMI8738-MC6
                     C-Media PCI CMI8738-MC6 (model 55) at 0xc800, irq 11
--------------------

(3)カーネルの設定
(たぶん最低限かも。念のため OSS のほうも最低限チェックしておきました)

# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_RTCTIMER is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set

#
# Generic devices
#
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m

# PCI devices
CONFIG_SND_CMIPCI=m




(4)  /etc/module.conf
-------------
alias char-major-116 snd
alias snd-card-0 snd-cmipci
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
options snd major=116 cards_limit=1
options snd-cmipci index=0 
post-install snd-card-cmipci alsactl restore
---------------

alsa の設定ファイルは、/usr/sbin
-rwxr-xr-x    1 root     root        28731  5月 21日  11:29 alsaconf*
-rwxr-xr-x    1 root     root        32004  5月 21日  11:29 alsactl*

(5) alsaconf を起動して設定すると、/etc/modprobe.conf を変更してくれます。
   (これ大事です、最終的にこの設定をすれば使える)
/etc/modprobe.conf
# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 1.0.4 ---
alias snd-card-0 snd-cmipci
alias sound-slot-0 snd-cmipci
# --- END: Generated by ALSACONF, do not edit. ---

alsactl については、plamo.FAQ
http://plamo-linux.jp/plamo_faq.html#S

http://plamo-linux.jp/I810/i810.html
i810 のサウンド機能の設定
alsactl コマンド
ただし、ここでは /etc/asound.conf というファイルになっていますが、
(私の場合) /etc/asound.state というファイルが使われるようです。


(6) はまったかもしれないのは、とにかくうんともすんとも音が出なかったこと!

上記設定をあれこれ見直したのですが、何が不備なのかがわからなかったのです
が、
http://plamo-linux.jp/I810/i810.html
このページをゆっくり読み、
ここで、
------------
ALSA のドライバはロードされた時点では音量は全て mute された状態になって
います。そのため、サウンドを処理するプログラム類は正しく動作していても音
声が出力されないように見えることがあります。
--------
このあたりのことを中心に調べてみました。
aumix や smix も確認し、
/etc/module.conf に次の行を加えました。
post-install snd-card-cmipci alsactl restore


ここで行き当たったのが、alsa の設定ファイルで、このような設定ファイルが
あることになかなか気がつかなかったのがはまりの原因だったようです。
(cmipci であちこち調べてみましたが、まあ、いろいろ出てきましたけれど)

alsa の設定ファイルは、/usr/sbin
-rwxr-xr-x    1 root     root        28731  5月 21日  11:29 alsaconf*
-rwxr-xr-x    1 root     root        32004  5月 21日  11:29 alsactl*

Timidity でmid ファイルの演奏
wavplay(wavplay-1.4.tar.gz をmake install)で wav ファイルの演奏
mpg123 (mpg123-0.59r.tar.gz をmake install)で mp3 ファイル演奏
などできるようになりました。

以上です。
中谷千絵


[検索ページ] [メール一覧]
Plamo ML 公開システム