COURSE of the MONTH

RH 6.1 modem setup revisited

OK, this is my last try at this. I've reinstalled Linux about 50 times, tried everything I can find, including previous questions here. I guess I need a complete hand-holding and I'll give big points to the one that is willing to do it for me...

The problem is getting Linux to recognise my modem and keep it thru reboots. I have been able, about 50% of the time, to get it working by reinstalling linux but after I reboot it can't open the device again. First I'll give my system config then tell what I've tried. Please give me exact command lines to run whenever possible.

I partitioned with Partition Magic 5.0 and am using Boot Magic as boot loader (lilo installed in /boot). Everything works fine except the damned modem. Even sound works fine.

What I've tried: Multiple reinstalls (sometimes it works until I reboot even when I choose save current session), Linuxconf from both in and out of X, checking /proc/interrupts (irq 3 not listed), checking /proc/devices (can't figure it out but doesn't seem to be listed), doing a pnpdump> /etc/isapnp.conf then trying to edit the resulting file (modem is listed but I can't figure out what to do with this file, too complicated..)

I'm going to set the points very high for this because I'm sick of screwing with it. Please note that I'll reject answers that aren't very detailed. I think I've given enough system info to get exact command lines (I hope...)

I will start from a clean install of RH 6.1, never having been logged in and let you walk me thru from there....

Who is Participating?

Find out which resources on the machine are free and available for use by the modem. You can determine this by examining the output of:
cat /proc/pci
cat /proc/interrupts
cat /proc/ioports
cat /proc/dma

If you are in a dual-boot environment, you may want to check the values of your PnP devices within that secondary OS. NOTE: Some PnP devices may not be supported under Linux. To do this you need to open My Computer then you want to click on the Control Panel icon. When you have the Control Panel open you will need to click on System. Click on the Device Manager tab, then select the button "View devices by type." Click on the "Modem" listing, select the "Properties" button, then click on the "Resources" tab. This will show the modem's settings, including IRQ and I/O.
Create a pnp configuration file template. The tool:
pnpdump

probes for PnP devices, and produces a template configuration file that includes the appropriate options for each PnP device installed. Note that this only creates a template for the config file, and that the file still needs to be edited by hand. To create this file, issue these commands as root: The lines in brackets are just comments, you do not need to enter them.
cd /etc
ls
rm isapnp.conf
pnpdump > isapnp.conf

NOTE:if an isapnp.conf file exists, you should make a backup copy using the command:
cp isapnp.conf isapnp.conf.bak1

That should create a file called isapnp.conf. You then need to modify this file to start setting up PnP modem devices.
Modifying the isapnp.conf file The format of the isapnp.conf file is described in more detail by: man isapnp.conf You definitely want to read this before you start editing the file. Basic file structure: any line that begins with a # is a comment and isn't used by the pnp software For each card detected there may be more than one entry in the file as some PnP cards are actually several "devices" (sounds cards for example..) For each device, there will be section of the file for it. The beginning of each section is usually deliminated by something like:
# Card 1: (serial identifier 6d ff ff ff ff f0 00 8c 0e) # Vendor Id CTL00f0, No Serial Number (-1), checksum 0x6D. # Version 1.0, Vendor version 1.0
# ANSI string -->Creative ViBRA16X PnP<--

This is a comment, telling which card it is, the PnP id, the vendor, and the text that the card uses to describe itself. There is no need to change any of this. The lines that need to be paid attention to are the lines beneath the identifier to the above, within ()'s. These are the lines that need to be adjusted to setup the card. For modems, these are typically in pairs for the ioport, and the irq it uses. For most modems you want to use one of the pairs for the common serial port setups mentioned before. To activate one of the ( )'s options, you just need to remove the # in front of it. For a modem, you typical just need to uncomment two of these lines, one for the interrupt and one of the ioport. For example:
(INT 0 (IRQ 5 (MODE +E)))
(IO 0 (BASE 0x220))

Should setup the modem to use the standard settings for irq 5 and ioport 220. At the end of the block for the modem, there should be a line like: # (ACT Y)

This line needs to be uncommented (remove the #) for the configuration to work. After making these changes, save the file.
Using the new configuration After setting up the new configuration file, and saving it, you can activate it with the `isapnp` command. To use it with the /etc/isapnp.conf file you just created, use the following command: isapnp isapnp.conf

This will reinitialize the card with the values in the file.
If that doesn't work for you, the only thing left to try is the setserial command.

I actually prefer this as it works MOST of the time. The parameters I give setserial are:

setserial /dev/cuaX auto_irq autoconfig

or

setserial /dev/ttySX auto_irq autoconfig

But fill in X for the approriate com port I recommend reading the Serial Port Reference if you have questions regarding the layout for serial ports.

Has to be exectued on every reboot. putting htem both in /etc/rc.d/rc.local will work just fine.

I used to run a small dialin server using 4 PnP USR Sportster Message Plus, so it works. You _MIGHT_ have to give 'real' values to setserial, but the autoconfig should work.

I'm sorry that i do not have the conf file i was using, but as i said, if you cannot "dechiper" the conf syntax, i could do it for you. Just don't forget to uncomment the

# (ACT Y)

linem, since that means "Activate".

0

capttomAuthor Commented: 2000-01-30

OK, clear me up a little on the etc/rc.d/rc.local thing? Is this a file which takes line entries or a dir where the files must be moved to? Also, since I know for sure that the modem is on 02f8, irq 3, wouldn't it be better to set it there rather than auto config which it seems might run the risk of causing a conflict?

why does it lose the modem on reboot but not sound card (also isa pnp)?

0

capttomAuthor Commented: 2000-01-30

OK, clear me up a little on the etc/rc.d/rc.local thing? Is this a file which takes line entries or a dir where the files must be moved to? Also, since I know for sure that the modem is on 02f8, irq 3, wouldn't it be better to set it there rather than auto config which it seems might run the risk of causing a conflict?

why does it lose the modem on reboot but not sound card (also isa pnp)?

rc.local works like "autoexec.bat" just add the two lines to the end and they will be executed on bootup.

And for the "why does it lose the modem on reboot but not sound card (also isa pnp)?" -- Some devices keeps the "last used" settings on the device, some does not. It's in the way which they were designed.

0

capttomAuthor Commented: 2000-01-30

OK, I got it working by using the setserial autoconfig. It has held through about 10 reboots now as both root and user. Should I consider it as good to go? I did NOT add anything to rc.local...

"It has held through about 10 reboots now as both root and user. Should I consider it as good to go? I did NOT add anything to rc.local... "

-- Sure, if it works it works _however_ if (for instance) Windows changes the resources for the modem, or the CMOS settings gets hosed, or the ECSD gets overwritten, you will have to do this procedure over again.

If you like my answer, just click "accept comment an answer" next to a comment.

AH! just thought of something, reason i had to keep using setserial was that since i used 4 modems on separate IRQ's, i used IRQ 15 and 14 aswell (it was a SCSI only system).. Aslong as the modem is on "standard port / irq" setserial isnt nessesary.