Hayes Microcomputer Products Network Card Mwave User Manual

Linux ACP Modem (Mwave) mini−HOWTO  
Mike Sullivan  
Paul Schroeder  
Joy Yokley − Edited document and coverted to DocBook v4.1 (SGML).  
2001−01−12  
Revision History  
Revision .11  
Revision .10  
Revision .09  
Revision .08  
Revision .07  
2002−07−18  
2001−07−18  
2001−05−21  
2001−05−09  
2001−04−30  
Revised by: PBS  
Revised by: PBS  
Revised by: PBS  
Revised by: JEY  
Revised by: JEY  
This document describes how to build, setup, and use the driver and user space application necessary for  
using the ACP (Mwave) Modem in the IBM Thinkpad" 600, 600E, and 770 models which include the on  
board ACP modem hardware. The latest version of this document can always be found at  
 
1. General Information and Hardware  
Requirements  
1.1. Introduction  
The ACP Modem for Linux is a software based modem. Support software for the ACP modem is composed  
of a loadable kernel module and a user level application. Together these components support direct  
connection to public switched telephone networks (PSTNs) and support selected countries world wide. Refer  
to Section 6 of this document for the supported country list.  
The modem also supports the standard communications port interface (ttySx) and is compatible with the  
Hayes AT Command Set.  
ACP Modem software is continually under development. If you encounter bugs or usability issues, please  
contact us and we'll work to correct them.  
1.2. Credits  
This Linux ACP Modem driver was ported from the Windows NT" version of the driver available from IBM.  
Many thanks to Keith Frechette, Charles Ball, and Frank Novak for their technical and support efforts in  
making this project possible.  
1.3. Where Can I Get the Latest Version of this Driver?  
The latest version of this driver is available from http://www.ibm.com/linux/ltc/  
1.4. Are There Any Other Resources?  
Thomas Hood's Debian GNU/Linux on IBM ThinkPad 600 and 600x page contains lots of useful information.  
1.5. Copyright Notice and Disclaimer  
Copyright (c) 2002 IBM Corporation  
This document may be reproduced or distributed in any form without prior permission. Modified versions of  
this document may be freely distributed, provided that they are clearly identified as such, and this copyright is  
included intact.  
This document is provided "AS IS", with no express or implied warranties. Use the information in this  
document at your own risk.  
1. General Information and Hardware Requirements  
1
 
           
Linux ACP Modem (Mwave) mini−HOWTO  
1.6. Which Systems are Supported  
This version of the ACP Modem driver supports the IBM Thinkpad" 600E, 600, and 770 that include  
on−board ACP modem hardware.  
1.7. Features of the Modem  
The ACP Modem provides the following features:  
Standard asynchronous COM port interface (NS16550A UART compatible) operation  
Bell−103/212A, CCITT−V.21/V.22,V.22bis protocols with data from 300 to 2400 bps  
CCITT−V.32 protocols with data rates of 4800, 9600 uncoded, and 9600 bps Trellis coded (Optional)  
CCITT−V.32bis protocols with data rates of 4800, 9600, 12000, and 14400 bps (optional)  
ITU−T V.34 protocols with data rates from 2400 to 33600 bps.  
56K capable modem  
Hayes AT Command Set compatibility  
DTMF and pulse dialing  
Asynchronous error recovery protocol  
Error correction via Microcom Network Protocol (MNP) classes 1−4  
Error correction via the V.42 error correction standard  
MNP class 5 for up to 2x data compression  
V.42bis for up to 4x data compression  
"Adaptive Rate Negotiation" which provides for "Fallback / Fallforward" as line quality deteriorates  
or improves  
Your modem contains 56K technology. To take advantage of this technology, you must first make sure that  
your Internet Service Provider (ISP) supports a 56K modem protocol. Significantly higher modem connection  
speeds, up to 56kbps, require all−digital transmission connections from your ISP to the line card in the  
central office from which your phone line is connected. The actual connection rate may be limited by the  
quality of your telephone lines. Telephone line quality may vary from location to location. Current  
regulations limit maximum trasfer rates to 53K. While your modem contains 56K technology, typical  
maximum connection rates in the receive direction may be significantly less than 56K. Currently, 56K  
capability is for the receive direction only. The transmit direction uses V.34 technology.  
1.6. Which Systems are Supported  
2
 
   
2. Compilation, Installation, and Startup  
2.1. Prerequisites  
A 2.2.16 series (or later) Linux kernel source tree  
An appropriate set of module utilities  
gcc version 2.7.x or later  
If you are building the ACP Modem driver along with the user space application, you need to have a  
complete Linux source tree for your kernel, not just an up−to−date kernel image.  
2.2. Building and Installing Source  
1. Use tar xzvf mwavem−yyyymmdd.tar.gzto unpack the distribution.  
2. Change directories with cd mwavem−yyyymmdd  
3. Use the ./configure command to configure the build options. Issue ./configure −−help to view all of  
the options. The defaults are probably okay though.  
NOTE  
As of mwavem−1.0.3 you must give ./configure the  
−−enable−mwavedd argument in order to build the  
driver with the user space application.  
4. Use the make command to build all of the ACP Modem binaries.  
NOTE  
Your gcc package should be at least at the 2.7.x level. Check your  
/usr/src/linux/Documentation/Changesfile for the  
minimum version information.  
5. Use make install to install the mwavembinary, mwavem.confconfiguration, the extra binary  
(mostly .dsp) files, and module device driver (if you specified that it must be built) and to create the  
/dev/modems/mwavedevice node.  
2.3. Setting Things Up  
In the [WORLDTRADE] section of your mwavem.conffile, set the Country= parameter to your country  
access code.  
NOTE  
The mwavem.conffile is installed in the  
/usr/local/etcdirectory unless you specified otherwise  
during the build process  
2. Compilation, Installation, and Startup  
3
 
       
Linux ACP Modem (Mwave) mini−HOWTO  
Country information (including access codes) are listed in the mwavem.conffile. For example, for France  
the following section is present:  
[Telephony\Country List\33]  
CountryCode=00000021  
Name=France  
SameAreaRule=0FG  
LongDistanceRule=0FG  
InternationsalRule=00EFG  
To set France to be your configured country in the [WORLDTRADE] section of mwavem.conf,  
set Country=33  
2.4. Runtime  
An initialization script has been provided which may be used to to start, stop, or check the status of the ACP  
Modem driver and application. It has been successfully run on the Debian, Slackware, SuSE, and Red Hat  
distributions and should run on any of their derivitives. If you are using the runtime script, it will load the  
mwave device driver module, configure the serial port, and start the mwave manager for you. All of the  
options which can be passed to the device driver module, along with some options for the script itself, can be  
configured by uncommenting and editing the appropriate variables at the beginning of the script.  
The mwaved startup script can be found in the src/mwavemdirectory of the source distribution. If you are  
running the Red Hat distribution, you can copy the script to your /etc/rc.d/init.ddirectory and issue  
the ntsysv command in order to enable it at boot time. If not using Red Hat, see the documentation for your  
distribution for information on how to set this up to run at boot time.  
It is recommended that you use the provided mwaved script. If you are not using the script, however, the  
following sections will describe how to manually start the device driver and application.  
2.4.1. Loading the ACP device driver  
To load the mwave device driver use  
insmod mwave  
or  
modprobe mwave  
The following arguments may be supplied with the insmod command:  
NOTE  
2.4. Runtime  
4
 
   
Linux ACP Modem (Mwave) mini−HOWTO  
The following arguments are not persistent from boot to  
boot (i.e. We are not saving them in the BIOS).  
mwave_3780i_irq=5/7/10/11/15  
This parameter allows you to configure the IRQ used by the DSP if the DSP IRQ was not set and  
stored in BIOS by the Thinkpad" configuration utility.  
mwave_3780i_io=0x130/0x350/0x0070/0xDB0  
This parameter allows you to configure the I/O range used by the DSP if the DSP I/O range was not  
set and stored in the BIOS by the Thinkpad" configuration utility.  
mwave_uart_irq=3/4  
This parameter allows you to configure the IRQ used by the ACP UART if the Mwave's UART IRQ  
was not set and stored in BIOS by the Thinkpad" configuration utility.  
mwave_uart_io=0x3f8/0x2f8/0x3E8/0x2E8  
This parameter allows you to configure the I/O range used by the ACP UART if the UART I/O range  
was not set and stored in BIOS by the Thinkpad" configuration utility.  
The following code is an example of how to run DSP using ttyS1 resources:  
insmod mwave mwave_3780i_irq=10 mwave_3780i_io=0x0130 mwave_uart_irq=3 mwave_uart_io=0x2f8  
NOTE  
The mwave is unable to check for resource conflicts. It is  
your responsibility to ensure that none of the resources  
specified conflict with other (commonly PCMCIA) devices.  
You can use the tpctl package on Linux or the Thinkpad" configuration utility on Windows NT or DOS to  
manage the configuration of Thinkpad" related resources.  
2.4.2. Running ACP Modem Application  
1. Once the ACP device driver is loaded successfully, use the mwavem command to execute the  
application.  
NOTE  
The location of the mwavem.conffile can be specified as an  
argument to the mwavem application. If not specified the default  
location is assumed to be  
/usr/local/etc/mwavem.confunless otherwise changed  
2.4.2. Running ACP Modem Application  
5
 
 
Linux ACP Modem (Mwave) mini−HOWTO  
during the build process.  
2. Setup the serial driver to recognize the UART provided by the ACP driver.  
setserial /dev/ttyS0 autoconfig  
NOTE  
Substitute /dev/ttyS0 to match the serial port you  
have configured the DSP to use.  
NOTE  
You may wish to create a symbolic link from  
your modem device to your serial device for  
convenience. Example: ln −s /dev/ttyS0  
/dev/modem  
The ACP Modem is now available for use by your favorite dialing application.  
2.4.2. Running ACP Modem Application  
6
 
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.conffile. For  
example, if you had a machine with 128 Meg you would type:  
append="mem=130496K"  
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 3, I/O address 0x2f8 (if using ttyS1)  
3. Resolving Installation and Configuration Problems  
7
 
     
Linux ACP Modem (Mwave) mini−HOWTO  
IRQ 4, 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 (0x130 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  
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.confto  
a lower initial starting speed. Supported speeds include:  
64000  
33600  
14400  
9600  
2400  
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:  
3.3. Not Connecting at Specified Starting Speed  
8
 
   
Linux ACP Modem (Mwave) mini−HOWTO  
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/ioportsand /proc/interruptsto 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  
3.5. PPP Errors Using 2.4.0 Version of the Kernel  
9
 
 
4. Debugging Tips  
4.1. Error Logs  
Errors encountered by the ACP Modem device driver or application are logged using the syslog utility.  
4.2. Tracing  
The ACP device driver supports a debug argument to enable the generation of trace information. The  
command for this debug is listed below. You can also access several of the variables listed below in the  
mwaved script.  
insmod mwave mwave_debug=0x0f  
Where the following debug trace information is selectable:  
0x01  
0x02  
0x04  
0x08  
ACP Modem Device driver entry points  
Systems Management API(SMAPI)  
Hardware Interface (3780I)  
Thinkpad Interface (tp3780i)  
Trace information is logged using the syslog utility.  
The ACP application supports tracing through the use of flags configured in the [STARTUP] section of the  
mwavem.conf file.  
Mwave Manager API trace points:  
MANAGER_API_TRACE=1  
MANAGER_API_DATA_TRACE=1  
MANAGER_CORE_TRACE=1  
MANAGER_SPECIFIC_TRACE=1  
MEIO Manager trace points:  
MEIO_API_TRACE=1  
MEIO_CORE_TRACE=1  
MEIO_SPECIFIC_TRACE=1  
Mwave Modem application trace points:  
MWMLW32_TRACE=1  
4. Debugging Tips  
10  
 
     
Linux ACP Modem (Mwave) mini−HOWTO  
MWMPW32_TRACE=1  
MWMUTIL_TRACE=1  
MWWTT32_TRACE=1  
Trace information is logged using the syslog utility.  
4. Debugging Tips  
11  
 
5. Test Claims  
This driver has been tested using the ThinkPad" 600E. The same chipset is integrated on the 600 and 770  
models and should work.  
5. Test Claims  
12  
 
 
6. List of Supported Countries  
The following countries are supported by the ACP Modem driver  
Table 1. List of Supported Countries  
Country Name  
Country  
Access Code  
ALGERIA  
213  
102  
54  
ANTIGUA_BARBUDA  
ARGENTINA  
ARMENIA  
ARUBA  
374  
297  
61  
AUSTRALIA  
AUSTRIA  
43  
AZERBAIJAN  
BAHAMAS  
BARBADOS  
BELARUS  
994  
103  
104  
375  
32  
BELGIUM  
BERMUDA  
BOLIVIA  
105  
591  
55  
BRAZIL  
BRUNEI  
673  
359  
107  
108  
38  
BULGARIA  
CANADA  
CAYMAN_ISLANDS  
CHILE  
COLOMBIA  
COSTA_RICA  
CUBA  
57  
506  
53  
CYPRUS  
357  
420  
45  
CZECHREPUBLIC  
DENMARK  
ECUADOR  
EGYPT  
593  
20  
6. List of Supported Countries  
13  
 
 
Linux ACP Modem (Mwave) mini−HOWTO  
EL_SALVADOR  
FINLAND  
503  
358  
33  
FRANCE  
GERMANY  
GREECE  
49  
30  
GRENADA  
GUATEMALA  
GUYANA  
111  
502  
592  
504  
852  
36  
HONDURAS  
HONG_KONG  
HUNGARY  
INDIA  
91  
INDONESIA  
IRELAND  
62  
353  
972  
39  
ISRAEL  
ITALY  
JAMAICA  
112  
81  
JAPAN  
JORDAN  
962  
850  
82  
KOREA  
KOREA_SOUTH  
KUWAIT  
965  
352  
60  
LUXEMBOURG  
MALAYSIA  
MEXICO  
52  
NETH_ANTILLES  
NETHERLANDS  
NEW_ZEALAND  
NICARAGUA  
NORWAY  
OMAN  
599  
31  
64  
505  
47  
968  
92  
PAKISTAN  
PANAMA  
507  
595  
51  
PARAGUAY  
PERU  
6. List of Supported Countries  
14  
 
Linux ACP Modem (Mwave) mini−HOWTO  
PHILIPPINES  
POLAND  
63  
48  
PORTUGAL  
PRC  
351  
852  
40  
ROMANIA  
RUSSIA  
7
SAUDI_ARABIA  
SINGAPORE  
SLOVAKIA  
SLOVENIA  
966  
65  
421  
386  
27  
SOUTH_AFRICA  
SPAIN  
34  
ST_KITTS_NEVIS  
ST_LUCIA  
115  
122  
116  
597  
46  
ST_VINCENT  
SURINAME  
SWEDEN  
SWITZERLAND  
TAIWAN  
41  
866  
66  
THAILAND  
TRINIDAD_TOBAGO  
TURKEY  
117  
90  
TURKS_CAICOS  
U_K  
118  
44  
UKRAINE  
380  
971  
598  
1
UNITED_ARAB_EMIRATES  
URUGUAY  
USA  
VENEZUELA  
VIETNAM  
58  
84  
VIRGIN_IS_BRITISH  
VIRGIN_IS_USA  
YEMAN  
106  
123  
967  
381  
YUGOSLAVIA  
6. List of Supported Countries  
15  
 
7. Trademarks  
Hayes is a trademark of Hayes Microcomputer Products, Inc.  
MNP (Microcom Network Protocol) is a trademark of Microcom, Inc.  
IBM is a trademark of International Business Machines, Inc.  
7. Trademarks  
16  
 
 

Graco Blood Glucose Meter 248870 User Manual
Graco Car Seat 1753283 User Manual
Grizzly Router H7790 User Manual
Grizzly Saw BT 160X User Manual
Grundig CRT Television LW 51 7610 TOP User Manual
Grundig Laminate Trimmer MT5910 User Manual
Hotpoint Dishwasher SDAL 1200 User Manual
Hypertec Carrying Case 3901 User Manual
IBM Printer 1116 User Manual
Image Hot Tub IMSG62820 User Manual