NHF for ISA PNP Modems
by Joshua Curtis. Any question of comment please feel free so e-mail me.
This NHF is use are your own risk. I have used it to configure a couple of
machines with no ill affects.
All programs and commands will be red
Some programs/commands that you will need.
pnpdump
setserial
statserial -- if you do
not have this that's ok
isapnp
less or more -- either will work
but less alows you scroll through the file You must be
root
Type in a xterm "pnpdump |more"
The output should look something like the example. If the
output is really short less than 10-15 lines or has win in
the name of the modem it might be a WinModem. Winmodems will
NOT work in Linux. If there is nothing there your systems
cannot see the card.
----pnpdump example output----
# $Id: pnpdump.c,v 1.17 1998/11/10 22:45:04 fox Exp $
# This is free software, see the sources for details.
# This software has NO WARRANTY, use at your OWN RISK
#
# For details of this file format, see isapnp.conf(5)
#
# For latest information on isapnp and pnpdump see:
# http://www.roestock.demon.co.uk/isapnptools/
#
# Compiler flags: -DREALTIME -DNEEDSETSCHEDULER -DABORT_ONRESERR
#
# Trying port address 0203
# Board 1 has serial identifier 6d ff ff ff ff f0 00 8c 0e
# Board 2 has serial identifier 4d f7 a8 8c a5 31 30 72 56
# Card 2: (serial identifier 4d f7 a8 8c a5 31 30 72 56)
# Vendor Id USR3031, Serial Number 4155018405, checksum 0x4D.
# Version 1.0, Vendor version 0.0
# ANSI string -->U.S. Robotics 56K
FAX INT<--
#
# Logical device id USR3031
# Device supports vendor reserved
register @ 0x38
# Device supports vendor reserved
register @ 0x3c
# Device supports vendor reserved
register @ 0x3d
# Device supports vendor reserved
register @ 0x3e
# Device supports vendor reserved
register @ 0x3f
#
# Edit the entries below to uncomment
# out the configuration required.
# Note that only the first value of
# any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy
(CONFIGURE USR3031/4155018405 (LD 0
# Multiple choice time, choose one only !
# Start dependent functions: priority
preferred
# Logical device decodes
16 bit IO address lines
#
Minimum IO base address 0x02f8
#
Maximum IO base address 0x02f8
#
IO base alignment 8 bytes
#
Number of IO addresses required: 8
# (IO 0 (SIZE 8) (BASE 0x02f8))
# IRQ 3, 5, 7, 10, 11,
12 or 15.
#
High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 3 (MODE +E)))
# Start dependent functions:
priority acceptable
# Logical device decodes
16 bit IO address lines
#
Minimum IO base address 0x03f8
#
Maximum IO base address 0x03f8
#
IO base alignment 8 bytes
#
Number of IO addresses required: 8
# (IO 0 (SIZE 8) (BASE 0x03f8))
# IRQ 2, 3, 4, 5, 7, 10,
11, 12 or 15.
#
High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 2 (MODE +E)))
# Start dependent functions:
priority acceptable
# Logical device decodes
16 bit IO address lines
#
Minimum IO base address 0x03e8
#
Maximum IO base address 0x03e8
#
IO base alignment 8 bytes
#
Number of IO addresses required: 8
# (IO 0 (SIZE 8) (BASE 0x03e8))
# IRQ 2, 3, 4, 5, 7, 10,
11, 12 or 15.
#
High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 4 (MODE +E)))
# Start dependent functions:
priority acceptable
# Logical device decodes
16 bit IO address lines
#
Minimum IO base address 0x02e8
#
Maximum IO base address 0x02e8
#IO base alignment 8 bytes
#
Number of IO addresses required: 8
# (IO 0 (SIZE 8) (BASE 0x02e8))
# IRQ 2, 3, 4, 5, 7, 10,
11, 12 or 15.
# High
true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 2 (MODE +E)))
# End dependent functions
# (NAME "USR3031/4155018405[0]{U.S. Robotics 56K FAX INT}")
# (ACT Y)
))
# End tag... Checksum 0x00 (OK)
Now what you need to view the file "/etc/isapnp.conf".
"less /etc/isapnp.conf"
Is your modem in the file? If not but there is sound card,
you might want to save the settings for the sound card so
do a "mv /etc/isapnp.conf /etc/isapnp.conf.old".
Now make a new isapnp.conf file by doing "pnpdump
>/etc/isapnp.conf" You will need to un-comment the
correct values but first we must decide what COM port to use.
Do you have 2 external COM ports? If so we must put the modem
on COM3 because it will conflict if COM1 or COM2 if they are
not disable in the BIOS.
We need to check COM3's setting by doing "setserial
/dev/ttyS2"
The output would look like this if the port has not been configured
yet.
/dev/ttyS2, UART:unknown,
Port: 0x03e8, IRQ:4
Default COM port settings in SUSE 6.1 kernel 2.2.5
ttyS0 is COM1 Port: 0x03f8 IRQ: 4
ttyS1 is COM2 Port: 0x02f8 IRQ: 3
ttyS2 is COM3 Port: 0x03e8 IRQ: 4
Now go back to your text editor and open "/etc/isapnp.conf".
Change or un-comment the 2 lines that make your modem like
the PORT and IRQ above.
Example:
# Number of IO addresses required: 8
(IO 0 (SIZE 8) (BASE 0x03e8))
# IRQ 2, 3, 4, 5, 7, 10, 11, 12 or 15.
# High true, edge sensitive interrupt (by default)
(INT 0 (IRQ 4 (MODE +E)))
#
You will also need to un-coment the line "(ACT Y)". Make sure that
"(WAITFORKEY)" is at the end of isapnp.conf and no where else.
Dont forget to save. Now you can test you modem by running "isapnp /etc/isapnp.conf". If you get a error about
there being a conflict make sure that "setserial
/dev/ttyS2" returns "UART:unknown" when run. If not then do a "setserial /dev/ttyS2 UART unknown". Now try "isapnp /etc/isapnp.conf". It should tell you that
is was activated "ok". Now run the command "setserial /dev/ttyS2 UART 16550A" You must do this
so that your COM port works. You can check it so make sure it is correct
by using the same command but without the UART 16550A. By setting the UART
you are setting the speed of the COM port.
RedHat and SuSE run "isapnp" by default at startup. You need to manually
add the command "/sbin/setserial /dev/ttyS2 UART
16550A" to the very end of your rc.local in RedHat or boot.local in
SuSE. RedHat's file is located in "/etc/rc.d/init.d/", SuSE's is located
in "/etc/rc.d/".
You are almost there. To finish things up open your modem tool from your
control panel in RedHat or use yast is SuSE and set the modem to be on
COM3 in dos. Now to test the modem, type "mincom" at a command prompt.
Once mincom is open type "atdt" then a phone number. It should dial then
just hit alt z and then x to exit. To use your now working modem you need
to setup ppp to connect you to you isp.
--
Joshua M Curtis
http://www.curtisonline.net
Lancaster Co. Linux Users Group Member
http://lclug.hypermart.net
|