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

[debian-devel:13670] Re: gom (Re: Re: volume package is GPL2?)



佐野@浜松です。

In <20010212095631F.kohda@xxxxxxxxxxxxxxxxxxxx>,
  on "Mon, 12 Feb 2001 09:55:34 +0900',
   with "[debian-devel:13664] Re: gom (Re:  Re: volume package is GPL2?)",
 Atsuhito Kohda <kohda@xxxxxxxxxxxxxxxxxxxx> さん wrote:

> civic:~$ dpkg -L kernel-image-2.2.18pre21 | grep sound
> /lib/modules/2.2.18pre21/misc/sound.o
> /lib/modules/2.2.18pre21/misc/soundcore.o
> 
> となるので soundcore.o があるのは問題ないと思ってる
> のですが(snd.o はありません)。念の為 soundcore.o を
> 移動しておいてみると
> 
> civic:/home/kohda# depmod -a
> depmod: *** Unresolved symbols in /lib/modules/2.2.18pre21/misc/sound.o
> 
> になります。

ごめんなさい。勘違いです。私の場合

CONFIG_SOUND=y

してるので sound_core.o 相当のコードはカーネルに組み込まれていて、
モジュールとしては存在しないのでした。

> > > > 手元の機械では sb ドライバー使ってるので /etc/modutils/gom を
> > > > 
> > > > #post-install sound /etc/init.d/gom start >/dev/null 2>&1
> > > > post-install sb /etc/init.d/gom start >/dev/null 2>&1
> > 
> > 「起動後 modprobe -a cs4232」したら上記の post-install が
> > 効くと思うのですが、違います ?
> 
> まだ確認してません(またやっておきます)。これは手動で 
> modprobe -a cs4232 したときだけに効くものでしょうか?

他にどういう方法があるのかよくわかりませんが、とりあえず
私の環境では /etc/gom 以下をデフォルトと異なるように設定して
 modprobe -a sb すると、設定した結果が反映されています。

確認ですが /etc/init.d/gom start した時にはちゃんと
Gom initializing audio mixer(s)...done.
と表示されていますよね ?

 /etc/gom/mixer.default がうまく設定できていないと
エラーになるので注意してください。

> alias char-major-14     cs4232 
> post-install cs4232 /sbin/modprobe "-k" "adlib_card" 
> options cs4232 io=0x220 irq=5 dma=1 dma2=3 
> options adlib_card io=0x388 
> 
> こんなことをやるようにドキュメントにあって設定してますが
> これは auto でロードしたときにも効いてるのだと思ってるの
> ですが。(それともこれと重複してるのが良くない?)

これはどこに設定してあるのですか ? それとその「ドキュメント」
ってのは何を見てます ?

私の場合、

> options cs4232 io=0x220 irq=5 dma=1 dma2=3 
> options adlib_card io=0x388 

に相当するものは /etc/modules に

#auto
sb irq=5 io=0x220 dma=1 dma16=-1
opl3 io=0x388

として設定してあります。

 /etc/modules.conf には /etc/modutils/gom に記載した

# This initializes sound mixers with gom anytime
# the "sound.o" module is loaded
#post-install sound /etc/init.d/gom start >/dev/null 2>&1
post-install sb /etc/init.d/gom start >/dev/null 2>&1

はありますが、これ以外に sound 関係の設定はありません。

> カーネル再構築で変なことしてなければ soundcore は(cs4232 の場合)

「変なこと」かどうかはわかりませんが、カーネル組み込みの場合は
モジュールとしての soundcore.o はありません。

> あっても良さそうなのと、起動時には depmod (modprobe ?)で
> メッセージが出るのに、起動後 depmod で(modprobe でも)メッセージ
> が出ないのが気になってます。

「起動時のメッセージ」は

> > > modprobe: Can't locate module sound-slot-0
> > > modprobe: Can't locate module sound-service-0-0

ですよね。

あとカーネルのバージョンは 2.2.18 ?

 sound_core.c を見ると

        chain=unit&0x0F;
        if(chain==4 || chain==5)        /* dsp/audio/dsp16 */
        {
                unit&=0xF0;
                unit|=3;
                chain=3;
        }
        
        spin_lock(&sound_loader_lock);
        s = __look_for_unit(chain, unit);
        if (s == NULL) {
                char mod[32];
        
                spin_unlock(&sound_loader_lock);
                /*
                 *  Please, don't change this order or code.
                 *  For ALSA slot means soundcard and OSS emulation code
                 *  comes as add-on modules which aren't depend on
                 *  ALSA toplevel modules for soundcards, thus we need
                 *  load them at first.   [Jaroslav Kysela <perex@xxxxxx>]
                 */
                sprintf(mod, "sound-slot-%i", unit>>4);
                request_module(mod);
                sprintf(mod, "sound-service-%i-%i", unit>>4, chain);
                request_module(mod);
                spin_lock(&sound_loader_lock);
                s = __look_for_unit(chain, unit);
        }

となっていて、/dev/audio などのデバイスが設定 (register) されていない
状態で sound 関係が open されようとした際に、これらのデバイスをロード
しようとしてエラーになっているように見えます。

試しに /etc/modules.conf に

alias sound-slot-0 cs4232
alias sound-service-0-0 sound

としてみたら、どうなるでしょう ?


-- 
     # (わたしのおうちは浜松市、「夜のお菓子」で有名さ。)
    <kgh12351@xxxxxxxxxxx> : Taketoshi Sano (佐野 武俊)