LDP/LDP/howto/docbook/ACP-Modem.sgml

881 lines
34 KiB
Plaintext

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<article ID="LinuxACP">
<articleinfo>
<title>Linux ACP Modem (Mwave) mini-HOWTO</title>
<author>
<firstname>Mike</firstname>
<surname>Sullivan</surname>
<affiliation>
<address><email>sullivam@us.ibm.com</email></address>
</affiliation>
</author>
<author>
<firstname>Paul</firstname>
<surname>Schroeder</surname>
<affiliation>
<address><email>paulsch@us.ibm.com</email></address>
</affiliation>
</author>
<abstract>
<para>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&trade; 600, 600E, and 770 models
which include the on board ACP modem hardware. The latest version of
this document can always be found at <ulink URL="http://www.ibm.com/linux/ltc/"> http://www.ibm.com/linux/ltc/</ulink></para>
</abstract>
<pubdate>2001-01-12</pubdate>
<revhistory>
<revision>
<revnumber>.11</revnumber>
<date>2002-07-18</date>
<authorinitials>PBS</authorinitials>
</revision>
<revision>
<revnumber>.10</revnumber>
<date>2001-07-18</date>
<authorinitials>PBS</authorinitials>
</revision>
<revision>
<revnumber>.09</revnumber>
<date>2001-05-21</date>
<authorinitials>PBS</authorinitials>
</revision>
<revision>
<revnumber>.08</revnumber>
<date>2001-05-09</date>
<authorinitials>JEY</authorinitials>
</revision>
<revision>
<revnumber>.07</revnumber>
<date>2001-04-30</date>
<authorinitials>JEY</authorinitials>
</revision>
</revhistory>
<othercredit role="converter">
<firstname>Joy</firstname>
<surname>Yokley</surname>
<contrib>Edited document and coverted to DocBook v4.1 (SGML).</contrib>
</othercredit>
</articleinfo>
<sect1 ID="GeneralInfo">
<title>General Information and Hardware Requirements</title>
<sect2 ID="Introduction">
<title>Introduction</title>
<para>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 <xref linkend="cntrylist"> of this document
for the supported country list.</para>
<para>The modem also supports the standard communications port
interface (ttySx) and is compatible with the Hayes AT Command
Set.</para>
<para>ACP Modem software is continually under development. If you
encounter bugs or usability issues, please contact us and
we'll work to correct them. </para>
</sect2>
<sect2 ID="Credits">
<title>Credits</title>
<para>This Linux ACP Modem driver was ported from the Windows NT&trade;
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.</para>
</sect2>
<sect2 ID="LatestVersion">
<title>Where Can I Get the Latest Version of this Driver?</title>
<para>The latest version of this driver is available from <ulink URL="http://www.ibm.com/linux/ltc/">http://www.ibm.com/linux/ltc/</ulink></para>
</sect2>
<sect2 ID="OtherResources">
<title>Are There Any Other Resources?</title>
<para>Thomas Hood's <ulink url="http://panopticon.csustan.edu/thood/tp600lnx.htm">Debian GNU/Linux on IBM ThinkPad 600 and 600x</ulink>
page contains lots of useful information.</para>
</sect2>
<sect2 ID="copyright">
<title>Copyright Notice and Disclaimer</title>
<para>Copyright (c) 2002 IBM Corporation</para>
<para>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.</para>
<para>This document is provided "AS IS", with no express or implied
warranties. Use the information in this document at your own
risk.</para>
</sect2>
<sect2 ID="SupportedSystems">
<title>Which Systems are Supported</title>
<para>This version of the ACP Modem driver supports the IBM
Thinkpad&trade 600E, 600, and 770 that include on-board ACP modem hardware.</para>
</sect2>
<sect2 ID="ModemFeatures">
<title>Features of the Modem</title>
<para>The ACP Modem provides the following features:</para>
<itemizedlist>
<listitem><para>Standard asynchronous COM port interface (NS16550A UART
compatible) operation</para>
</listitem>
<listitem><para>Bell-103/212A, CCITT-V.21/V.22,V.22bis protocols with data
from 300 to 2400 bps</para>
</listitem>
<listitem><para>CCITT-V.32 protocols with data rates of 4800, 9600 uncoded,
and 9600 bps Trellis coded (Optional)</para>
</listitem>
<listitem><para>CCITT-V.32bis protocols with data rates of 4800, 9600,
12000, and 14400 bps (optional)</para>
</listitem>
<listitem><para>ITU-T V.34 protocols with data rates from 2400 to 33600 bps.</para>
</listitem>
<listitem><para>56K capable modem</para>
</listitem>
<listitem><para>Hayes AT Command Set compatibility</para>
</listitem>
<listitem><para>DTMF and pulse dialing</para>
</listitem>
<listitem><para>Asynchronous error recovery protocol</para>
</listitem>
<listitem><para>Error correction via Microcom Network Protocol (MNP) classes
1-4</para>
</listitem>
<listitem><para>Error correction via the V.42 error correction standard</para>
</listitem>
<listitem><para>MNP class 5 for up to 2x data compression</para>
</listitem>
<listitem><para>V.42bis for up to 4x data compression</para>
</listitem>
<listitem><para>"Adaptive Rate Negotiation" which provides for "Fallback /
Fallforward" as line quality deteriorates or improves</para>
</listitem>
</itemizedlist>
<para>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.
</para>
</sect2>
</sect1>
<sect1 ID="Startup">
<title>Compilation, Installation, and Startup</title>
<sect2 ID="Prerequisites">
<title>Prerequisites</title>
<itemizedlist>
<listitem>
<para>A 2.2.16 series (or later) Linux kernel source tree</para>
</listitem>
<listitem>
<para>An appropriate set of module utilities</para>
</listitem>
<listitem>
<para>gcc version 2.7.x or later</para>
</listitem>
</itemizedlist>
<para>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.</para>
</sect2>
<sect2 ID="Building">
<title>Building and Installing Source</title>
<orderedlist>
<listitem><para>Use <command>tar xzvf</command> <filename>mwavem-yyyymmdd.tar.gz</filename> to unpack the distribution.</para></listitem>
<listitem><para>Change directories with <command>cd <filename>mwavem-yyyymmdd</filename></command></para></listitem>
<listitem><para>Use the <command>./configure</command> command to configure the build options. Issue <command>./configure --help</command> to view all of the options. The defaults are probably okay though.</para>
<note><title>NOTE</title> <para>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.</para></note></listitem>
<listitem><para>Use the <command>make</command> command to build all of the ACP Modem binaries.</para>
<note><title>NOTE</title> <para>Your gcc package should be at least at the 2.7.x level.
Check your <filename>/usr/src/linux/Documentation/Changes</filename> file for
the minimum version information.</para>
</note></listitem>
<listitem><para>Use <command>make install</command> to install the <filename>mwavem</filename> binary, <filename>mwavem.conf</filename> configuration, the extra binary (mostly .dsp) files, and module device driver
(if you specified that it must be built) and to create the <filename>/dev/modems/mwave</filename> device node. </para></listitem>
</orderedlist>
</sect2>
<sect2 ID="Setup">
<title>Setting Things Up</title>
<para>In the [WORLDTRADE] section of your <filename>mwavem.conf</filename> file, set the Country=
parameter to your country access code.</para>
<note><title>NOTE</title> <para>The <filename>mwavem.conf</filename> file is installed in the <filename>/usr/local/etc</filename> directory unless you specified otherwise during the build process</para></note>
<para>Country information (including access codes) are listed in the
<filename>mwavem.conf</filename> file. For example, for France the following section is present:</para>
<programlisting>
[Telephony\Country List\33]
CountryCode=00000021
Name=France
SameAreaRule=0FG
LongDistanceRule=0FG
InternationsalRule=00EFG</programlisting>
<para>To set France to be your configured country in the [WORLDTRADE] section of
<filename>mwavem.conf</filename>, <screen>set Country=33</screen></para>
</sect2>
<sect2 ID="Runtime">
<title>Runtime</title>
<para>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.
</para>
<para>The <command>mwaved</command> startup script can be found in the <filename>src/mwavem</filename> directory of the source distribution. If you are running the Red Hat distribution, you can copy the script to your <filename>/etc/rc.d/init.d</filename> directory and issue the <command>ntsysv</command> 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.
</para>
<para>It is recommended that you use the provided <command>mwaved</command> script. If you are not using
the script, however, the following sections will describe how to manually start the device driver and application.</para>
<sect3 ID="Load">
<title>Loading the ACP device driver</title>
<para>To load the mwave device driver use
<screen>insmod mwave</screen> or
<screen>modprobe mwave</screen></para>
<para>The following arguments may be supplied with the <command>insmod</command> command:</para>
<note><title>NOTE</title><para> The following arguments are not persistent from boot to boot
(i.e. We are not saving them in the BIOS).</para></note>
<itemizedlist>
<listitem><para>mwave_3780i_irq=5/7/10/11/15</para>
<para>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&trade; configuration utility.</para></listitem>
<listitem><para>mwave_3780i_io=0x130/0x350/0x0070/0xDB0</para>
<para>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&trade; configuration utility. </para></listitem>
<listitem><para>mwave_uart_irq=3/4</para>
<para>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&trade; configuration utility.</para></listitem>
<listitem><para>mwave_uart_io=0x3f8/0x2f8/0x3E8/0x2E8</para>
<para>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&trade; configuration utility.</para></listitem>
</itemizedlist>
<para>The following code is an example of how to run DSP using ttyS1 resources:</para>
<screen>insmod mwave mwave_3780i_irq=10 mwave_3780i_io=0x0130 mwave_uart_irq=3 mwave_uart_io=0x2f8</screen>
<note><title>NOTE</title><para>The <command>mwave</command> 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.</para></note>
<para>You can use the tpctl package on Linux or the Thinkpad&trade; configuration utility on Windows NT or DOS
to manage the configuration of Thinkpad&trade; related resources.</para>
</sect3>
<sect3 ID="execute">
<title>Running ACP Modem Application</title>
<orderedlist>
<listitem><para>Once the ACP device driver is loaded successfully, use the
<command>mwavem</command> command to execute the application.
<note><title>NOTE</title><para>The location of the <filename>mwavem.conf</filename> file
can be specified as an argument to the mwavem application. If not specified the
default location is assumed to be <filename>/usr/local/etc/mwavem.conf</filename> unless otherwise changed during the build process.</para></note></para></listitem>
<listitem><para>Setup the serial driver to recognize the UART provided by the
ACP driver.</para>
<screen>setserial /dev/ttyS0 autoconfig</screen>
<note><title>NOTE</title><para>Substitute /dev/ttyS0 to match the serial port you have
configured the DSP to use.</para></note>
<note><title>NOTE</title><para>You may wish to create a symbolic link from your modem device to your serial device for convenience. Example: <command>ln -s /dev/ttyS0 /dev/modem</command></para></note>
</listitem>
</orderedlist>
<para>The ACP Modem is now available for use by your favorite dialing application.</para>
</sect3>
</sect2>
</sect1>
<sect1 ID="problems">
<title>Resolving Installation and Configuration Problems</title>
<para>The following sections list solutions to possible problems you may experience.</para>
<sect2 ID="nostart">
<title>DSP Does Not Start</title>
<para>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 <filename>lilo.conf</filename> file.
For example, if you had a machine with 128 Meg you would type:</para>
<screen>append="mem=130496K"</screen>
<note><title>NOTE</title><para>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.</para></note>
<para>If you forget to run the Thinkpad&trade; 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:</para>
<programlisting>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</programlisting>
<para>If you receive a message like the one above, check the command line arguments you provided
to <command>insmod</command>.</para>
</sect2>
<sect2 ID="Conflicts">
<title>Resource Conflicts</title>
<para>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
<command>insmod mwave</command> command line parameters listed in <xref linkend="Load">.</para>
<para>Typically the configured resources are:</para>
<programlisting>For the DSP: IRQ 10, I/O address 0x130-0x13f
For the UART: IRQ 3, I/O address 0x2f8 (if using ttyS1)
IRQ 4, I/O address 0x3f8 (if using ttyS0)</programlisting>
<para>For dual boot systems we recommeded that you use the Thinkpad&trade; Configuration Utility
on Windows NT or DOS to configure these system resources. </para>
<para>Windows NT Thinkpad Configuration Utility Notes:
(Under the <emphasis>Internal Modem</emphasis> --> <emphasis>Advanced</emphasis> selection)</para>
<orderedlist><listitem><para> Set IRQ sharing to disabled</para></listitem>
<listitem><para>Set 1st IRQ to your DSP IRQ (10 is recommened)</para></listitem>
<listitem><para>Set 2nd IRQ to your UART IRQ (i.e. ttyS1 is equivalent to COM2)</para></listitem>
<listitem><para>Set the DSP I/O address (0x130 is recommended)</para></listitem>
<listitem><para>Set the internal modem I/O address to the UART I/O address
(i.e. 0x2f8 for COM2)</para></listitem>
<listitem><para>The DMA address is unused and can be set to anything.</para></listitem>
</orderedlist>
<note><title>NOTE</title><para>You may also specify parameters to use for the duration of the boot by using the
<command>insmod mwave</command> line parameters listed in section <xref linkend="Load">.</para></note>
</sect2>
<sect2 ID="speed">
<title>Not Connecting at Specified Starting Speed</title>
<para>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 <filename>mwavem.conf</filename> to a lower initial starting
speed. Supported speeds include:</para>
<itemizedlist><listitem><para> 64000</para></listitem>
<listitem><para> 33600</para></listitem>
<listitem><para> 14400</para></listitem>
<listitem><para> 9600</para></listitem>
<listitem><para> 2400</para></listitem>
</itemizedlist>
</sect2>
<sect2 ID="detectport">
<title>Dialer Application Cannot Detect Serial Port</title>
<para>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.</para>
<para> After inserting the mwave.o module and starting the <application>mwavem</application>
application, you must run the <command>setserial</command> command in order for the serial port configuration to discover the
UART on the mwave hardware:</para>
<screen>setserial /dev/ttySx autoconfig</screen>
<para>Replace ttySx with the serial port you have configured the ACP driver to use.</para>
<para>To test whether the serial port is setup correctly, run:</para>
<screen>setserial /dev/ttySx</screen>
<para>The above command should return the following for serial port 1:</para>
<screen>/dev/ttyS1, UART: 16550A, Port: 0x2f8, IRQ: 3</screen>
<para>The port and IRQ numbers should match the information placed
in the syslog by the ACP module when it was loaded:</para>
<programlisting>kernel: Mwave Modem, UART settings IRQ 0x3 IO 0x2f8</programlisting>
<para>If the information returned by <command>setserial</command> 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 <command>setserial</command>
man pages to learn how to setup the resources on your ttySx to
match what appears in the syslog output.</para>
<para>If you have problems running <command>setserial</command>, you may have a resource
conflict. Before using <command>insmod mwave</command>, check <filename>/proc/ioports</filename> and
<filename>/proc/interrupts</filename> to make sure the resources you intend to claim
are not already in use.</para>
</sect2>
<sect2 ID="ppperrors">
<title>PPP Errors Using 2.4.0 Version of the Kernel</title>
<para>When upgrading to the 2.4.0 version of the kernel be sure to read the
<filename>./Documentation/Changes </filename>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.</para>
<para>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:</para>
<programlisting>CONFIG_PPP=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOM=m </programlisting>
</sect2>
</sect1>
<sect1 ID="debugging">
<title>Debugging Tips</title>
<sect2 ID="errorlogs">
<title>Error Logs</title>
<para>Errors encountered by the ACP Modem device driver or
application are logged using the syslog utility.</para>
</sect2>
<sect2 ID="tracing">
<title>Tracing</title>
<para>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. </para>
<screen>insmod mwave mwave_debug=0x0f</screen>
<para>Where the following debug trace information is
selectable:</para>
<programlisting>0x01 ACP Modem Device driver entry points
0x02 Systems Management API(SMAPI)
0x04 Hardware Interface (3780I)
0x08 Thinkpad Interface (tp3780i)</programlisting>
<para>Trace information is logged using the syslog utility.</para>
<para>The ACP application supports tracing through the use
of flags configured in the [STARTUP] section of the
<filename>mwavem.conf </filename>file.</para>
<para>Mwave Manager API trace points:</para>
<programlisting>MANAGER_API_TRACE=1
MANAGER_API_DATA_TRACE=1
MANAGER_CORE_TRACE=1
MANAGER_SPECIFIC_TRACE=1</programlisting>
<para>MEIO Manager trace points:</para>
<programlisting>MEIO_API_TRACE=1
MEIO_CORE_TRACE=1
MEIO_SPECIFIC_TRACE=1</programlisting>
<para>Mwave Modem application trace points:</para>
<programlisting>MWMLW32_TRACE=1
MWMPW32_TRACE=1
MWMUTIL_TRACE=1
MWWTT32_TRACE=1</programlisting>
<para>Trace information is logged using the syslog utility.</para>
</sect2>
</sect1>
<sect1 ID="testclaims">
<title>Test Claims</title>
<para>This driver has been tested using the ThinkPad&trade; 600E. The same
chipset is integrated on the 600 and 770 models and should work.</para>
</sect1>
<sect1 ID="cntrylist">
<title>List of Supported Countries</title>
<para>The following countries are supported by the ACP Modem driver</para>
<para>
<table><title>List of Supported Countries</title>
<tgroup cols="2" align="left" colsep="1" rowsep="1">
<thead>
<row>
<entry>Country Name</entry>
<entry>Country Access Code</entry>
</row>
</thead>
<tbody>
<row>
<entry>ALGERIA</entry>
<entry>213</entry>
</row>
<row>
<entry>ANTIGUA_BARBUDA</entry>
<entry>102</entry>
</row>
<row>
<entry>ARGENTINA</entry>
<entry>54</entry>
</row>
<row>
<entry>ARMENIA</entry>
<entry>374</entry>
</row>
<row>
<entry>ARUBA</entry>
<entry>297</entry>
</row>
<row>
<entry>AUSTRALIA</entry>
<entry>61</entry>
</row>
<row>
<entry>AUSTRIA</entry>
<entry>43</entry>
</row>
<row>
<entry>AZERBAIJAN</entry>
<entry>994</entry>
</row>
<row>
<entry>BAHAMAS</entry>
<entry>103</entry>
</row>
<row>
<entry>BARBADOS</entry>
<entry>104</entry>
</row>
<row>
<entry>BELARUS</entry>
<entry>375</entry>
</row>
<row>
<entry>BELGIUM</entry>
<entry>32</entry>
</row>
<row>
<entry>BERMUDA</entry>
<entry>105</entry>
</row>
<row>
<entry>BOLIVIA</entry>
<entry>591</entry>
</row>
<row>
<entry>BRAZIL</entry>
<entry>55</entry>
</row>
<row>
<entry>BRUNEI</entry>
<entry>673</entry>
</row>
<row>
<entry>BULGARIA</entry>
<entry>359</entry>
</row>
<row>
<entry>CANADA</entry>
<entry>107</entry>
</row>
<row>
<entry>CAYMAN_ISLANDS</entry>
<entry>108</entry>
</row>
<row>
<entry>CHILE</entry>
<entry>38</entry>
</row>
<row>
<entry>COLOMBIA</entry>
<entry>57</entry>
</row>
<row>
<entry>COSTA_RICA</entry>
<entry>506</entry>
</row>
<row>
<entry>CUBA</entry>
<entry>53</entry>
</row>
<row>
<entry>CYPRUS</entry>
<entry>357</entry>
</row>
<row>
<entry>CZECHREPUBLIC</entry>
<entry>420</entry>
</row>
<row>
<entry>DENMARK</entry>
<entry>45</entry>
</row>
<row>
<entry>ECUADOR</entry>
<entry>593</entry>
</row>
<row>
<entry>EGYPT</entry>
<entry>20</entry>
</row>
<row>
<entry>EL_SALVADOR</entry>
<entry>503</entry>
</row>
<row>
<entry>FINLAND</entry>
<entry>358</entry>
</row>
<row>
<entry>FRANCE</entry>
<entry>33</entry>
</row>
<row>
<entry>GERMANY</entry>
<entry>49</entry>
</row>
<row>
<entry>GREECE</entry>
<entry>30</entry>
</row>
<row>
<entry>GRENADA</entry>
<entry>111</entry>
</row>
<row>
<entry>GUATEMALA</entry>
<entry>502</entry>
</row>
<row>
<entry>GUYANA</entry>
<entry>592</entry>
</row>
<row>
<entry>HONDURAS</entry>
<entry>504</entry>
</row>
<row>
<entry>HONG_KONG</entry>
<entry>852</entry>
</row>
<row>
<entry>HUNGARY</entry>
<entry>36</entry>
</row>
<row>
<entry>INDIA</entry>
<entry>91</entry>
</row>
<row>
<entry>INDONESIA</entry>
<entry>62</entry>
</row>
<row>
<entry>IRELAND</entry>
<entry>353</entry>
</row>
<row>
<entry>ISRAEL</entry>
<entry>972</entry>
</row>
<row>
<entry>ITALY</entry>
<entry>39</entry>
</row>
<row>
<entry>JAMAICA</entry>
<entry>112</entry>
</row>
<row>
<entry>JAPAN</entry>
<entry>81</entry>
</row>
<row>
<entry>JORDAN</entry>
<entry>962</entry>
</row>
<row>
<entry>KOREA</entry>
<entry>850</entry>
</row>
<row>
<entry>KOREA_SOUTH</entry>
<entry>82</entry>
</row>
<row>
<entry>KUWAIT</entry>
<entry>965</entry>
</row>
<row>
<entry>LUXEMBOURG</entry>
<entry>352</entry>
</row>
<row>
<entry>MALAYSIA</entry>
<entry>60</entry>
</row>
<row>
<entry>MEXICO</entry>
<entry>52</entry>
</row>
<row>
<entry>NETH_ANTILLES</entry>
<entry>599</entry>
</row>
<row>
<entry>NETHERLANDS</entry>
<entry>31</entry>
</row>
<row>
<entry>NEW_ZEALAND</entry>
<entry>64</entry>
</row>
<row>
<entry>NICARAGUA</entry>
<entry>505</entry>
</row>
<row>
<entry>NORWAY</entry>
<entry>47</entry>
</row>
<row>
<entry>OMAN</entry>
<entry>968</entry>
</row>
<row>
<entry>PAKISTAN</entry>
<entry>92</entry>
</row>
<row>
<entry>PANAMA</entry>
<entry>507</entry>
</row>
<row>
<entry>PARAGUAY</entry>
<entry>595</entry>
</row>
<row>
<entry>PERU</entry>
<entry>51</entry>
</row>
<row>
<entry>PHILIPPINES</entry>
<entry>63</entry>
</row>
<row>
<entry>POLAND</entry>
<entry>48</entry>
</row>
<row>
<entry>PORTUGAL</entry>
<entry>351</entry>
</row>
<row>
<entry>PRC</entry>
<entry>852</entry>
</row>
<row>
<entry>ROMANIA</entry>
<entry>40</entry>
</row>
<row>
<entry>RUSSIA</entry>
<entry>7</entry>
</row>
<row>
<entry>SAUDI_ARABIA</entry>
<entry>966</entry>
</row>
<row>
<entry>SINGAPORE</entry>
<entry>65</entry>
</row>
<row>
<entry>SLOVAKIA</entry>
<entry>421</entry>
</row>
<row>
<entry>SLOVENIA</entry>
<entry>386</entry>
</row>
<row>
<entry>SOUTH_AFRICA</entry>
<entry>27</entry>
</row>
<row>
<entry>SPAIN</entry>
<entry>34</entry>
</row>
<row>
<entry>ST_KITTS_NEVIS</entry>
<entry>115</entry>
</row>
<row>
<entry>ST_LUCIA</entry>
<entry>122</entry>
</row>
<row>
<entry>ST_VINCENT</entry>
<entry>116</entry>
</row>
<row>
<entry>SURINAME</entry>
<entry>597</entry>
</row>
<row>
<entry>SWEDEN</entry>
<entry>46</entry>
</row>
<row>
<entry>SWITZERLAND</entry>
<entry>41</entry>
</row>
<row>
<entry>TAIWAN</entry>
<entry>866</entry>
</row>
<row>
<entry>THAILAND</entry>
<entry>66</entry>
</row>
<row>
<entry>TRINIDAD_TOBAGO</entry>
<entry>117</entry>
</row>
<row>
<entry>TURKEY</entry>
<entry>90</entry>
</row>
<row>
<entry>TURKS_CAICOS</entry>
<entry>118</entry>
</row>
<row>
<entry>U_K</entry>
<entry>44</entry>
</row>
<row>
<entry>UKRAINE</entry>
<entry>380</entry>
</row>
<row>
<entry>UNITED_ARAB_EMIRATES</entry>
<entry>971</entry>
</row>
<row>
<entry>URUGUAY</entry>
<entry>598</entry>
</row>
<row>
<entry>USA</entry>
<entry>1</entry>
</row>
<row>
<entry>VENEZUELA</entry>
<entry>58</entry>
</row>
<row>
<entry>VIETNAM</entry>
<entry>84</entry>
</row>
<row>
<entry>VIRGIN_IS_BRITISH</entry>
<entry>106</entry>
</row>
<row>
<entry>VIRGIN_IS_USA</entry>
<entry>123</entry>
</row>
<row>
<entry>YEMAN</entry>
<entry>967</entry>
</row>
<row>
<entry>YUGOSLAVIA</entry>
<entry>381</entry>
</row>
</tbody>
</tgroup>
</table></para>
</sect1>
<sect1 ID="trademarks">
<title>Trademarks</title>
<para>Hayes is a trademark of Hayes Microcomputer Products, Inc.</para>
<para>MNP (Microcom Network Protocol) is a trademark of Microcom, Inc.</para>
<para>IBM is a trademark of International Business Machines, Inc.</para>
</sect1>
</article>