168 lines
10 KiB
HTML
168 lines
10 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
|
|
<TITLE> Plug-and-Play-HOWTO</TITLE>
|
|
<LINK HREF="Plug-and-Play-HOWTO-1.html" REL=next>
|
|
|
|
|
|
</HEAD>
|
|
<BODY>
|
|
<A HREF="Plug-and-Play-HOWTO-1.html">Next</A>
|
|
Previous
|
|
Contents
|
|
<HR>
|
|
<H1> Plug-and-Play-HOWTO</H1>
|
|
|
|
<H2>David S. Lawyer
|
|
<CODE>
|
|
<A HREF="mailto:dave@lafn.org">mailto:dave@lafn.org</A></CODE></H2> v1.15, August 2007
|
|
<HR>
|
|
<EM>Explains in detail low-level resources such as addresses, interrupts,
|
|
etc. Covers both the PCI bus, which is inherently Plug and Play (PnP)
|
|
and PnP on the old ISA bus. If PnP did it's job right, you wouldn't
|
|
need this howto. But in case it doesn't, or if you have old hardware
|
|
that doesn't use PnP for all the cards, then this HOWTO should help.
|
|
It doesn't cover what's called "Universal Plug and Play" (UPnP).</EM>
|
|
<HR>
|
|
<P>
|
|
<H2><A NAME="toc1">1.</A> <A HREF="Plug-and-Play-HOWTO-1.html">Introduction</A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc1.1">1.1</A> <A HREF="Plug-and-Play-HOWTO-1.html#ss1.1">1. Copyright, Trademarks, Disclaimer, & Credits</A>
|
|
<LI><A NAME="toc1.2">1.2</A> <A HREF="Plug-and-Play-HOWTO-1.html#ss1.2">Future Plans; You Can Help</A>
|
|
<LI><A NAME="toc1.3">1.3</A> <A HREF="Plug-and-Play-HOWTO-1.html#ss1.3">New Versions of this HOWTO</A>
|
|
<LI><A NAME="toc1.4">1.4</A> <A HREF="Plug-and-Play-HOWTO-1.html#ss1.4">New in Recent Versions</A>
|
|
<LI><A NAME="toc1.5">1.5</A> <A HREF="Plug-and-Play-HOWTO-1.html#ss1.5">General Introduction. Do you need this HOWTO?</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc2">2.</A> <A HREF="Plug-and-Play-HOWTO-2.html">What PnP Should Do: Allocate "Bus-Resources"</A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc2.1">2.1</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.1">What is Plug-and-Play (PnP)?</A>
|
|
<LI><A NAME="toc2.2">2.2</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.2">Hardware Devices and Communication with them</A>
|
|
<LI><A NAME="toc2.3">2.3</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.3">Addresses</A>
|
|
<LI><A NAME="toc2.4">2.4</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.4">I/O Addresses (principles relevant to other resources too) </A>
|
|
<LI><A NAME="toc2.5">2.5</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.5">Memory Ranges </A>
|
|
<LI><A NAME="toc2.6">2.6</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.6">IRQs --Overview </A>
|
|
<LI><A NAME="toc2.7">2.7</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.7">DMA (Direct Memory Access) or Bus Mastering </A>
|
|
<LI><A NAME="toc2.8">2.8</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.8">DMA Channels (not for PCI bus) </A>
|
|
<LI><A NAME="toc2.9">2.9</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.9">"Resources" for both Device and Driver </A>
|
|
<LI><A NAME="toc2.10">2.10</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.10">Resources are Limited</A>
|
|
<LI><A NAME="toc2.11">2.11</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.11">Second Introduction to PnP</A>
|
|
<LI><A NAME="toc2.12">2.12</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.12">How Pnp Works (simplified)</A>
|
|
<LI><A NAME="toc2.13">2.13</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.13">Starting Up the PC</A>
|
|
<LI><A NAME="toc2.14">2.14</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.14">Buses</A>
|
|
<LI><A NAME="toc2.15">2.15</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.15">How Linux Does PnP </A>
|
|
<LI><A NAME="toc2.16">2.16</A> <A HREF="Plug-and-Play-HOWTO-2.html#ss2.16">Problems with Linux PnP</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc3">3.</A> <A HREF="Plug-and-Play-HOWTO-3.html">Setting up a PnP BIOS </A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc3.1">3.1</A> <A HREF="Plug-and-Play-HOWTO-3.html#ss3.1">Do you have a PnP operating system? </A>
|
|
<LI><A NAME="toc3.2">3.2</A> <A HREF="Plug-and-Play-HOWTO-3.html#ss3.2">Assigning Resources by the BIOS </A>
|
|
<LI><A NAME="toc3.3">3.3</A> <A HREF="Plug-and-Play-HOWTO-3.html#ss3.3">Reset the configuration? </A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc4">4.</A> <A HREF="Plug-and-Play-HOWTO-4.html">How to Deal with PnP Cards</A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc4.1">4.1</A> <A HREF="Plug-and-Play-HOWTO-4.html#ss4.1">Introduction to Dealing with PnP Devices </A>
|
|
<LI><A NAME="toc4.2">4.2</A> <A HREF="Plug-and-Play-HOWTO-4.html#ss4.2">Device Driver Configures, Reserving Resources </A>
|
|
<LI><A NAME="toc4.3">4.3</A> <A HREF="Plug-and-Play-HOWTO-4.html#ss4.3">/sys User Interface Configures </A>
|
|
<LI><A NAME="toc4.4">4.4</A> <A HREF="Plug-and-Play-HOWTO-4.html#ss4.4">BIOS Configures </A>
|
|
<LI><A NAME="toc4.5">4.5</A> <A HREF="Plug-and-Play-HOWTO-4.html#ss4.5">ISA cards only: Disable PnP ? </A>
|
|
<LI><A NAME="toc4.6">4.6</A> <A HREF="Plug-and-Play-HOWTO-4.html#ss4.6">ISA Bus: Isapnp (part of isapnptools) </A>
|
|
<LI><A NAME="toc4.7">4.7</A> <A HREF="Plug-and-Play-HOWTO-4.html#ss4.7">PCI Utilities </A>
|
|
<LI><A NAME="toc4.8">4.8</A> <A HREF="Plug-and-Play-HOWTO-4.html#ss4.8">Windows Configures </A>
|
|
<LI><A NAME="toc4.9">4.9</A> <A HREF="Plug-and-Play-HOWTO-4.html#ss4.9">PnP Software/Documents </A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc5">5.</A> <A HREF="Plug-and-Play-HOWTO-5.html">Tell the Driver the Configuration ??</A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc5.1">5.1</A> <A HREF="Plug-and-Play-HOWTO-5.html#ss5.1">Introduction</A>
|
|
<LI><A NAME="toc5.2">5.2</A> <A HREF="Plug-and-Play-HOWTO-5.html#ss5.2">Serial Port Driver Example </A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc6">6.</A> <A HREF="Plug-and-Play-HOWTO-6.html">How Do I Find Devices and How Are They Configured? </A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc6.1">6.1</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.1">Finding and How-Configured Are Related </A>
|
|
<LI><A NAME="toc6.2">6.2</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.2">Devices May Have Two "Configurations" </A>
|
|
<LI><A NAME="toc6.3">6.3</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.3">Finding Hardware </A>
|
|
<LI><A NAME="toc6.4">6.4</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.4">Boot-time Messages </A>
|
|
<LI><A NAME="toc6.5">6.5</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.5">The /proc Tree</A>
|
|
<LI><A NAME="toc6.6">6.6</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.6">The /sys Tree</A>
|
|
<LI><A NAME="toc6.7">6.7</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.7">PCI Bus Inspection </A>
|
|
<LI><A NAME="toc6.8">6.8</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.8">ISA Bus Introduction </A>
|
|
<LI><A NAME="toc6.9">6.9</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.9">ISA PnP cards </A>
|
|
<LI><A NAME="toc6.10">6.10</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.10">LPC Bus </A>
|
|
<LI><A NAME="toc6.11">6.11</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.11">X-bus</A>
|
|
<LI><A NAME="toc6.12">6.12</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.12">Non-PnP Cards </A>
|
|
<LI><A NAME="toc6.13">6.13</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.13">Non-PnP Cards with jumpers </A>
|
|
<LI><A NAME="toc6.14">6.14</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.14">Neither PnP nor jumpers </A>
|
|
<LI><A NAME="toc6.15">6.15</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.15">Tools for Detecting and/or Configuring all Hardware</A>
|
|
<LI><A NAME="toc6.16">6.16</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.16">Tools for Detecting and Configuring One Type of Hardware</A>
|
|
<LI><A NAME="toc6.17">6.17</A> <A HREF="Plug-and-Play-HOWTO-6.html#ss6.17">Use MS Windows </A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc7">7.</A> <A HREF="Plug-and-Play-HOWTO-7.html">PCI Interrupts </A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc7.1">7.1</A> <A HREF="Plug-and-Play-HOWTO-7.html#ss7.1">Introduction</A>
|
|
<LI><A NAME="toc7.2">7.2</A> <A HREF="Plug-and-Play-HOWTO-7.html#ss7.2">History: From ISA to PCI Interrupts</A>
|
|
<LI><A NAME="toc7.3">7.3</A> <A HREF="Plug-and-Play-HOWTO-7.html#ss7.3">Advanced Programmable Interrupt Controller (APIC)</A>
|
|
<LI><A NAME="toc7.4">7.4</A> <A HREF="Plug-and-Play-HOWTO-7.html#ss7.4">Message Signalled Interrupts (MSI)</A>
|
|
<LI><A NAME="toc7.5">7.5</A> <A HREF="Plug-and-Play-HOWTO-7.html#ss7.5">Sharing PCI Interrupts</A>
|
|
<LI><A NAME="toc7.6">7.6</A> <A HREF="Plug-and-Play-HOWTO-7.html#ss7.6">Looking at Routing Tables</A>
|
|
<LI><A NAME="toc7.7">7.7</A> <A HREF="Plug-and-Play-HOWTO-7.html#ss7.7">For More Information</A>
|
|
<LI><A NAME="toc7.8">7.8</A> <A HREF="Plug-and-Play-HOWTO-7.html#ss7.8">PCI Interrupt Linking</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc8">8.</A> <A HREF="Plug-and-Play-HOWTO-8.html">PnP for External and Plug-in Devices</A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc8.1">8.1</A> <A HREF="Plug-and-Play-HOWTO-8.html#ss8.1">USB Bus</A>
|
|
<LI><A NAME="toc8.2">8.2</A> <A HREF="Plug-and-Play-HOWTO-8.html#ss8.2">Hot Plug</A>
|
|
<LI><A NAME="toc8.3">8.3</A> <A HREF="Plug-and-Play-HOWTO-8.html#ss8.3">Hot Swap</A>
|
|
<LI><A NAME="toc8.4">8.4</A> <A HREF="Plug-and-Play-HOWTO-8.html#ss8.4">PnP Finds Devices Plugged Into Serial Ports</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc9">9.</A> <A HREF="Plug-and-Play-HOWTO-9.html">Error Messages</A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc9.1">9.1</A> <A HREF="Plug-and-Play-HOWTO-9.html#ss9.1">Unexpected Interrupt </A>
|
|
<LI><A NAME="toc9.2">9.2</A> <A HREF="Plug-and-Play-HOWTO-9.html#ss9.2">Plug and Play Configuration Error (Dell BIOS) </A>
|
|
<LI><A NAME="toc9.3">9.3</A> <A HREF="Plug-and-Play-HOWTO-9.html#ss9.3">isapnp: Write Data Register 0xa79 already used (from logs)</A>
|
|
<LI><A NAME="toc9.4">9.4</A> <A HREF="Plug-and-Play-HOWTO-9.html#ss9.4">Can't allocate region (PCI)</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc10">10.</A> <A HREF="Plug-and-Play-HOWTO-10.html">Interrupt Sharing and Interrupt Conflicts </A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc10.1">10.1</A> <A HREF="Plug-and-Play-HOWTO-10.html#ss10.1">Introduction</A>
|
|
<LI><A NAME="toc10.2">10.2</A> <A HREF="Plug-and-Play-HOWTO-10.html#ss10.2">Real Interrupt Conflict</A>
|
|
<LI><A NAME="toc10.3">10.3</A> <A HREF="Plug-and-Play-HOWTO-10.html#ss10.3">No Interrupt Available</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc11">11.</A> <A HREF="Plug-and-Play-HOWTO-11.html">Appendix</A></H2>
|
|
|
|
<UL>
|
|
<LI><A NAME="toc11.1">11.1</A> <A HREF="Plug-and-Play-HOWTO-11.html#ss11.1">Universal Plug and Play (UPnP) </A>
|
|
<LI><A NAME="toc11.2">11.2</A> <A HREF="Plug-and-Play-HOWTO-11.html#ss11.2">Address Details </A>
|
|
<LI><A NAME="toc11.3">11.3</A> <A HREF="Plug-and-Play-HOWTO-11.html#ss11.3">ISA Bus Configuration Addresses (Read-Port etc.) </A>
|
|
<LI><A NAME="toc11.4">11.4</A> <A HREF="Plug-and-Play-HOWTO-11.html#ss11.4">Interrupts --Details </A>
|
|
<LI><A NAME="toc11.5">11.5</A> <A HREF="Plug-and-Play-HOWTO-11.html#ss11.5">How the Device Driver Catches its Interrupt</A>
|
|
<LI><A NAME="toc11.6">11.6</A> <A HREF="Plug-and-Play-HOWTO-11.html#ss11.6">ISA Isolation </A>
|
|
<LI><A NAME="toc11.7">11.7</A> <A HREF="Plug-and-Play-HOWTO-11.html#ss11.7">Bus Mastering and DMA resources</A>
|
|
<LI><A NAME="toc11.8">11.8</A> <A HREF="Plug-and-Play-HOWTO-11.html#ss11.8">Historical and Obsolete</A>
|
|
</UL>
|
|
<HR>
|
|
<A HREF="Plug-and-Play-HOWTO-1.html">Next</A>
|
|
Previous
|
|
Contents
|
|
</BODY>
|
|
</HTML>
|