3. Resolving Installation and Configuration Problems

The following sections list solutions to possible problems you may experience.

3.1. DSP Does Not Start

In order to recognize memory above 64 Meg, it may be necessary to append the "mem=" option to the kernel command line. If you are using LILO for your boot loader, you would do this in the lilo.conf file. For example, if you had a machine with 128 Meg you would type:

append="mem=130496K"

Note NOTE
 

Your statement must reflect 576K less than you actually have. Specifying the full amount of memory will prevent the DSP from starting. In the above example, the formula used to arrive at the proper number was 1024 * nMB - 576 = nK.

If you forget to run the Thinkpad™ utility to enable the ACP Modem and you didn't specify any command line arguments when inserting the mwave module (or it didn't work), you will receive a message in the syslog, similar to the one below:

ACP Modem, UART settings IRQ 0x3       IO 0x2f8
tp3780::EnableDSP, pSettings->bDSPEnabled 0 failed
Mwave Modem, ERROR cannot Enable DSP error fffffffb
Mwave Modem, ERROR cannot perform Mwave Initialization retval fffffffb

If you receive a message like the one above, check the command line arguments you provided to insmod.

3.2. Resource Conflicts

The ACP Modem requires the use of system resources for both the DSP and the UART provided by the ACP chip. For Linux systems, you will specify parameters to use for the duration of the boot with the insmod mwave command line parameters listed in Section 2.4.1.

Typically the configured resources are:

For the DSP:  IRQ 10, I/O address 0x130-0x13f
For the UART: IRQ 2,  I/O address 0x2f8 (if using ttyS1)
                                  IRQ 3,  I/O address 0x3f8 (if using ttyS0)

For dual boot systems we recommeded that you use the Thinkpad™ Configuration Utility on Windows NT or DOS to configure these system resources.

Windows NT Thinkpad Configuration Utility Notes: (Under the Internal Modem --> Advanced selection)

  1. Set IRQ sharing to disabled

  2. Set 1st IRQ to your DSP IRQ (10 is recommened)

  3. Set 2nd IRQ to your UART IRQ (i.e. ttyS1 is equivalent to COM2)

  4. Set the DSP I/O address (130 is recommended)

  5. Set the internal modem I/O address to the UART I/O address (i.e. 0x2f8 for COM2)

  6. The DMA address is unused and can be set to anything.

Note NOTE
 

You may also specify parameters to use for the duration of the boot by using the insmod mwave line parameters listed in section Section 2.4.1.

3.3. Not Connecting at Specified Starting Speed

The configured initial connection speed is set to 64000. The modem should start there and negotiate down to a connection speed based on target modem and line capabilities. If the modem is unable to connect it may be having difficulty negotiating with the target modem. Try setting the SPEED parameter in mwavem.conf to a lower initial starting speed. Supported speeds include:

3.4. Dialer Application Cannot Detect Serial Port

The startup script that executes the serial port setup works well with Red Hat, Debian, Slackware, and SuSE. If you are not running one of these distributions, you may need to perform the following steps in order to set up.

After inserting the mwave.o module and starting the mwavem application, you must run the setserial command in order for the serial port configuration to discover the UART on the mwave hardware:

setserial /dev/ttySx autoconfig

Replace ttySx with the serial port you have configured the ACP driver to use.

To test whether the serial port is setup correctly, run:

setserial /dev/ttySx

The above command should return the following for serial port 1:

/dev/ttyS1, UART: 16550A, Port: 0x2f8, IRQ: 3

The port and IRQ numbers should match the information placed in the syslog by the ACP module when it was loaded:

kernel: Mwave Modem, UART settings IRQ 0x3 IO 0x2f8

If the information returned by setserial indicates that the UART is 'unknown' or if the IRQ and I/O resources do not match what you have in the syslog, you will need to reconfigure. Check the setserial man pages to learn how to setup the resources on your ttySx to match what appears in the syslog output.

If you have problems running setserial, you may have a resource conflict. Before using insmod mwave, check /proc/ioports and /proc/interrupts to make sure the resources you intend to claim are not already in use.

3.5. PPP Errors Using 2.4.0 Version of the Kernel

When upgrading to the 2.4.0 version of the kernel be sure to read the ./Documentation/Changes file. Kernel 2.4.0 requires an upgraded version of the pppd, gcc, and modutils (amoung other things). Follow the instructions for setting up the new pppd daemon carefully.

You may experience some initial problems getting ppp running with 2.4.0. One of the most prevelant errors we received was, "Can't locate module tty-ldisc-3." However, we had no problems once we rebuilt the kernel with the following options:

CONFIG_PPP=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOM=m