For the Linux System to configure ISAPNP cards, it requires a configuration file created with pnpdump called /etc/isapnp.conf to detail what needs to be done. This file is generated in-situ. It is not supplied by any rpm or tarball package because it can only apply to your system and your unique card setup.
Isapnp is actually a two part process.
isapnp /etc/isapnp.conf
is the statement you, or the system issues to configure isa cards.
pnpdump >/etc/isapnp.conf
is the configuration step required for isapnp to work forever more.
Understanding the configuration file, and what you can do about it, is the purpose of this document.
After you type pnpdump >/etc/isapnp.conf, pnpdump will scribble a virgin configuration file. The contents of this file are disabled. This is because, all that pnpdump does for you is report what each PNP card has told it about themselves.
It is up to you to choose which, of all the possible configurations available, is the most suitable for your needs. Almost any will do.
(READPORT 0x020b)
(ISOLATE PRESERVE)
(IDENTIFY *)
(VERBOSITY 2)
(CONFLICT (IO FATAL)(IRQ FATAL)(DMA
FATAL)(MEM FATAL)) # or WARNING
leave this top section alone. The only potentially interesting point is that ispanp will use IO address 0x20B to initialise the cards.
# Card 1: (serial identifier 48 00
1b e3 d6 e4 00 8c 0e)
# Vendor Id CTL00e4, Serial Number
1827798, checksum 0x48.
# Version 1.0, Vendor version
1.0
# ANSI string -->Creative SB
AWE64 PnP<--
# Vendor defined tag: 73 02 45
20
All this is verbiage, leave it alone it is just human readable text of the first card detected. In this case a Soundblaster. The serial number stream as displayed is a bug, it is reversed from the truth, and the serial number itself is also a bug, it is decoded incorrectly. None of it matters.
# Logical device id
CTL0045
# Device supports vendor reserved
register @ 0x39
# Device supports vendor reserved
register @ 0x3a
# Device supports vendor reserved
register @ 0x3c
# Device supports vendor reserved
register @ 0x3d
(CONFIGURE CTL00e4/1827798 (LD
0
# ANSI string
-->Audio<--
This is where it begins. In this case, the first logical device (0) is an audio device. (The comments about reserved registers are actually a bug and completely incorrect.)
You are then asked to make selections to suit yourself. ALL resources are #hashed out. You must select as appropriate.
Each possible configuration block for THIS device is separated by a whitespace line. Below is a typical unhashed block
(INT 0 (IRQ 9(MODE
+E)))
(DMA 0 (CHANNEL 3))
(DMA 1 (CHANNEL 7))
(IO 0 (SIZE 16) (BASE 0x0220))
(IO 1 (SIZE 2) (BASE 0x0330))
(IO 2 (SIZE 4) (BASE 0x0388))
leave all other blocks hashed out. The items in RED are what you would invoke in modprobe as
modprobe sb io=0x220, irq=9, dma=3, dma16=7, mpu_io=0x330, midi=0x388
(NAME "CTL00e4/1827798[0]{Audio
}")
# End dependent
functions
(ACT Y)
))
unhash the activate, and THIS logical device will be configured.
(CONFIGURE CTL00e4/1827798 (LD
1
# Compatible device id
PNPb02f
# ANSI string
-->Game<--
Next comes logical device 1, a game port in this instance.
unhash your selection block
(IO 0 (SIZE 8) (BASE 0x0200))
and activate THIS logical device
(NAME "CTL00e4/1827798[1]{Game
}")
(ACT Y)
))
Repeat these steps for each logical
device defined
Repeat these steps for each logical card
defined
|
|
|