2007-08-24 11:37:10

by Meelis Roos

[permalink] [raw]
Subject: isapnp & module autoload (udev?)

Hi,

I tested 2.6.23-rc3 along with Debian unstable on a older pentium2-era
PC that has a ISA bus sound card that isapnp finds. snd-sb finds it too
using isapnp. However, there seems to be no module autoloading
happening.

So, the question is: should isapnp moudle autoloading work with current
kernel + current udev?

--
Meelis Roos ([email protected])


2007-08-24 12:41:08

by Kay Sievers

[permalink] [raw]
Subject: Re: isapnp & module autoload (udev?)

On 8/24/07, Meelis Roos <[email protected]> wrote:
> I tested 2.6.23-rc3 along with Debian unstable on a older pentium2-era
> PC that has a ISA bus sound card that isapnp finds. snd-sb finds it too
> using isapnp. However, there seems to be no module autoloading
> happening.
>
> So, the question is: should isapnp moudle autoloading work with current
> kernel + current udev?

Not out-of-the-box, I guess. There are likely no aliases in the kernel
modules which match the hardware for these old drivers. You could put
them in a modprobe config file maybe.

What's in the module? What does:
/sbin/modinfo <kernel module name> | grep alias
print?

And what does the hardware say? What does:
grep . /sys/bus/pnp/devices/*/id
print?

Kay

2007-08-24 12:55:29

by Marco d'Itri

[permalink] [raw]
Subject: Re: isapnp & module autoload (udev?)

On Aug 24, Meelis Roos <[email protected]> wrote:

> I tested 2.6.23-rc3 along with Debian unstable on a older pentium2-era
> PC that has a ISA bus sound card that isapnp finds. snd-sb finds it too
> using isapnp. However, there seems to be no module autoloading
> happening.
>
> So, the question is: should isapnp moudle autoloading work with current
> kernel + current udev?
Only for some devices, others do not provide in sysfs everything needed
to build the MODALIAS string.

--
ciao,
Marco

2007-08-24 13:46:42

by Meelis Roos

[permalink] [raw]
Subject: Re: isapnp & module autoload (udev?)

> What's in the module? What does:
> /sbin/modinfo <kernel module name> | grep alias
> print?

filename: /lib/modules/2.6.23-rc3/kernel/sound/isa/sb/snd-sb16.ko
description: Sound Blaster 16
license: GPL
author: Jaroslav Kysela <[email protected]>
alias: pnp:ctBA03b0dPNPb003*
alias: pnp:cCTL00f0dCTL0043*
alias: pnp:cCTL0086dCTL0041*
alias: pnp:cCTL0080dCTL0041*
alias: pnp:cCTL0070dCTL0001*
alias: pnp:cCTL0051dCTL0001*
alias: pnp:cCTL002cdCTL0031*
alias: pnp:cCTL002bdCTL0031*
alias: pnp:cCTL002adCTL0031*
alias: pnp:cCTL0029dCTL0031*
alias: pnp:cCTL0028dCTL0031*
alias: pnp:cCTL0027dCTL0031*
alias: pnp:cCTL0026dCTL0031*
alias: pnp:cCTL0025dCTL0031*
alias: pnp:cCTL0024dCTL0031*
depends: snd-sb-common,snd-opl3-lib,snd-mpu401-uart,snd-sb16-dsp,snd-pcm,snd,snd-sb16-csp
vermagic: 2.6.23-rc3 SMP mod_unload PENTIUMII 4KSTACKS
parm: index:Index value for SoundBlaster 16 soundcard. (array of int)
parm: id:ID string for SoundBlaster 16 soundcard. (array of charp)
parm: enable:Enable SoundBlaster 16 soundcard. (array of bool)
parm: isapnp:PnP detection for specified soundcard. (array of bool)
parm: port:Port # for SB16 driver. (array of long)
parm: mpu_port:MPU-401 port # for SB16 driver. (array of long)
parm: fm_port:FM port # for SB16 PnP driver. (array of long)
parm: irq:IRQ # for SB16 driver. (array of int)
parm: dma8:8-bit DMA # for SB16 driver. (array of int)
parm: dma16:16-bit DMA # for SB16 driver. (array of int)
parm: mic_agc:Mic Auto-Gain-Control switch. (array of int)
parm: csp:ASP/CSP chip support. (array of int)


> And what does the hardware say? What does:
> grep . /sys/bus/pnp/devices/*/id
> print?

/sys/bus/pnp/devices/00:00/id:PNP0c01
/sys/bus/pnp/devices/00:01/id:PNP0000
/sys/bus/pnp/devices/00:02/id:PNP0200
/sys/bus/pnp/devices/00:03/id:PNP0100
/sys/bus/pnp/devices/00:04/id:PNP0b00
/sys/bus/pnp/devices/00:05/id:PNP0303
/sys/bus/pnp/devices/00:06/id:PNP0800
/sys/bus/pnp/devices/00:07/id:PNP0c04
/sys/bus/pnp/devices/00:08/id:PNP0c02
/sys/bus/pnp/devices/00:09/id:PNP0c02
/sys/bus/pnp/devices/00:0a/id:PNP0501
/sys/bus/pnp/devices/00:0b/id:PNP0501
/sys/bus/pnp/devices/00:0c/id:PNP0401
/sys/bus/pnp/devices/00:0d/id:PNP0700
/sys/bus/pnp/devices/00:0e/id:PNP0a03
/sys/bus/pnp/devices/01:01.00/id:CTL0001
/sys/bus/pnp/devices/01:01.01/id:CTL7001
/sys/bus/pnp/devices/01:01.01/id:PNPb02f

CTL0001 seems to be present in both but it occurs with CTL0070 or
CTL0051.

--
Meelis Roos ([email protected])

2007-08-24 14:20:52

by Kay Sievers

[permalink] [raw]
Subject: Re: isapnp & module autoload (udev?)

On 8/24/07, Meelis Roos <[email protected]> wrote:
> > What's in the module? What does:
> > /sbin/modinfo <kernel module name> | grep alias
> > print?
>
> filename: /lib/modules/2.6.23-rc3/kernel/sound/isa/sb/snd-sb16.ko
> description: Sound Blaster 16
...
> alias: pnp:cCTL0070dCTL0001*
> alias: pnp:cCTL0051dCTL0001*
...
> > And what does the hardware say? What does:
> > grep . /sys/bus/pnp/devices/*/id
> > print?
...
> /sys/bus/pnp/devices/01:01.00/id:CTL0001
...
> CTL0001 seems to be present in both but it occurs with CTL0070 or
> CTL0051.

Right, that will not match. You could add:
alias pnp:dCTL0001 snd-sb16
to:
/etc/modprobe.d/pnp
or some other file in that directory.

We may switch to acpi based module autoloading in the future and add
"acpi:*" aliases to the modules intsead of the broken pnp alias hack.
Just to check if that would work, can you please provide the output
of:
grep . /sys/bus/acpi/devices/*/modalias

Thanks,
Kay