PC Card Modem: resolved interrupt conflict and modem initialization problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I managed to make my Zoom V.92 PC Card modem (Model 3075, the one with
an "L" in the serial number) work on my laptop under Ubuntu 8.04, and
thought I should report the solution since I had earlier asked the
list for advice.

There had actually been two problems:

       (1) an irq conflict, and

       (2) a modem initialization problem (caused, of all things, by
           the modem command ATZ used by wvdial).

Here are the details.


(1) My modem, /dev/ttyS0, uses irq 3 (as I discovered with setserial),
    but often either did not react at all, or very slowly.  The
    symptoms perfectly fit the description in Section 12.5 of the
    "Linux Serial HOWTO" ("Extremely Slow: Text appears on the screen
    slowly after long delays").  Setting the modem's irq to 0 with
    "sudo setserial /dev/ttyS0 irq 0" resolved this.  According to the
    Linux Serial HOWTO, this proved that there was indeed an irq
    conflict; it was stated there as well, however, that using irq 0
    is not a good idea.

    When I changed the irq of my modem (somewhat at random), the
    interrupt problem did not go away.

    To find the other device using irq 3 as well, I looked in the
    kernel log.  Found many entries (probably one per boot) of the
    form:

    "nsc_ircc_pnp_probe() : From PnP, found firbase 0x2F8 ; irq 3 ; dma 3"

    This seemed to indicate that nsc_ircc was the culprit also using
    irq 3.

    Googling, I found that nsc_ircc is an "irda module", where irda
    uses the infrared port.  So that's what I had to disable.  (I did
    not mind, since I am not using the infrared port.)  I had to make
    sure the kernel does not load the module irda.  By chance this was
    the example at

             http://wiki.debian.org/udev

    Following this example, I figured out with lsmod that irda uses
    (only) the module nsc_ircc.  So I created in the directory
    "/etc/modprobe.d" two one-line files

         1) "irda", with content "blacklist irda"

         2) "nsc_ircc", with content "blacklist nsc_ircc"

    Rebooted.  Now the kernel log did not mention irq 3 at all, and
    lsmod did not show either irda or nsc_ircc.  And from now on, the
    modem always reacted very fast.

(2) I had, however, still the following problem: Using "sudo wvdial",
    I could now successfully connect to my internet service provider.
    But whenever wvdial sent my username in response to the login
    prompt, the modem only transmitted some of the letters
    ("ooeeoer.Net" instead of "souzavonessen@xxxxxxxxxx").  I
    eventually discovered that this is caused by the ATZ command
    inserted in /etc/wvdial.conf by wvdialconf.  In /etc/wvdial.conf,
    I commented out all initialization commands.  Starting minicom
    once and then exiting resets the modem to usable defaults.
    Afterwords, "sudo wvdial" manages to establish working internet
    connections.  If for some reason the command ATZ is sent to the
    modem (I did this when testing), starting and exiting minicom
    resets the modem again.

My pc card modem is now working fine.

Many thanks to all of you who make linmodems.org and all its services
work!

[Index of Archives]     [Linux Media Development]     [Asterisk]     [DCCP]     [Netdev]     [X.org]     [Xfree86]     [Fedora Women]     [Linux USB]

  Powered by Linux