ISAPNP-PNPDUMP

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

searchSearch Index