お知らせ

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

#1 2010-09-11 23:53:51

hasegawa-34
メンバ
登録日: 2010-09-08

CMI8787-HG2PCIを差しても音がなりません

CMI8787-HG2PCIが認識されません

はじめまして、VistaとUbuntu 10.4をデュアルブートで使っています。

玄人志向のCMI8787-HG2PCIを差したんですが、音がなりません。
https://wiki.ubuntulinux.jp/UbuntuStudioTips/Device/SoundDevice
を参考にあれこれ試しているんですが
lspciコマンド実行すると、

コード:

05:01.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]

と出ており、
対応するカーネルモジュールも
snd-oxygen.koがあるということまではわかりました。
modinfo snd-oxygenでも

コード:

filename:       /lib/modules/2.6.32-24-generic/updates/alsa/snd-oxygen.ko
license:        GPL v2
description:    C-Media CMI8788 driver
author:         Clemens Ladisch <[email protected]>
srcversion:     212C16FB5F24C590965702E
alias:          pci:v000013F6d00008788sv00007284sd00009781bc*sc*i*
alias:          pci:v000013F6d00008788sv00007284sd00009761bc*sc*i*
alias:          pci:v000013F6d00008788sv0000415Asd00005431bc*sc*i*
alias:          pci:v000013F6d00008788sv00001A58sd00000910bc*sc*i*
alias:          pci:v000013F6d00008788sv0000147Asd0000A017bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00008788bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00000010bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00000001bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000219bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000218bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000216bc*sc*i*
depends:        snd-oxygen-lib,snd
vermagic:       2.6.32-24-generic SMP mod_unload modversions 586 
parm:           index:card index (array of int)
parm:           id:ID string (array of charp)
parm:           enable:enable card (array of bool)

と情報が出ます。
しかし、その後のカーネルモジュールを有効化の仕方がわかりません。
http://www.alsa-project.org/main/index.php/Matrix:Module-oxygen
を適当に見つつ
/etc/​modutils/に

コード:

# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-oxygen
# module options should go here
    
# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
       
# card #1
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

張り付けて、sudo modprobe snd-oxygenコマンドを実行。
とくにエラー、ウォーニングメッセージもなにもでず。
cat /proc/asound/cardsで見ても認識されないままです。

どうすれば、サウンドデバイスとして利用可能にすることができますでしょうか?ご教授願いませんか?

オフライン

 

#2 2010-09-12 11:58:51

hmatsue
アドバイザ
登録日: 2009-03-10

Re: CMI8787-HG2PCIを差しても音がなりません

sound(alsa)関連の設定は、
/etc/modprobe.d/alsa-base.conf
にまとめておくのがよいかと思います。

その前に、追加設定した内容を一度コメントアウトして、システムを再起動し、

コード:

lspci -v -s `lspci | grep -i audio | sed -e 's/\s.*//'`
lsmod

の結果を投稿してみて下さい。
本当に設定無しではカーネルモジュールがロードされないのかの確認のためです。
カーネルモジュールがロードされない場合は、手動でロードしてみてなにかエラーがでるか確認する必要があるかと思います。

オフライン

 

#3 2010-09-12 17:23:49

hasegawa-34
メンバ
登録日: 2010-09-08

Re: CMI8787-HG2PCIを差しても音がなりません

新しいメモ 5

hmatsueさん、返信ありがとうございます。

上記では
/etc/​modutils/と書いてしまいましたが、/etc/​modules.conf の間違いでした。(/etc/​modutils/ファイルはありませんでした))
とりあえず、/etc/​modules.confに張り付けた内容をコメントアウトし、再起動しました。

そして、lspci -v -s `lspci | grep -i audio | sed -e 's/\s.*//'`を実行結果ですが、lspciコマンドのヘルプメッセージが出力されてしまいました。
すいません、報告漏れですが、当方オンボードサウンドを特にBIOSでdisableにしていません(オンボードサウンドをdisableにした場合も音がなりません)。
ですので、コマンドを分割して実行させました。

lspci | grep -i audio | sed -e 's/\s.*//

コード:

00:1b.0
05:01.0

鳴らしたいサウンドカードの方のバスとスロットを指定して、
lspci -v -s 05:01.0

コード:

05:01.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
    Subsystem: C-Media Electronics Inc Device ffff
    Flags: bus master, medium devsel, latency 32, IRQ 9
    I/O ports at 1000 [size=256]
    Capabilities: <access denied>

おそらく、hmatsueさんの指定したコマンドの結果情報は上記で確認できたと思いますが、いかがでしょうか?

lsmodコマンドの結果も以下になります。

コード:

Module                  Size  Used by
binfmt_misc             6587  1 
hid_cypress             1628  0 
snd_hda_codec_idt      53916  1 
snd_hda_intel          20799  2 
snd_hda_codec          87096  2 snd_hda_codec_idt,snd_hda_intel
snd_hwdep               5668  1 snd_hda_codec
snd_pcm_oss            34603  0 
snd_mixer_oss          13929  1 snd_pcm_oss
snd_pcm                71678  3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_seq_dummy           1498  0 
snd_seq_oss            27626  0 
snd_seq_midi            4621  0 
snd_rawmidi            19141  1 snd_seq_midi
snd_seq_midi_event      6003  2 snd_seq_oss,snd_seq_midi
snd_seq                48042  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer              18710  2 snd_pcm,snd_seq
snd_seq_device          6052  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
ppdev                   5259  0 
snd                    56687  18 snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
fbcon                  35102  71 
tileblit                2031  1 fbcon
font                    7557  1 fbcon
bitblit                 4707  1 fbcon
softcursor              1189  1 bitblit
usbhid                 36110  0 
parport_pc             25962  1 
hid                    67032  2 hid_cypress,usbhid
psmouse                63245  0 
soundcore               6620  1 snd
serio_raw               3978  0 
nvidia               9961216  38 
vga16fb                11385  1 
vgastate                8961  1 vga16fb
intel_agp              24119  0 
snd_page_alloc          7140  2 snd_hda_intel,snd_pcm
agpgart                31724  2 nvidia,intel_agp
lp                      7028  0 
parport                32635  3 ppdev,parport_pc,lp
usb_storage            39425  0 
e100                   28211  0 
mii                     4381  1 e100

素人考えですが、snd-oxygenモジュールはロードされていないように見えます。

手動で、sudo modprobe snd-oxygenを実行したあと(特にメッセージなし)、
lsmod | grep snd_oxygenで見ると

コード:

snd_oxygen              6193  0 
snd_oxygen_lib         29346  1 snd_oxygen
snd_mpu401_uart         5873  1 snd_oxygen_lib
snd_pcm                71678  4 snd_oxygen_lib,snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd                    56687  21 snd_oxygen,snd_oxygen_lib,snd_mpu401_uart,snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq,snd_timer,snd_seq_device

と表示はされるようにはなりました。

オフライン

 

#4 2010-09-12 23:35:28

hmatsue
アドバイザ
登録日: 2009-03-10

Re: CMI8787-HG2PCIを差しても音がなりません

hasegawa-34 による投稿:

そして、lspci -v -s `lspci | grep -i audio | sed -e 's/\s.*//'`を実行結果ですが、lspciコマンドのヘルプメッセージが出力されてしまいました。
すいません、報告漏れですが、当方オンボードサウンドを特にBIOSでdisableにしていません(オンボードサウンドをdisableにした場合も音がなりません)。
ですので、コマンドを分割して実行させました。

lspci | grep -i audio | sed -e 's/\s.*//

コード:

00:1b.0
05:01.0

鳴らしたいサウンドカードの方のバスとスロットを指定して、
lspci -v -s 05:01.0

コード:

05:01.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
    Subsystem: C-Media Electronics Inc Device ffff
    Flags: bus master, medium devsel, latency 32, IRQ 9
    I/O ports at 1000 [size=256]
    Capabilities: <access denied>

おそらく、hmatsueさんの指定したコマンドの結果情報は上記で確認できたと思いますが、いかがでしょうか?

はい。確認したかったのは上記の出力です。
やはりというか、kernel moduleが適切にロードされていないのですね。
そして、hasegawa-34さんのご理解のとおり、この状態では必要なkernel moduleがロードされていないことがlsmodの結果からも判ります。

hasegawa-34 による投稿:

手動で、sudo modprobe snd-oxygenを実行したあと(特にメッセージなし)、
lsmod | grep snd_oxygenで見ると

コード:

snd_oxygen              6193  0 
snd_oxygen_lib         29346  1 snd_oxygen
snd_mpu401_uart         5873  1 snd_oxygen_lib
snd_pcm                71678  4 snd_oxygen_lib,snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd                    56687  21 snd_oxygen,snd_oxygen_lib,snd_mpu401_uart,snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq,snd_timer,snd_seq_device

と表示はされるようにはなりました。

kernel module自体のロードではエラーは発生していないのですが、本来、何も設定しなくてもロードされるはずのものがロードされていないことを考えると、kernel moduleをロードしても実際のハードウェアと結びついていないような気がします。
申し訳ありませんが、正直なところ、なぜ適切なkernel moduleがロードされないのか判りません。
uname -rを実行してカーネルの種類を確認し、それに合った、linux-backports-modules-alsa-lucid-*をインストールして再起動してみると状況変わりますでしょうか。

また、オンボードのサウンドデバイスは正常に認識されて稼働しているという認識でよろしいでしょうか。
上記で症状に改善が見られない場合、オンボードのサウンドデバイスが認識されていないのであれば、BIOSで止めてしまって、下記の1を0に読み替えて下さい。認識されていれば、そのままで試してみて下さい(gksudo geditは好みのエディタに置き換えて読んで下さい)。

コード:

gksudo gedit /etc/modprobe.d/alsa-base.conf

一番上に以下を追記。

コード:

alias snd-card-1 snd-oxygen 
alias sound-slot-1 snd-oxygen
options snd-oxygen index=1

で再起動すると状況に変化ありますでしょうか。

オフライン

 

#5 2010-09-13 00:46:13

hasegawa-34
メンバ
登録日: 2010-09-08

Re: CMI8787-HG2PCIを差しても音がなりません

hmatsueさん、度々の助言ありがとうございます。

uname -rコマンドでは

コード:

2.6.32-24-generic

と出ましたので、
sudo apt-get install linux-backports-modules-alsa-lucid-genericを実行してインストールしました。

その後、再起動しましたが、変化はありませんでした。

オンボードのサウンドデバイスはcat /proc/asound/cardsで

コード:

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0x93100000 irq 28

上記のように表示され、サウンドの設定からも確認できます。Rhythmboxでも音楽を聞くことはできます。

BIOSの設定はそのままで
gksudo gedit /etc/modprobe.d/alsa-base.conf実行し、

コード:

alias snd-card-1 snd-oxygen 
alias sound-slot-1 snd-oxygen
options snd-oxygen index=1
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7

# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }

# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
options snd-usb-caiaq index=-2
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2

一番上にhmatsueさんの指定されたコードを埋め込んで、再起動しました。

結果としては、心苦しい限りですが、状況は変わらずです・・・

オフライン

 

#6 2010-09-13 09:27:46

hmatsue
アドバイザ
登録日: 2009-03-10

Re: CMI8787-HG2PCIを差しても音がなりません

だめでしたか。

コード:

Subsystem: C-Media Electronics Inc Device ffff

ここの部分をなんとかしないとちゃんとロードされないのかも知れませんね。。
申し訳ありませんが、いまのところ、ちょっとアイデアにつまってしまっています。


各位

なにか情報お持ちの方いらっしゃれば、ご参加下さい。

オフライン

 

#7 2010-09-13 13:45:01

hmatsue
アドバイザ
登録日: 2009-03-10

Re: CMI8787-HG2PCIを差しても音がなりません

すみません。念の為、

コード:

lspci -nn -s 05:01.0

の結果を投稿してみていただけますか。

オフライン

 

#8 2010-09-13 23:17:36

hasegawa-34
メンバ
登録日: 2010-09-08

Re: CMI8787-HG2PCIを差しても音がなりません

hmatsueさん、いろいろ尽力していただき感謝しています。
相性問題(既知問題)?なのかもしれないので、もうしょうがないかな・・・という気はしています。

lspci -nn -s 05:01.0の結果ですが、以下のとおりになっています。

コード:

05:01.0 Multimedia audio controller [0401]: C-Media Electronics Inc CMI8788 [Oxygen HD Audio] [13f6:8788]

ついでですが、lspci -vv 05:01.0も実行してみました。それはこのとおりです。

コード:

05:01.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
    Subsystem: C-Media Electronics Inc Device ffff
    Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 32 (500ns min, 6000ns max)
    Interrupt: pin A routed to IRQ 9
    Region 0: I/O ports at 1000 [size=256]
    Capabilities: <access denied>

オフライン

 

#9 2010-09-14 00:30:50

hmatsue
アドバイザ
登録日: 2009-03-10

Re: CMI8787-HG2PCIを差しても音がなりません

ごめんなさい。やっぱり判らないです。。
ダメ元で、最後に、
sudo modprobe snd-virtuoso
を試してみていただけますか。それがダメなら、
sudo modprobe snd-hifier
で。
両方ダメだったら、自分の知識ではちょっとお手上げっぽいです。。

オフライン

 

#10 2010-09-14 14:54:18

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

Re: CMI8787-HG2PCIを差しても音がなりません

hmatsueさん、お疲れ様です。私も気になって、ここ数日いろいろ調べてました。

「man modprobe.conf」、「man /etc/modules」でマニュアルを参照すると、これまでの/etc/modprobe.d/alsa-base.confにaliasとoptionsを追記する方法だと、モジュールのロードはカーネルの自動ロード任せになっています。そこで、/etc/modulesに追記し、ブート時にロードするカーネルモジュールに、snd-oxygenを登録してみたいかなと思います。私の環境だと、カードなしでもモジュールがロードできています。

以下をお願いできますか?

0. これまでの変更をクリア

1. 端末で以下を実行
$ sudo gedit /etc/modules

2. geditが開くので、一番下に以下の一行を追記
snd-oxygen

3. 保存して再起動

4. 起動後、以下を実行した結果を教えて下さい
(カーネルモジュールが依存関係も含めてロードされているかどうか)
$ lsmod | grep snd

(ALSAがサウンドデバイスを認識しているかどうか)
$ cat /proc/asound/cards

(PulseAudioがSinkとしてサウンドカードを認識しているかどうか)
$ pacmd list-sinks

5. 適当に音を鳴らしてみて下さい

またこれとは別に、CMI8787-HG2PCIのID情報を調べてmodinfoの出力と照らし合せてみたいかなと思います。以下を教えて下さい。

$  lspci -vvns 05:01.0

オフライン

 

#11 2010-09-15 01:30:41

hasegawa-34
メンバ
登録日: 2010-09-08

Re: CMI8787-HG2PCIを差しても音がなりません

hmatsueさん

本当にいろいろ考えていただいてありがとうございます。
sudo modprobe snd-virtuoso
sudo modprobe snd-hifier
の二つのコマンドですが、残念ながらうまくいきませんでした。
それでも、親身にアドバイスしていただいて感謝しています。

オフライン

 

#12 2010-09-15 01:35:26

hasegawa-34
メンバ
登録日: 2010-09-08

Re: CMI8787-HG2PCIを差しても音がなりません

Mocchiさん

返信ありがとうございます。

/etc/modprobe.d/alsa-base.conf
の変更を元に戻し、

/etc/modulesの一番最後にsnd-oxygenを追加してみました。

再起動して、lsmod | grep sndコマンド結果は以下のとおりです。

コード:

snd_oxygen              6193  0 
snd_oxygen_lib         29346  1 snd_oxygen
snd_mpu401_uart         5873  1 snd_oxygen_lib
snd_hda_codec_idt      53916  1 
snd_hda_intel          20799  2 
snd_hda_codec          87096  2 snd_hda_codec_idt,snd_hda_intel
snd_hwdep               5668  1 snd_hda_codec
snd_pcm_oss            34603  0 
snd_mixer_oss          13929  1 snd_pcm_oss
snd_pcm                71678  4 snd_oxygen_lib,snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_seq_dummy           1498  0 
snd_seq_oss            27626  0 
snd_seq_midi            4621  0 
snd_rawmidi            19141  2 snd_mpu401_uart,snd_seq_midi
snd_seq_midi_event      6003  2 snd_seq_oss,snd_seq_midi
snd_seq                48042  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer              18710  2 snd_pcm,snd_seq
snd_seq_device          6052  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
snd                    56687  21 snd_oxygen,snd_oxygen_lib,snd_mpu401_uart,snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore               6620  1 snd
snd_page_alloc          7140  2 snd_hda_intel,snd_pcm

起動するだけでsnd_oxygenはロードはされるようになったようです。

ただ、cat /proc/asound/cardsの結果としては

コード:

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0x93100000 irq 28

と、オンボードサウンドデバイスしか表示されませんでした。

pacmd list-sinksコマンド結果は以下のとおりです。

コード:

Welcome to PulseAudio! Use "help" for usage information.
>>> 1 sink(s) available.
  * index: 0
    name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 9959
    volume: 0:  21% 1:  21%
            0: -40.65 dB 1: -40.65 dB
            balance 0.00
    base volume: 100%
                 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 0
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 371.52 ms
    card: 0 <alsa_card.pci-0000_00_1b.0>
    module: 4
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "STAC92xx Analog"
        alsa.id = "STAC92xx Analog"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "0"
        alsa.card_name = "HDA Intel"
        alsa.long_card_name = "HDA Intel at 0x93100000 irq 28"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1b.0"
        sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "27d8"
        device.product.name = "N10/ICH 7 Family High Definition Audio Controller"
        device.form_factor = "internal"
        device.string = "front:0"
        device.buffering.buffer_size = "65536"
        device.buffering.fragment_size = "32768"
        device.access_mode = "mmap+timer"
        device.profile.name = "analog-stereo"
        device.profile.description = "Analog Stereo"
        device.description = "Internal Audio Analog Stereo"
        alsa.mixer_name = "SigmaTel STAC9221 A1"
        alsa.components = "HDA:83847680,107b6051,00103601"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        analog-output: Analog Output (priority 9900)
        analog-output-speaker: Analog Speakers (priority 10000)
    active port: <analog-output-speaker>

音はオンボードサウンドデバイスでは鳴っていることは確認できました。

lspci -vvns 05:01.0の結果は以下になります。

コード:

05:01.0 0401: 13f6:8788
    Subsystem: 13f6:ffff
    Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 32 (500ns min, 6000ns max)
    Interrupt: pin A routed to IRQ 9
    Region 0: I/O ports at 1000 [size=256]
    Capabilities: <access denied>

オフライン

 

#13 2010-09-15 07:58:58

hmatsue
アドバイザ
登録日: 2009-03-10

Re: CMI8787-HG2PCIを差しても音がなりません

> hasegawa-34さん
同じIDのデバイス用のカーネルモジュールだったので、もしやと思ったのですが、やはりダメでしたか。。
申し訳ありませんが、今のことろアイデアがもう無くなってしまいました。。

>Mocchiさん
ご参加ありがとうございます。 :)
ちょっと手詰まってしまいました。。
何か案、ありますでしょうか。

オフライン

 

#14 2010-09-16 17:11:38

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

Re: CMI8787-HG2PCIを差しても音がなりません

hmatsue による投稿:

何か案、ありますでしょうか。

今回使いたいサウンドデバイス「CMI8787-HG2PCI」のIDはそれぞれ
ベンダー: 13F6
デバイス: 8788
サブベンダー: 13F6
サブデバイス: FFFF

となっています。#1のmoninfoの出力を見ると、サブデバイスIDが等しいものは見つかりません。そのため、このカーネルモジュールはこのデバイスには対応していないと考えられます。

ということになると方法は、ALSAのソースコードを少々手直しして、このデバイスに対応させてしまうということになります。すでに、ソースの修正点は私の方で目処を付けてあります。

しかしこうなると、ALSAを自分でソースからインストールすることとなりますので、カーネルイメージのアップグレードが入る度にカーネルモジュールが上書きされてしまい、その都度自分でインストール作業をする必要があります。dpkg-divertという方法もありますが、ALSAは非常にたくさんのファイルをインストールするため現実的ではありませんし、DKMS (Dynamic Kernel Module Support) はあいにく私はALSAでの成功例を知りません。

以上のようなデメリットを考慮したうえでご返事下さい。なお、MarvericのALSAのソースも見てみましたが、やはり今回のサウンドデバイスには対応していませんでした。

オフライン

 

#15 2010-09-17 00:25:26

hasegawa-34
メンバ
登録日: 2010-09-08

Re: CMI8787-HG2PCIを差しても音がなりません

Mocchiさん

今回の現象は、自端末だけの独自現象というよりは
元からsnd-oxygen.koは「CMI8787-HG2PCI」に対応していなかったということでしょうか?

このままUbuntuでこのサウンドボードが使えないのは勿体無いので、
対応案があるということであらば、試してみたいと思います。

是非、教えていただけないでしょうか?

オフライン

 

#16 2010-09-18 01:16:51

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

Re: CMI8787-HG2PCIを差しても音がなりません

hasegawa-34 による投稿:

今回の現象は、自端末だけの独自現象というよりは、元からsnd-oxygen.koは「CMI8787-HG2PCI」に対応していなかったということでしょうか?

そうです。

さて、必要な操作を順番に示すと、以下となります。
0. これまでの変更点のクリア
1. 「build-essential」パッケージをインストール
2. 「alsa-source」パッケージをインストール
3. ソースの解凍
4. ソースコードの修正
5. ビルド
6. カーネルモジュールのチェック
7. インストール
8. デバイスのマッピングファイルの更新
9. 再起動

まずは1.から3.まで。

コード:

sudo apt-get install build-essential
sudo apt-get install alsa-source
tar xjvf /usr/src/alsa-driver.tar.bz2 -C ~/

これで、ソースがホームの「module」ディレクトリに展開されています。

ソースコードは、「modules/alsa-driver/alsa-kernel/pci/oxygen/oxygen.c」を修正します。

コード:

gedit ~/modules/alsa-driver/alsa-kernel/pci/oxygen/oxygen.c

ちょっと長いのですが、以下に68行目から89行目を引用します。

コード:

enum {
    MODEL_CMEDIA_REF,    /* C-Media's reference design */
    MODEL_MERIDIAN,        /* AuzenTech X-Meridian */
    MODEL_CLARO,        /* HT-Omega Claro */
    MODEL_CLARO_HALO,    /* HT-Omega Claro halo */
};

static pci_device_id oxygen_ids[] __devinitdata = {
    { OXYGEN_PCI_SUBID(0x10b0, 0x0216), .driver_data = MODEL_CMEDIA_REF },
    { OXYGEN_PCI_SUBID(0x10b0, 0x0218), .driver_data = MODEL_CMEDIA_REF },
    { OXYGEN_PCI_SUBID(0x10b0, 0x0219), .driver_data = MODEL_CMEDIA_REF },
    { OXYGEN_PCI_SUBID(0x13f6, 0x0001), .driver_data = MODEL_CMEDIA_REF },
    { OXYGEN_PCI_SUBID(0x13f6, 0x0010), .driver_data = MODEL_CMEDIA_REF },
    { OXYGEN_PCI_SUBID(0x13f6, 0x8788), .driver_data = MODEL_CMEDIA_REF },
    { OXYGEN_PCI_SUBID(0x147a, 0xa017), .driver_data = MODEL_CMEDIA_REF },
    { OXYGEN_PCI_SUBID(0x1a58, 0x0910), .driver_data = MODEL_CMEDIA_REF },
    { OXYGEN_PCI_SUBID(0x415a, 0x5431), .driver_data = MODEL_MERIDIAN },
    { OXYGEN_PCI_SUBID(0x7284, 0x9761), .driver_data = MODEL_CLARO },
    { OXYGEN_PCI_SUBID(0x7284, 0x9781), .driver_data = MODEL_CLARO_HALO },
    { }
};
MODULE_DEVICE_TABLE(pci, oxygen_ids);

下のテーブルに、今回のデバイスに対応するエントリー「OXYGEN_PCI_SUBID(0x7284, 0xffff)」がないので、追加してあげます。ただ、「.driver_data=」で与えられる値を、上の配列の4種類から選択する必要がありますが、これは試してみなければわかりません。

私の予想では、このデバイスのサブベンダーIDが0x13f6(C-Media)で認識されているため、C-「Media's reference design」でチップセットを実装しているとの判断で、MODEL_CMEDIA_REFがいいのではないかと思います。従って、以下の行をテーブルに挿入します。

コード:

    { OXYGEN_PCI_SUBID(0x13f6, 0xffff), .driver_data = MODEL_CMEDIA_REF },

コードを修正したら、ビルドします。ALSAは巨大なので、ビルドにだいぶ時間がかかります。

コード:

cd ~/modules/alsa-driver
./configure
make

ビルドできたら、インストールする前にmodinfoでカーネルモジュールファイルの情報をチェックします。

コード:

modinfo ~/modules/alsa-driver/pci/oxygen/snd-oxygen.ko

出力のaliasに、追加した行が反映されていれば成功です。文字列「FFFF」で判断して下さい。

コード:

alias:          pci:v000013F6d00008788sv000013F6sd0000FFFFbc*sc*i*

成功したら、インストールしてデバイスのマッピングファイルを更新します。

コード:

sudo make install
sudo depmod -a

この操作で更新されたマッピングファイルは、以下のコマンドで確認できます。

コード:

cat /lib/modules/`uname -r`/modules.pcimap | grep snd-oxygen

見方は左から
「pci_module vendor device subvendor subdevice class class_mask driver_data」となります。

ここまで確認できたら、再起動してALSAのカード情報を確認してみて下さい。

コード:

cat /proc/asound/cards/*

うまくいくことを祈ってます。

オフライン

 

#17 2010-09-18 11:10:30

hasegawa-34
メンバ
登録日: 2010-09-08

Re: CMI8787-HG2PCIを差しても音がなりません

Mocchiさん

コピペだけで作業が進められるように、細かくやり方を教えていただきありがとうございます。

早速やってみました。結果は
./configureコマンド以降に絞って書いていきたいと思います。

oxygen.cの修正後、./configure、makeコマンドは

ALSA modules were successfully compiled.

で成功しました。

modinfo ~/modules/alsa-driver/pci/oxygen/snd-oxygen.koで確認したところ

コード:

filename:       /home/katsuhiro/modules/alsa-driver/pci/oxygen/snd-oxygen.ko
license:        GPL v2
description:    C-Media CMI8788 driver
author:         Clemens Ladisch <[email protected]>
srcversion:     212C16FB5F24C590965702E
alias:          pci:v000013F6d00008788sv000013F6sd0000FFFFbc*sc*i*
alias:          pci:v000013F6d00008788sv00007284sd00009781bc*sc*i*
alias:          pci:v000013F6d00008788sv00007284sd00009761bc*sc*i*
alias:          pci:v000013F6d00008788sv0000415Asd00005431bc*sc*i*
alias:          pci:v000013F6d00008788sv00001A58sd00000910bc*sc*i*
alias:          pci:v000013F6d00008788sv0000147Asd0000A017bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00008788bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00000010bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00000001bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000219bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000218bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000216bc*sc*i*
depends:        snd-oxygen-lib,snd
vermagic:       2.6.32-24-generic SMP mod_unload modversions 586 
parm:           index:card index (array of int)
parm:           id:ID string (array of charp)

pci:v000013F6d00008788sv000013F6sd0000FFFFbc*sc*i*が追加されています。

sudo make install
sudo depmod -aコマンド後、マッピングファイルを確認してみますと

コード:

snd-oxygen           0x000013f6 0x00008788 0x000010b0 0x00000216 0x00000000 0x00000000 0x0
snd-oxygen           0x000013f6 0x00008788 0x000010b0 0x00000218 0x00000000 0x00000000 0x0
snd-oxygen           0x000013f6 0x00008788 0x000010b0 0x00000219 0x00000000 0x00000000 0x0
snd-oxygen           0x000013f6 0x00008788 0x000013f6 0x00000001 0x00000000 0x00000000 0x0
snd-oxygen           0x000013f6 0x00008788 0x000013f6 0x00000010 0x00000000 0x00000000 0x0
snd-oxygen           0x000013f6 0x00008788 0x000013f6 0x00008788 0x00000000 0x00000000 0x0
snd-oxygen           0x000013f6 0x00008788 0x0000147a 0x0000a017 0x00000000 0x00000000 0x0
snd-oxygen           0x000013f6 0x00008788 0x00001a58 0x00000910 0x00000000 0x00000000 0x0
snd-oxygen           0x000013f6 0x00008788 0x0000415a 0x00005431 0x00000000 0x00000000 0x0
snd-oxygen           0x000013f6 0x00008788 0x00007284 0x00009761 0x00000000 0x00000000 0x0
snd-oxygen           0x000013f6 0x00008788 0x00007284 0x00009781 0x00000000 0x00000000 0x0

snd-oxygen           0x000013f6 0x00008788 0x000013f6 0x0000ffff 0x00000000 0x00000000 0x0
と出るはず(?と理解しましたが・・・)、出ていません。

cat /proc/asound/cards/コマンドでも
ALSAのカード情報にCMI8787-HG2PCIが追加されていません。

sudo make installで何かエラーが出ていないかコマンド結果を見てみましたが、特にerrorといった文字は見当たりませんでした。
(最後に

コード:

cat WARNING

WARNING!!! The mixer channels for the ALSA driver are muted by default!!!

という警告が出たぐらいでしょうか・・・)

また、sudo depmod -aコマンドでも特にメッセージは出ませんでした。

どこでこけているのか、こちらでは判断できませんでした。折角、教えていただいたのに、こんな結果で申し訳ないです。

オフライン

 

#18 2010-09-18 15:53:19

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

Re: CMI8787-HG2PCIを差しても音がなりません

コード:

cat WARNING
WARNING!!! The mixer channels for the ALSA driver are muted by default!!!

これはALSAをインストールすると必ず出るので、安心して下さい。

modules.pcimapが更新されてないのが気になりますね。「man depmod」でマニュアルを参照すると、デバイスマップをファイルで持つのは古いやり方で非推奨とかどうとか。現在は別な方法で実現してる?ちょっとここらへんに関しては情報を持ち合わせてないので、また後ほど。

さて、ALSAのインストールが終了したところから始めたいと思います。現在のカーネルモジュールの情報を確認してみましょう。以下のコマンドを実行して下さい。

コード:

$ modinfo snd-oxygen

「pci:v000013F6d00008788sv000013F6sd0000FFFFbc*sc*i*」が含まれていることを確認して下さい。

次に、以前「/etc/modules」に追記した方法で、ブート時にモジュールを読み込むようにしてみます。このスレッドの#10を参照して下さい。

再起動してみるとどうなるでしょうか?

オフライン

 

#19 2010-09-18 16:46:36

jackalope
メンバ
登録日: 2009-01-01

Re: CMI8787-HG2PCIを差しても音がなりません

modinfo snd-oxygenの結果で判明すると思いますが、modules.pcimapに希望する物がない原因は#16の「0. これまでの変更点のクリア」が正確に行われていないのと、#16の「cd ~/modules/alsa-driver ./configure」が複合しているのではないでしょうか?

alsa-sourceパッケージを使うのであればmodule-assistantを使った方が簡単だと思いますがどうでしょうか。

オフライン

 

#20 2010-09-18 17:27:35

hasegawa-34
メンバ
登録日: 2010-09-08

Re: CMI8787-HG2PCIを差しても音がなりません

Mocchiさん、引き続きアドバイスありがとうございます。
jackalpeさんも参戦(?)ありがとうございます。

そのjackalpeの予言が的中する形になるのかわかりませんが、modinfo snd-oxygenの結果として

コード:

filename:       /lib/modules/2.6.32-24-generic/updates/alsa/snd-oxygen.ko
license:        GPL v2
description:    C-Media CMI8788 driver
author:         Clemens Ladisch <[email protected]>
srcversion:     212C16FB5F24C590965702E
alias:          pci:v000013F6d00008788sv00007284sd00009781bc*sc*i*
alias:          pci:v000013F6d00008788sv00007284sd00009761bc*sc*i*
alias:          pci:v000013F6d00008788sv0000415Asd00005431bc*sc*i*
alias:          pci:v000013F6d00008788sv00001A58sd00000910bc*sc*i*
alias:          pci:v000013F6d00008788sv0000147Asd0000A017bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00008788bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00000010bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00000001bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000219bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000218bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000216bc*sc*i*
depends:        snd-oxygen-lib,snd
vermagic:       2.6.32-24-generic SMP mod_unload modversions 586 
parm:           index:card index (array of int)
parm:           id:ID string (array of charp)
parm:           enable:enable card (array of bool)

と「pci:v000013F6d00008788sv000013F6sd0000FFFFbc*sc*i*」が含まれていません。

#16で指定していただいたmodinfo ~/modules/alsa-driver/pci/oxygen/snd-oxygen.koコマンド結果としては#17で貼りつけた結果どおり、
「pci:v000013F6d00008788sv000013F6sd0000FFFFbc*sc*i*」が含まれているのですが・・・

jackalpeさんのご指摘のあった

「0. これまでの変更点のクリア」が正確に行われていない」

とのことですが、

#1で記述した/etc/​modules.conf

以前はなかったファイルでしたので削除しました。

#4で/etc/modprobe.d/alsa-base.confに追記した

コード:

alias snd-card-1 snd-oxygen 
alias sound-slot-1 snd-oxygen
options snd-oxygen index=1

を削除しました。

#10で/etc/modulesに追記した
snd-oxygen
の削除

とファイルに加えた変更点は元に戻したつもりでしたが、
たしかにコマンド操作で行った変更点は元に戻していなかったです(戻した方がわかりません・・・)。
基本、ファイルを元に戻してから再起動した後にその都度、操作するようにはしたんですが。

オフライン

 

#21 2010-09-18 21:16:47

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

Re: CMI8787-HG2PCIを差しても音がなりません

複合を防ぐために、コマンドの頭には$を付けるようにします。

コード:

$ modinfo snd-oxygen
filename:       /lib/modules/2.6.32-24-generic/updates/alsa/snd-oxygen.ko

ここから判断するに、パッケージ「linux-backports-modules-alsa-2.6.32-24-generic」をインストールしているためと思われます。

alsa-sourceパッケージからインストールしたALSAは、「/lib/modules/`uname -r`/kernel/sound」以下のパス(`uname -r`はuname -rの出力)に入ります。しかし、現在はパス「/lib/modules/2.6.32-24-generic/updates/alsa」を使うように設定されているため、モジュールを入れ替えても適用されないという状態となっているんだと思います。

該当するパッケージを削除した上で、modinfoしてみてください。

コード:

$ sudo apt-get purge linux-backports-modules-alsa-2.6.32-24-generic
$ modinfo snd-oxygen

オフライン

 

#22 2010-09-19 02:25:15

hasegawa-34
メンバ
登録日: 2010-09-08

Re: CMI8787-HG2PCIを差しても音がなりません

Mocchiさん、ありがとうございます。

$ sudo apt-get purge linux-backports-modules-alsa-2.6.32-24-generic
実行後、パッケージを削除後は
/lib/modules/2.6.32-24-generic/updates/alsa/snd-oxygen.ko
ではなく
/lib/modules/2.6.32-24-generic/kernel/sound/pci/oxygen/snd-oxygen.ko
ビルドしたカーネル(?)を適用するようになりました。
ですが、「pci:v000013F6d00008788sv000013F6sd0000FFFFbc*sc*i*」が含まれなかっために
#16の./configure以降からやり直してみました。

今度は、

コード:

filename:       /lib/modules/2.6.32-24-generic/kernel/sound/pci/oxygen/snd-oxygen.ko
license:        GPL v2
description:    C-Media CMI8788 driver
author:         Clemens Ladisch <[email protected]>
srcversion:     212C16FB5F24C590965702E
alias:          pci:v000013F6d00008788sv000013F6sd0000FFFFbc*sc*i*
alias:          pci:v000013F6d00008788sv00007284sd00009781bc*sc*i*
alias:          pci:v000013F6d00008788sv00007284sd00009761bc*sc*i*
alias:          pci:v000013F6d00008788sv0000415Asd00005431bc*sc*i*
alias:          pci:v000013F6d00008788sv00001A58sd00000910bc*sc*i*
alias:          pci:v000013F6d00008788sv0000147Asd0000A017bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00008788bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00000010bc*sc*i*
alias:          pci:v000013F6d00008788sv000013F6sd00000001bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000219bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000218bc*sc*i*
alias:          pci:v000013F6d00008788sv000010B0sd00000216bc*sc*i*
depends:        snd-oxygen-lib,snd
vermagic:       2.6.32-24-generic SMP mod_unload modversions 586 
parm:           index:card index (array of int)
parm:           id:ID string (array of charp)
parm:           enable:enable card (array of bool)

「pci:v000013F6d00008788sv000013F6sd0000FFFFbc*sc*i*」が含まれる形で
デバイスのマッピングファイルの更新できました。

その直後、cat /proc/asound/cardsで確認したところCMI8788のカードが出なくて一瞬ひやっとしましたが、
#10でご教授いただいたとおり
/etc/modulesの一番下にsnd-oxygenを追記して、再起動したところ、

コード:

 0 [CMI8788        ]: CMI8788 - C-Media CMI8788
                      C-Media Oxygen HD Audio (rev 2) at 0x1000, irq 22
 1 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0x93100000 irq 28

とめでたく、認識されるようになりました。音もRhythmbox 0.12.8やTotem 動画プレイヤーではしっかりと確認することができました。

インストールしたパッケージの削除もろくにしないがために余計な手間をかけさせてしまって申し訳ありませんでした。
正直、自分では大して調べてもないくせに何度も心が折れそうになったんですが、最後までお付き合いいただきほんと感謝しています。

初期たくさんのアドバイスを下さったhmatsueさん、自分の凡ミスをご指摘いただいたjackalopeさん、
投稿はしなかったけれども一緒に調べてくれた、いや、閲覧していただいたUbuntu日本語フォーラムの皆さん、ありがとうございます

オフライン

 

#23 2010-09-19 10:48:01

jackalope
メンバ
登録日: 2009-01-01

Re: CMI8787-HG2PCIを差しても音がなりません

hasegawa-34さんうまくいった様でおめでとうございます。
簡単ですのでカーネルが更新された時は、module-assistantを使ってみて下さい。
通常作業と異なる所は、ダウンロードしたソースファイルを展開、編集、圧縮して元のファイルと差し替えする事だけです。

hasegawa-34さん による投稿:

その直後、cat /proc/asound/cardsで確認したところCMI8788のカードが出なくて一瞬ひやっとしましたが、
#10でご教授いただいたとおり
/etc/modulesの一番下にsnd-oxygenを追記して、再起動したところ、

直後と言う事なので、これまでの作業ではモジュールはロードされていないので当然の結果ですね。
再起動しなくても、直後にsudo modprobe snd-oxygenを実行すればカードが認識されたかもしれません。
これまでの作業でモジュールは自動でロードされる様になっているはずですので、/etc/modulesにモジュール名を書かなくてもモジュールはシステム起動時にロードされると私は思います。

Mocchiさん、私が伝えたかったのは「0. これまでの変更点のクリア」が正確に行われていない事と、/modules/alsa-driverで、configureをオプション--with-moddirなしで実行した事が重なり合った事が原因ではないかと言う事でした。
変な文章で失礼しました。

オフライン

 

#24 2010-09-19 20:45:29

hasegawa-34
メンバ
登録日: 2010-09-08

Re: CMI8787-HG2PCIを差しても音がなりません

jackalopeさん、祝いのメッセージりがとうございます。

jackalopeさん による投稿:

簡単ですのでカーネルが更新された時は、module-assistantを使ってみて下さい。

そうですね、こんどカーネルの更新時には試してみたいと思います。

jackalopeさん による投稿:

/etc/modulesにモジュール名を書かなくてもモジュールはシステム起動時にロードされると私は思います。

はい、上記のとおり、モジュール名を書かなくても自動ロードされています。なんか、感動してしまいます。

オフライン

 

#25 2010-09-21 16:21:05

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

Re: CMI8787-HG2PCIを差しても音がなりません

hasegawa-34さん、おめでとうございます。

今のままですと、カーネルイメージがアップグレードされる度に、状態が元に戻ってしまいます。また、linux-backport-module-alsaの恩恵を受けることもできません。

そこで提案なのですが、linux-backport-module-alsaのソースを取得し、パッチを当ててdebパッケージを作り、それをインストールする形で対応するのはどうでしょう。これなら、パッケージの形で管理が出来るので、いろいろとやりやすいのではないかと思います。

そこでjackalopeさんにお願いがあるのですが、ここらへんの案内をしていただけませんでしょうか?私はカーネルモジュールあたりの作法に関してはまったくの初心者で、module-assistantなるツールも今回初めて知りました。jackalopeさんならここらへんのツールやdebパッケージの作成などにお詳しいんじゃなかろうかとお見受けしますが、いかがでしょう?

私の方はALSAの開発者に連絡して、今回のデバイスの動作事例とソースコードへの取り込みをお願いしてみるつもりです。一度に2つをこなすのが時間的に厳しいところなので、jackalopeさんのご助力をえられれば助かります。

オフライン

 

Board footer

Powered by FluxBB