Solved

US Robotics modem doesn't work after hardware upgrade

Posted on 2001-07-31
11
336 Views
Last Modified: 2013-12-15
 I have recently upgraded my system from P2-300 to an AMD Athlon system.
After the upgrade, my US Robotics 56K Voice/Faxmodem doesn't work in Linux
any more (but works in Win 98).  I have tried vgetty and minicom and they
both failed to get any response from the modem.  I am running Red Hat 7.1.

  A few bits of info.  The modem is an ISA PnP board, and /proc/isapnp
says:

Card 1 'USR3070:U.S. Robotics 56K Voice INT' PnP version 1.0
  Logical device 0 'USR3070:Unknown'
    Device is active
    Active port 0x3e8
    Active IRQ 7 [0x3]
    Resources 0
      Priority preferred
      Port 0x2f8-0x2f8, align 0x0, size 0x8, 10-bit address decoding
      IRQ 3 High-Edge
      Alternate resources 0:1
        Priority acceptable
        Port 0x3f8-0x3f8, align 0x0, size 0x8, 10-bit address decoding
        IRQ 4 High-Edge
      Alternate resources 0:2
        Priority acceptable
        Port 0x3e8-0x3e8, align 0x0, size 0x8, 10-bit address decoding
        IRQ 3,4,5,7 High-Edge
      Alternate resources 0:3
        Priority acceptable
        Port 0x2e8-0x2e8, align 0x0, size 0x8, 10-bit address decoding
        IRQ 3,4,5,7 High-Edge

The result of setserial during bootup is:

Serial driver version 5.05a (2001-03-20) with MANY_PORTS MULTIPORT SHARE_IRQ SER
IAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
ttyS02 at port 0x03e8 (irq = 7) is a 16550A

The output in the vgetty log says:

07/30 22:57:28 yS0  vgetty: experimental test release 0.9.27 / 11Mar01
07/30 22:57:28 yS0  mgetty: experimental test release 1.1.25-Feb01
07/30 22:57:28 yS0  reading generic configuration from config file /etc/mgetty+s
endfax/voice.conf
07/30 22:57:29 yS0  reading program vgetty configuration from config file /etc/m
getty+sendfax/voice.conf
07/30 22:57:29 yS0  reading port ttyS0 configuration from config file /etc/mgett
y+sendfax/voice.conf
07/30 22:57:29 yS0  check for lockfiles
07/30 22:57:29 yS0  locking the line
07/30 22:57:29 yS0  lowering DTR to reset Modem
07/30 22:57:30 yS0  send: \dATQ0V1H0[0d]
07/30 22:57:30 yS0  waiting for ``OK''
07/30 22:57:50 yS0  timeout in chat script, waiting for `OK'
07/30 22:57:50 yS0  init chat timed out, trying force-init-chat
07/30 22:57:50 yS0  send: \d[10][03]\d\d\d+++\d\d\d[0d]\dATQ0V1H0[0d]
07/30 22:57:54 yS0  waiting for ``OK''
07/30 22:58:14 yS0  timeout in chat script, waiting for `OK'
07/30 22:58:14 yS0  init chat failed, exiting...: Interrupted system call
07/30 22:58:14 ##### failed in mg_init_data, dev=ttyS0, pid=681

Any help would be greatly appreciated.

Howard
0
Comment
Question by:hcheng
  • 6
  • 5
11 Comments
 
LVL 2

Expert Comment

by:olidel
ID: 6337508
Hi,

  Try to use the following command in one of your startup script such as /etc/rc.d/rc.local :

setserial /dev/ttyS2 port 0x3e8 irq 7 autoconfig -v

 To test it use it first from a comand line and you should see a message which show that the linux kernel found your modem. However, I'm wondering if you don't have a irq conflict because IRQ 7 is in general associated with the parrallel port, of course everything depend of your BIOS settings.

Hope this help.

Bye.
0
 
LVL 2

Expert Comment

by:olidel
ID: 6337517
Hi again,

 Don't forget to check that the symbolic link /dev/modem is pointed to /dev/ttyS2. Check also the modem configuration in minicom.

Bye
0
 
LVL 1

Author Comment

by:hcheng
ID: 6337975
To reply to your comments:

1. Yes, I do have /dev/modem pointed to /dev/ttyS2

2. I have used setserial and it found everything.  Also,
   I have played with the serial port settings in BIOS
   (including disabling the onboard serial ports
   altogether).  When I do that the modem port/IRQ settings
   would be different (but the same in Windows and Linux).
   Whatever settings I tried, it works in Windows but not
   in Linux.
0
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
LVL 2

Expert Comment

by:olidel
ID: 6338074
Hi,

 Just to make sure, Did your modem work under linux before your hardware upgrade ? This is to make sure that you don't have a winmodem (although i believe most of the ISA modem are hardware modems). You should also check the rights that you have on /dev/modem and /dev/ttyS2. If it is possible it will be better to set your modem to IRQ 10 or IRQ 11 (you should have switches to do that on your modem card) this is the IRQ that in general a modem use but of course your modem card must support these IRQs and they must be free, you can check that under windows.

 What is the ouput that you have when you run setserail ?

Bye
0
 
LVL 1

Author Comment

by:hcheng
ID: 6338699
My modem used to work in Linux before I upgraded.  I definitely have the permissions.  IRQ 10/11 is not possible according to /proc/isapnp.

Running setserial says:

# setserial -a /dev/ttyS2
/dev/ttyS2, Line 2, UART: 16550A, Port: 0x03e8, IRQ: 7
        Baud_base: 115200, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_vhi skip_test auto_irq
0
 
LVL 2

Expert Comment

by:olidel
ID: 6340694
Hi,

   Can you tell me what are the IRQ which are set on your hardware ISA modem (switches). I really suspect a hardware conflict. Setserial can sometimes give some bad information because it can keep some settings in configuration file such as /etc/serial.conf. What is the IRQ and port address of your parrallel port ? We talked about serial ports (ttyS00 at 0x03f8 (irq = 4) and ttyS01 at 0x02f8 (irq = 3)) but I don't know about the parrallel port. To do a test you can maybe disable /dev/ttyS01 and set your modem to IRQ 3 i/o 0x02f8. I have almost the same configuration and it is working for me (I've got a PCI modem instead of an ISA one). By the way what is your motherboard ?

Bye
0
 
LVL 1

Author Comment

by:hcheng
ID: 6340941
There is no switch/jumpers on the modem.  It is supposed to be PnP.  I have also tried forcing the irq by passing kernel parameters using isapnp_reserve_irq, but that didn't help.

I have a bit more info:

1. when I tried using irq 0 in setserial, my modem finally
   talked to me.  However, it is slow and it doesn't give
   me "OK".  e.g. when I type "ati", I get "5601" but no
   "OK".  I also don't see "RING" when the phone rings,
   just a blank line.  I have checked my AT codes to make
   sure that it is supposed to report "OK".

2. If I don't use irq 0 (but use what "cat /proc/isapnp"
   tells me, which corresponds to what "pnpdump
   --dumpregs" says), then I get some response but only
   after long delays and possibly missing some characters.

3. I have tried disabling parallel port but that didn't
   help.  I'll try disabling the serial ports when I get
   home tonight.

After reading a few HOWTOs, it really sounds like I have some sort of IRQ conflicts.  The problem I have now is to figure out how to get rid of it.  But that still doesn't explain why my modem partially works (without the "OK" response) when it is set to IRQ 0.
0
 
LVL 1

Author Comment

by:hcheng
ID: 6340950
Oh, my motherboard is Abit KT7A.
0
 
LVL 2

Accepted Solution

by:
olidel earned 300 total points
ID: 6341722
Well, if you don't have switches or jumpers on your modem board that's gonna be difficult you will have to play with the other components of your PC.
Under win98, is everything working allright (parrallel port (with a printer), serial port (with a mouse maybe))? In case of, but i bet you already did it, you can compare IRQs, I/Os that you have under win98 and linux.
Finally, IRQ 0 should not be used to do a test because this IRQ is already used by some basics fonctions of a PC which could be something as the system clock, keyboard or whatever I don't remember exactly. The symptoms that you describe especially slow response is really typical of a hardware conflict
0
 
LVL 1

Author Comment

by:hcheng
ID: 6341802
Everything is working under Win98.

IRQ 0 was used as suggested by the serial HOWTO (and it explained that IRQ 0 is treated in a special way and it isn't a real IRQ).
0
 
LVL 1

Author Comment

by:hcheng
ID: 6343102
Okay, turned out that if I disabled one of my serial ports, reserve an IRQ in the BIOS using "legacy ISA", and then force isapnp to set up the modem to use that IRQ (use isapnp_irq_reserve kernel parameter), then my modem works.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

rdate is a Linux command and the network time protocol for immediate date and time setup from another machine. The clocks are synchronized by entering rdate with the -s switch (command without switch just checks the time but does not set anything). …
Google Drive is extremely cheap offsite storage, and it's even possible to get extra storage for free for two years.  You can use the free account 15GB, and if you have an Android device..when you install Google Drive for the first time it will give…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question