163 lines
6.0 KiB
HTML
163 lines
6.0 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
|
|
<TITLE>The Winmodems-and-Linux HOWTO: ISA or PCI ?</TITLE>
|
|
<LINK HREF="Winmodems-and-Linux-HOWTO-3.html" REL=next>
|
|
<LINK HREF="Winmodems-and-Linux-HOWTO-1.html" REL=previous>
|
|
<LINK HREF="Winmodems-and-Linux-HOWTO.html#toc2" REL=contents>
|
|
</HEAD>
|
|
<BODY>
|
|
<A HREF="Winmodems-and-Linux-HOWTO-3.html">Next</A>
|
|
<A HREF="Winmodems-and-Linux-HOWTO-1.html">Previous</A>
|
|
<A HREF="Winmodems-and-Linux-HOWTO.html#toc2">Contents</A>
|
|
<HR>
|
|
<H2><A NAME="s2">2. ISA or PCI ?</A></H2>
|
|
|
|
<P>
|
|
<H2><A NAME="ss2.1">2.1 PCI ?</A>
|
|
</H2>
|
|
|
|
<P>Ok, now we have a Winmodem... But there are two types of Winmodems: ISA or PCI. For making the things harder, the two interfaces are pretty different. So, we'll now test if we have a PCI or ISA modem. First, you must configure your kernel. During the make *config, you must answer 'yes' to the following questions:
|
|
<P>
|
|
<P>
|
|
<UL>
|
|
<LI>In Loadable module support: 'Enable loadable module support (CONFIG_MODULES)', and 'Set version information on all modules for symbols (CONFIG_MODVERSIONS)' (note that you must have the modutils package installed ; See the Kerneld-HOWTO)</LI>
|
|
<LI>In General setup: <P>'PCI support' (CONFIG_PCI)
|
|
<P>Choose 'Any' in 'PCI Access Mode' (CONFIG_PCI_GOBIOS)
|
|
<P>'PCI quirks' (CONFIG_PCI_QUIRKS)
|
|
<P>'Backward compatible /proc/pci' (CONFIG_PCI_OLD_PROC)
|
|
<P>
|
|
</LI>
|
|
<LI>If you can config PCI Device Name Database (maybe with a 2.4+ kernel), your can say Y, this will make your /proc/pci file easier to understand (CONFIG_PCI_NAMES).</LI>
|
|
<LI>In Filesystems<P>'/proc filesystem support' (CONFIG_PROC_FS)
|
|
<P>
|
|
</LI>
|
|
</UL>
|
|
|
|
If you have never recompiled your kernel, maybe the kernel of your distribution will contains this. If you want to recompile it and you have never done it, read the Kernel-HOWTO.
|
|
<P>
|
|
<P>Now, we assume that your new kernel is installed.
|
|
<P>
|
|
<P>Now run 'cat /proc/pci'. If you see the name of your modem in the lines returned by the command then you have a PCI Winmodem. Jump to 'Installing the driver'
|
|
<P>
|
|
<P>
|
|
<H2><A NAME="ss2.2">2.2 or ISA ?</A>
|
|
</H2>
|
|
|
|
<P>If you don't find it, maybe you have an ISA modem. How to be sure ?
|
|
<P>ISA support is not assumed by the Kernel (UPDATED: if you have a
|
|
2.4.x kernel, the kernel can do it automagically for you, if so, skip this
|
|
section and read the next). It is a third-party software, named isapnp, who does
|
|
it. First you must be sure that you have this package installed. If not install
|
|
it by downloading the isapnptools package.
|
|
<P>Once isapnptools is installed,
|
|
we'll run a special program, pnpdump, who inspects your computer
|
|
for finding ISA devices. Then it tries to guess the
|
|
resources used by the devices and prints them to a file,
|
|
/etc/isapnp.conf. Then you edit this file and run an other
|
|
program, isapnp, which reads the isapnp.conf file and auto
|
|
configure your devices.
|
|
<P>
|
|
<P> Eh ? It sounds hard ? Then
|
|
follow these steps:
|
|
<P>
|
|
<P> 1. Run 'pnpdump >
|
|
/etc/isapnp.conf'.
|
|
<P>2. Edit it with your favourite text
|
|
editor
|
|
<P> 3. Locate the section where your modem is
|
|
described.
|
|
<P>4. Uncomment some lines in the file (Remove
|
|
the # at the beginning of the line. You need:
|
|
<P> 1 line
|
|
'(IO 0 ...)'
|
|
<P> 1 line '(INT 0 ...)'
|
|
<P> 1 line '(DMA 0
|
|
...)'
|
|
<P> 1 line '(DMA 1 ...)'
|
|
<P> 1 line '(IO 1...)'
|
|
<P> 5.
|
|
Remove the '(CHECK)' in all uncommented IO lines
|
|
<P> 6. Run
|
|
'isapnp /etc/isapnp.conf'. If you get errors, edit the file
|
|
isapnp.conf and try changing parameters, help you with the
|
|
error message. If you get no errors, edit isapnp.conf and
|
|
uncomment the '(ACT Y)' line in the secton of your modem.
|
|
Then re-run 'isapnp /etc/isapnp.conf'. It must answer you "
|
|
[[Name of your modem]] Enabled OK"
|
|
<P> 7. Add 'isapnp
|
|
/etc/isapnp.conf' to your /etc/rc.d/rc.local, by typing
|
|
'echo "isapnp /etc/isapnp.conf" >> /etc/rc.d/rc.local'. It
|
|
is useful for auto-configuring your devices at each
|
|
startup
|
|
<P>
|
|
<P> If it can help , here is an extract of my
|
|
/etc/isapnp.conf file (I have commented this file, and
|
|
original file comments are preceded by ##)
|
|
<P>
|
|
<P>
|
|
<HR>
|
|
<PRE>
|
|
|
|
# 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)
|
|
</PRE>
|
|
<HR>
|
|
<P>
|
|
<H2><A NAME="ss2.3">2.3 ISA and 2.4 kernels</A>
|
|
</H2>
|
|
|
|
<P>If you have a 2.4 kernel (launch 'uname -r' to get your kernel version), you don't have to do this tricky textfile-based and third-party package installation, since 2.4 series introduce a method similar to the PCI, and obsoletes the isapnptools package. To get this feature, you have to say 'Y' or 'M' to the 'Plug and Play support' (CONFIG_PNP) and 'ISA Plug and Play support' (CONFIG_ISAPNP) during kernel configuration (it is in 'Plug and Play configuration' section). Again, recompile your kernel and install it. If you said 'M' to ISA Plug-and-Play support, it should be good to do a 'modprobe isapnp'. You have to have a driver compliant with this new device access method (eg. the ltmodem 5.78, read the next section).
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<HR>
|
|
<A HREF="Winmodems-and-Linux-HOWTO-3.html">Next</A>
|
|
<A HREF="Winmodems-and-Linux-HOWTO-1.html">Previous</A>
|
|
<A HREF="Winmodems-and-Linux-HOWTO.html#toc2">Contents</A>
|
|
</BODY>
|
|
</HTML>
|