⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plug-and-play-howto-4.html

📁 Linux初学者最好的老师就是howto了。相当于函数man。
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>The Linux Plug-and-Play HOWTO 中文版: 如何对付 PnP 卡</TITLE>
 <LINK HREF="Plug-and-Play-HOWTO-5.html" REL=next>
 <LINK HREF="Plug-and-Play-HOWTO-3.html" REL=previous>
 <LINK HREF="Plug-and-Play-HOWTO.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="Plug-and-Play-HOWTO-5.html">Next</A>
<A HREF="Plug-and-Play-HOWTO-3.html">Previous</A>
<A HREF="Plug-and-Play-HOWTO.html#toc4">Contents</A>
<HR>
<H2><A NAME="s4">4. 如何对付 PnP 卡</A></H2>

<H2><A NAME="ss4.1">4.1 介绍</A>
</H2>

<P>今天, 大部分新的内置插卡是 PnP 的. 其中的一些卡有跳线(或类似的)可以把卡设置为非
PnP. 因为许多 Linux (和 Dos/Windows)程序可以处理 PnP, 最好保留卡的 PnP 功能.
假如你把内核升级为支持 PnP,
它不仅会配置硬件而且会把硬件配置信息提供给驱动程序, 这样你就不需要配置它们了.
例如, 对于串口你就不必使用 "setserial" 了.
<P>假如你有一块 PnP 卡, 你会有下面一个或多个选项来配置它:
<P>
<UL>
<LI> 
<A HREF="#disable_pnp">禁用 PnP</A>
用跳线的方法(但许多卡不能)或特殊的软件. </LI>
<LI>  
<A HREF="#bios_conf">BIOS 配置 PnP</A> (仅用于你有一个 PnP BIOS)</LI>
<LI> 
<A HREF="#isapnp_">Isapnp</A>
一个用于配置 ISA 总线上 PnP 设备的软件(但不能用于 PCI 总线设备)</LI>
<LI> 
<A HREF="#patch_kernel">修补 Kernel</A> 把 Linux 转变为一个 PnP 的操作系统 </LI>
</UL>
<P>
<H2><A NAME="disable_pnp"></A> <A NAME="ss4.2">4.2 禁用 PnP ? </A>
</H2>

<P>许多卡的 PnP 功能无法抑制掉. 即使你有机会这样做,
由于下面的原因你也许不会这样做.
<P>
<OL>
<LI> 假如在同台机器上有 MS Windows, 你也许希望在 MS Windows 下可以用 PnP 来做不同的配置.</LI>
<LI> IRQ 等资源有限, 除非使用 PnP, 否则很难配置. </LI>
<LI> 假如需要使用 Dos/Windows 下的软件设置为非 PnP 方式,
可有一天你不能使用 Dos/Windows 了, 因此很难再改变配置. </LI>
<LI> 你有(或将有)其它 PnP 设配需要配置, 所以你要无论如何都需要 PnP 功能. </LI>
</OL>

设备一旦被设置为非 PnP 配置方式, 它们将不能被 PnP 软件或 BIOS
配置. (除非移去跳线或使用配置软件打开 PnP 功能)
<P>
<H2><A NAME="bios_conf"></A> <A NAME="ss4.3">4.3 BIOS 配置 PnP </A>
</H2>

<P>想这样做, 你的 BIOS 必须支持 PnP. 得到关于你的 BIOS 更多的信息, 看有关的 Web
站点. 一些 BIOS 只有最少的 PnP 功能, 它会试图把困难的配置工作交给 Windows
工具(在 Linux 下不可能). 在这种情况下如果 BIOS 维护一个配置数据库的话,
你也需要用 DOS/Windows 下的 ICU 来设置这数据库.
<P>首先设置你的 BIOS 为 ""Not a PnP Operating System"(没有 PnP 的操作系统).
<A HREF="Plug-and-Play-HOWTO-3.html#conf_pnp_bios">配置 PnP BIOS</A>.
这会使 BIOS 完成全部配置工作, 而不是把剩馀的交给操作系统.
<P>BIOS 的非挥发数据库叫 ESCD (Extended System Configuration Data).
它不仅存储 PnP 设备的配置并且存储非 PnP 设备的信息用于避开冲突.
当你安装新的非 PnP 设备应在安装前用ICU(Intel Configuration
Utility)告诉 ESCD 关于设备的信息.
你也需要运行 ICU 告诉 ESCD 关于已经存在机器中的非 PnP 设备的信息(除非有人已经做过了).
<P>ESCD 通常保存在芯片中, 但有时会保存在硬盘上?? (译者想: COMPAQ
的配置信息有些是否保存在硬盘上) 使用 Linux 操作系统的机器的 BIOS
每次启动时是这样配置. 你也许想纪录 ICU (和 BIOS)是如何配置的(或打印出来). 然而,
假如你增加一个新的非 PnP 设备就需要再次运行 ICU.
假如它是 PnP 的, BIOS 会自动配置它, 并尽量不改变机器中已经存在的设备的配置.
但为了给新设备分配它需求的资源, 有时不得不改变已有设备的配置. 假如这发生了,
你需要找到什麽改变了(看 /proc/pci 和使用 "pnpdump"命令)并且做出相应改变.
<P>注意:
在 Dos/Windows 下配置信息还会放在硬盘上的Windows文件中,
这样操作系统知道每个设备的情况. 对于自动检测设备的 Linux 不会发生这种事情.
<P>
<H2><A NAME="isapnp_"></A> <A NAME="ss4.4">4.4 Isapnp </A>
</H2>

<P>仅用于 ISA 总线上的 PnP 设备. 在启动时运行此程序将按照你在 /etc/isapnp.conf
的设定来配置这些设备.你需要 isapnptools 包, 包含在许多发行版本中. 输入 "locate
pnp" 来查找你是否拥有 isapnp. 假如你的 Linux 自动安装了 isatools,
isapnp 也许在启动时已经运行. 对于这种情况, 你需要做的就是编辑 /etc/isapnp.conf
(用 <CODE>man isapnp.conf</CODE> 得到有关信息). 因为你通过编辑配置文件来决定如何设置设备,
这样做有点象手工配置 PnP. 假如这样使用 "isapnp" 并且有一个 PnP BIOS,
你将告诉 BIOS 你有一个 PnP 的操作系统吗?? (翻译者认为: 如果你的 Linux 内核不支持
PnP, 回答没有 PnP 操作系统, 让 BIOS 完成所有的 PnP 设置工作,
但你不要试图去修改设备的资源, 修改自己的配置文件即可.)
<P>假如你曾经运行 isapnp 配置 ISA-PnP
设备,但每次启动时运行isapnp失败, 那麽假如你在同台机器上有 Windows 95/98
的话可能会发生: 当使用 Windows 95/98 时, Windows 也许会以不同的方式配置你的
PnP卡, 当你返回使用 Linux 时, 卡就不会正常工作. 
<P>
<H2><A NAME="patch_kernel"></A> <A NAME="ss4.5">4.5 修补核心让 Linux 支持 PnP </A>
</H2>

<P>有一个巨大的补丁来做这些. 新的核心是稳定的并且包含文档: serial.txt
说明如何处理串行口. 它在 /proc 目录中提供"文件",
所以你可以知道这些是如何进行的并能用 echo 命令来设置配置.
一个问题是许多驱动程序不知道这些, 你还需要使用传统的配置文件, 等. 如何配置,
请看 
<A HREF="http://lucifer.hemmet.s-hem.chalmers.se/~dwh">http://lucifer.hemmet.s-hem.chalmers.se/~dwh</A><P>
<H2><A NAME="ss4.6">4.6 PnP 软件和文档</A>
</H2>

<P>
<UL>
<LI> 看 
<A HREF="http://www.redhat.com/linux-info/pnp/">http://www.redhat.com/linux-info/pnp/</A> 关于 PnP 的软件和文档.</LI>
<LI> 看 
<A HREF="http://www.microsoft.com/hwdev/respec/pnpspecs.htm">http://www.microsoft.com/hwdev/respec/pnpspecs.htm</A> 关于 PnP 的特性.</LI>
</UL>
<P>
<HR>
<A HREF="Plug-and-Play-HOWTO-5.html">Next</A>
<A HREF="Plug-and-Play-HOWTO-3.html">Previous</A>
<A HREF="Plug-and-Play-HOWTO.html#toc4">Contents</A>
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -