After months of trying to grasp an adequate understanding of modules, I still find myself having to ask this list; sorry for the bother. This is long, but I'm trying to be complete.
I've got a soundcard (Creative CT2940, Soundblaster 16 according to isapnp.conf). It's a PnP card. Here are the steps I've taken to get it going. Insert card. As root, run "pnpdump > /etc/isapnp.conf" to create an isapnp.conf file. My understanding is that this contains all the possible settings for all the ISA PnP cards in the box. Since I only have the soundcard, that's the only device mentioned in the isapnp.conf file. Since there are several "logical devices" (?) on the card, such as joystick circuitry and etc, there are several sections in the isapnp.conf file. Trying to keep things simple, I leave all the extra logical devices commented out for the time being, and work only with the "Audio" section. The way this file is put together is really confusing; the file says to "choose one only", but there's no indication if that means one line, or one section, or one item between DMA and IRQ and IO; the file I have mentions a "DMA 0" and a "DMA 1", as well as an "IO 0" and an "IO 1" and an "IO 2"; do I select only one of all five of these? Or one of the DMAs and one of the IOs? or one of each, but only in this section but not another section with similar choices? Very confusing, and the documentation hasn't helped me any. What I've done is to uncomment the following lines: (CONFIGURE CTL0026/321098269 (LD 0 (READPORT 0x0273) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 2) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 1)) (DMA 1 (CHANNEL 5)) (IO 0 (SIZE 16) (BASE 0x0220)) (NAME "CTL0026/321098269[0]{Audio }") (ACT Y) )) and left everything else in the file commented out. Recompiled the kernel to support SB16. In /etc/modules, there automagically appeared a line with sound I don't remember whether that worked somewhat or not, but for some reason that I don't remember now, I commented out the "sound" line and replaced it with "sb". Now when I do an "lsmod", I see the following: 3c509 5744 1 sb 32992 0 uart401 6128 0 [sb] sound 56336 0 [sb uart401] soundcore 2608 6 [sb sound] vfat 9056 0 (unused) fat 29312 0 [vfat] smbfs 24304 0 (unused) nls_cp437 3904 0 (unused) coda 50960 0 (unused) I reboot or restart /etc/rcS.d/S15isapnp. When I run "saytime", I get "The time is now." When I try to splay a .wav file, usually I get silence; occassionally I get a high-pitched whine or something similar. Very similar to an IRQ conflict type behaviour. So I take a closer look at dmesg; sure enough, there's mention of an interrupt conflict when trying to put the card on IRQ 7: Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996 SB 4.13 detected OK (220) sb: Interrupt test on IRQ7 failed - Probable IRQ conflict But wait a minute; in my /etc/isapnp.conf file I uncommented an IRQ 5 line, and nothing about IRQ 7 is mentioned. So I make the guess that perhaps the isapnp.conf file is setting the actual hardware to IRQ 5, but that the module(s) is/are looking to IRQ 7 to find the sound card. "man modules" is useless, as is "man modutils". Neither "man modules.conf" nor "man update-modules" mentions "irq" or "interrupt". There's no /usr/doc/modules directory. The info on /usr/doc/modutils hasn't helped me. It mentioned modules.dep, but there's no "man modules.dep" nor a doc directory for it. I did find a modules.dep file in my kernel source directory, but it didn't give me much of a clue. I'm sure there's probably some way to tell a module to look to a certain IRQ, but I haven't found the documentation for it. Or perhaps I'm wrong about needing to tell the module about the IRQ, etc? So my questions are: 1) Am I getting close to an understanding of how things work? "isapnp.conf" specifies the "jumper" settings a board should use, and then isapnp reads that file and sets the board accordingly. Then the modules have to be told which IRQs to look to when loading the modules? 2) How do I tell the modules which IRQ is to be associated with which module? 3) "modprobe sb" loads four modules. Is there a single command to unload those four modules rather than having to use four separate rmmod commands? This would need to be a generic command that is the opposite of modprobe, rather than something specific like a script to unload these specific four modules. Thanks for any direct help and any pointers to documentation that is understandable! -- Kent West [EMAIL PROTECTED]