Takashi Iwai wrote:

> > > > gate:~# modprobe snd-opti92x-ad1848
> > > > /lib/modules/2.2.24/misc/snd-opti92x-ad1848.o: init_module: Device or
> > > > resource busy
> > > > snd: Device or resource busy

> could you check at which point the error happens, e.g. by putting
> printk()'s ?

Ok, here it is : 

Remeber that I said modprobe snd-opti92x-ad1848 does not attempt to
automatically load snd-isapnp too? I think there might be a connection. 

in opti92x-ad1848.c : 

In alsa_card_opti9xx_setup
snd_card_opti9xx_probe returns -19 (-ENODEV)
snd_card_opti9xx_detect returns -19
this one loops the detection through 1,2,3,4 and exits at 5
(#define OPTi9XX_HW_82C930       5)

in the detect function I put these : 
#ifndef OPTi93X
        for (i = OPTi9XX_HW_82C928; i < OPTi9XX_HW_82C930; i++) {
                unsigned char value;

                if ((err = snd_opti9xx_init(chip, i)) < 0)
                        return err;
printk(KERN_ERR "card index %i\n",i);
                if (check_region(chip->mc_base, chip->mc_base_size))
                        continue;
printk(KERN_ERR "mc_base %i mc_size
%i\n",chip->mc_base,chip->mc_base_size);
                value = snd_opti9xx_read(chip, OPTi9XX_MC_REG(1));
printk(KERN_ERR "mc_reg value : %i\n",value);
                if ((value != 0xff) && (value != inb(chip->mc_base +
1)))
                        if (value == snd_opti9xx_read(chip,
OPTi9XX_MC_REG(1)))
                                return 1;
        }


And I got this output :
Oct 31 14:28:08 gate kernel: card index 1
Oct 31 14:28:08 gate kernel: mc_base 3980 mc_size 7
Oct 31 14:28:08 gate kernel: mc_reg value : 255
Oct 31 14:28:08 gate kernel: card index 2
Oct 31 14:28:08 gate kernel: mc_base 3980 mc_size 10
Oct 31 14:28:08 gate kernel: mc_reg value : 255
Oct 31 14:28:08 gate kernel: card index 3
Oct 31 14:28:08 gate kernel: mc_base 3980 mc_size 10
Oct 31 14:28:08 gate kernel: mc_reg value : 255
Oct 31 14:28:08 gate kernel: card index 4
Oct 31 14:28:08 gate kernel: mc_base 3980 mc_size 2
Oct 31 14:28:08 gate kernel: mc_reg value : 255
si because value is 0xff, this returns in the end -ENODEV...

However : Oct 31 13:30:17 gate kernel: isapnp: Card 'OPTi Audio 16'

>From what I've been looking around the source, I can think of two
reasons : 
1) Either my card is not a true opti924 and some of those register
values and passowrd and base are not correct when probing for it, so
it's not detected

I don't think this is the case : 
 which I think is not the case, since the chip on it says 82C924, and
isapnp sees 
Card 1 'OPT0924:OPTi Audio 16' PnP version 1.0
  Logical device 0 'OPT0000:Pro Audio 16'

2) the register addresses, and such are wrong (?)

3) hardware conflict? I don't see any instability or non-functionality
in my system from other components/cards...

Any ideas? Please, help.











Going through opti92x-ad1848.c I have a small curiosity : 

At the module parameters I see : 
//static int enable = SNDRV_DEFAULT_ENABLE1;    /* Enable this card */
//MODULE_PARM(enable, "i");
//MODULE_PARM_DESC(enable, "Enable opti9xx soundcard.");
//MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC);


Then later I see 
#ifndef MODULE

/* format is: snd-opti9xx=enable,index,id,isapnp,
                          port,mpu_port,fm_port,
                          irq,mpu_irq,
                          dma1,[dma2] */

static int __init alsa_card_opti9xx_setup(char *str)
{
        int __attribute__ ((__unused__)) enable = 1;
        int __attribute__ ((__unused__)) pnp = INT_MAX;

Probably leftovers?




-- 
ing. Andrei Boros
mailto:[EMAIL PROTECTED] / +40-21-303-1870
Centrul pt. Tehnologia Informatiei
Societatea Romana de Radiodifuziune


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to