Linux ACP Modem (Mwave) Mini HOWTO: Mike Sullivan
Linux ACP Modem (Mwave) Mini HOWTO: Mike Sullivan
Mike Sullivan
[email protected]
Paul Schroeder
[email protected]
2001−01−12
Revision History
Revision .11 2002−07−18 Revised by: PBS
Revision .10 2001−07−18 Revised by: PBS
Revision .09 2001−05−21 Revised by: PBS
Revision .08 2001−05−09 Revised by: JEY
Revision .07 2001−04−30 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
http://www.ibm.com/linux/ltc/
Linux ACP Modem (Mwave) mini−HOWTO
Table of Contents
1. General Information and Hardware Requirements....................................................................................1
1.1. Introduction.......................................................................................................................................1
1.2. Credits...............................................................................................................................................1
1.3. Where Can I Get the Latest Version of this Driver?.........................................................................1
1.4. Are There Any Other Resources?.....................................................................................................1
1.5. Copyright Notice and Disclaimer.....................................................................................................1
1.6. Which Systems are Supported..........................................................................................................2
1.7. Features of the Modem.....................................................................................................................2
4. Debugging Tips..............................................................................................................................................10
4.1. Error Logs.......................................................................................................................................10
4.2. Tracing............................................................................................................................................10
5. Test Claims....................................................................................................................................................12
7. Trademarks...................................................................................................................................................16
i
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.
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.
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.
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.
NOTE
NOTE
Your gcc package should be at least at the 2.7.x level. Check your
/usr/src/linux/Documentation/Changes file for the
minimum version information.
5. Use make install to install the mwavem binary, mwavem.conf configuration, the extra binary
(mostly .dsp) files, and module device driver (if you specified that it must be built) and to create the
/dev/modems/mwave device node.
NOTE
Country information (including access codes) are listed in the mwavem.conf file. For example, for France
the following section is present:
[Telephony\Country List\33]
CountryCode=00000021
Name=France
SameAreaRule=0FG
LongDistanceRule=0FG
InternationsalRule=00EFG
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/mwavem directory of the source distribution. If you are
running the Red Hat distribution, you can copy the script to your /etc/rc.d/init.d directory 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.
insmod mwave
or
modprobe mwave
NOTE
2.4. Runtime 4
Linux ACP Modem (Mwave) mini−HOWTO
• 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:
NOTE
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.
NOTE
NOTE
NOTE
The ACP Modem is now available for use by your favorite dialing application.
append="mem=130496K"
NOTE
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:
If you receive a message like the one above, check the command line arguments you provided to insmod.
For the UART: IRQ 3, I/O address 0x2f8 (if using ttyS1)
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)
NOTE
• 64000
• 33600
• 14400
• 9600
• 2400
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:
Replace ttySx with the serial port you have configured the ACP driver to use.
setserial /dev/ttySx
The above command should return the following for serial port 1:
The port and IRQ numbers should match the information placed in the syslog by the ACP module when it
was loaded:
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.
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
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.
The ACP application supports tracing through the use of flags configured in the [STARTUP] section of the
mwavem.conf file.
MANAGER_API_TRACE=1
MANAGER_API_DATA_TRACE=1
MANAGER_CORE_TRACE=1
MANAGER_SPECIFIC_TRACE=1
MEIO_API_TRACE=1
MEIO_CORE_TRACE=1
MEIO_SPECIFIC_TRACE=1
MWMLW32_TRACE=1
4. Debugging Tips 10
Linux ACP Modem (Mwave) mini−HOWTO
MWMPW32_TRACE=1
MWMUTIL_TRACE=1
MWWTT32_TRACE=1
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
EL_SALVADOR 503
FINLAND 358
FRANCE 33
GERMANY 49
GREECE 30
GRENADA 111
GUATEMALA 502
GUYANA 592
HONDURAS 504
HONG_KONG 852
HUNGARY 36
INDIA 91
INDONESIA 62
IRELAND 353
ISRAEL 972
ITALY 39
JAMAICA 112
JAPAN 81
JORDAN 962
KOREA 850
KOREA_SOUTH 82
KUWAIT 965
LUXEMBOURG 352
MALAYSIA 60
MEXICO 52
NETH_ANTILLES 599
NETHERLANDS 31
NEW_ZEALAND 64
NICARAGUA 505
NORWAY 47
OMAN 968
PAKISTAN 92
PANAMA 507
PARAGUAY 595
PERU 51
PHILIPPINES 63
POLAND 48
PORTUGAL 351
PRC 852
ROMANIA 40
RUSSIA 7
SAUDI_ARABIA 966
SINGAPORE 65
SLOVAKIA 421
SLOVENIA 386
SOUTH_AFRICA 27
SPAIN 34
ST_KITTS_NEVIS 115
ST_LUCIA 122
ST_VINCENT 116
SURINAME 597
SWEDEN 46
SWITZERLAND 41
TAIWAN 866
THAILAND 66
TRINIDAD_TOBAGO 117
TURKEY 90
TURKS_CAICOS 118
U_K 44
UKRAINE 380
UNITED_ARAB_EMIRATES 971
URUGUAY 598
USA 1
VENEZUELA 58
VIETNAM 84
VIRGIN_IS_BRITISH 106
VIRGIN_IS_USA 123
YEMAN 967
YUGOSLAVIA 381
7. Trademarks 16