下一页 上一页 目录

2. ISA 还是 PCI?

2.1 PCI?

好的,现在我们有了 Winmodem... 但是 Winmodem 有两种类型:ISA 或 PCI。更复杂的是,这两种接口相当不同。所以,我们现在要测试我们拥有的是 PCI 还是 ISA 调制解调器。首先,您必须配置您的内核。在执行 make *config 时,您必须对以下问题回答 ‘是’

如果您从未重新编译过内核,您所使用的发行版的内核可能已经包含了这些选项。如果您想重新编译内核但从未这样做过,请阅读 Kernel-HOWTO。

现在,我们假设您的新内核已经安装完成。

现在运行 cat /proc/pci。如果在命令返回的行中看到您的调制解调器的名称,那么您拥有一个 PCI Winmodem。跳到 ‘安装驱动程序’

2.2 还是 ISA?

如果您没有找到它,那么您可能拥有一个 ISA 调制解调器。如何确定?

内核默认不提供 ISA 支持(更新:如果您使用的是 2.4.x 内核,内核可以自动为您完成此操作,如果是这样,请跳过本节并阅读下一节)。这是由一个名为 isapnp 的第三方软件完成的。首先您必须确保您已安装此软件包。如果未安装,请下载 isapnptools 软件包进行安装。

一旦 isapnptools 安装完成,我们将运行一个特殊的程序 pnpdump,它会检查您的计算机以查找 ISA 设备。然后它会尝试猜测设备使用的资源并将它们打印到一个文件,/etc/isapnp.conf。然后您编辑此文件并运行另一个程序 isapnp,它会读取 isapnp.conf 文件并自动配置您的设备。

呃?听起来很复杂?那么请按照以下步骤操作

1. 运行 pnpdump > /etc/isapnp.conf

2. 使用您最喜欢的文本编辑器编辑它

3. 找到描述您的调制解调器的部分。

4. 取消注释文件中的一些行(删除行首的 # 符号。您需要

1 行 (IO 0 ...)

1 行 (INT 0 ...)

1 行 (DMA 0 ...)

1 行 (DMA 1 ...)

1 行 (IO 1...)

5. 删除所有已取消注释的 IO 行中的 (CHECK)

6. 运行 isapnp /etc/isapnp.conf。如果出现错误,请编辑文件 isapnp.conf 并尝试更改参数,错误消息会为您提供帮助。如果没有错误,请编辑 isapnp.conf 并取消注释您的调制解调器部分中的 (ACT Y) 行。然后重新运行 isapnp /etc/isapnp.conf。它应该回答您 “[[您的调制解调器名称]] Enabled OK”

7. 通过输入 echo "isapnp /etc/isapnp.conf" >> /etc/rc.d/rc.localisapnp /etc/isapnp.conf 添加到您的 /etc/rc.d/rc.local 中。这对于在每次启动时自动配置您的设备非常有用。

如果这能帮到您,这里是我的 /etc/isapnp.conf 文件的一个摘录(我已经注释了这个文件,并且原始文件注释以 ## 开头)


# Snip details ...
## (DEBUG)
(READPORT 0x0203)
(ISOLATE PRESERVE)
(IDENTIFY *)
(VERBOSITY 2)
(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING

# Identification of my modem card

## Card 1: (serial identifier e2 00 00 01 00 05 50 c3 1e)
## Vendor Id GVC5005, Serial Number 256, checksum 0xE2.
## Version 1.0, Vendor version 0.1
## ANSI string -->LT Win Modem<--
##
## Logical device id HSM0140
##     Device support I/O range check register
#

# We want to configure the GVC5005/256 card

(CONFIGURE GVC5005/256 (LD 0

# I/O Base address 0x03f8, with a range of 8
(IO 0 (SIZE 8) (BASE 0x03f8) )
# IRQ 4
(INT 0 (IRQ 4 (MODE +E)))
# DMA 5
(DMA 0 (CHANNEL 5))
# DMA 7
(DMA 1 (CHANNEL 7))
# I/O Base Address 2  0x0100, range 8
(IO 1 (SIZE 8) (BASE 0x0100) )
# Name of the card
 (NAME "GVC5005/256[0]{LT Win Modem        }")
# Activate it
(ACT Y)
# End configuration
))

######## The parameters for my other ISA devices ##############
 
## Returns all cards to the "Wait for Key" state
(WAITFORKEY)

2.3 ISA 和 2.4 内核

如果您使用的是 2.4 内核(运行 uname -r 获取您的内核版本),您不必进行这种基于文本文件和第三方软件包的复杂安装,因为 2.4 系列引入了一种类似于 PCI 的方法,并且淘汰了 isapnptools 软件包。要获得此功能,您必须在内核配置期间对 ‘即插即用支持’ (CONFIG_PNP) 和 ‘ISA 即插即用支持’ (CONFIG_ISAPNP) 选择 ‘Y’ 或 ‘M’(它在 ‘即插即用配置’ 部分中)。再次,重新编译您的内核并安装它。如果您对 ISA 即插即用支持选择了 ‘M’,那么最好执行 modprobe isapnp。您必须拥有一个与这种新的设备访问方法兼容的驱动程序(例如 ltmodem 5.78,请阅读下一节)。


下一页 上一页 目录