File: mwave.txt

package info (click to toggle)
mwavem 1.0.2-11
  • links: PTS
  • area: main
  • in suites: woody
  • size: 7,204 kB
  • ctags: 6,561
  • sloc: ansic: 54,209; sh: 2,929; makefile: 417
file content (731 lines) | stat: -rw-r--r-- 21,097 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
Linux ACP Modem (Mwave) mini-HOWTO

                   Abstract
                   This document describes how to build,
                   setup, and use the ACP (Mwave) Modem
                   feature of the IBM Thinkpad[tm] 600,
                   600E, and 770x. The latest version of
                   this document can always be found at
                   http://www.ibm.com/linux/ltc/
          ---------------------------------------------------------

Table of Contents
General Information and Hardware Requirements
Compilation, Installation, and Startup
Resolving Installation and Configuration Problems
Debugging Tips
Test Claims
List of Supported Countries
Trademarks

  ------------------------------------------------------------------------

General Information and Hardware Requirements

Introduction

The ACP Modem for Linux is a WinModem. It 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 the section called List of Supported
Countries 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.

  ------------------------------------------------------------------------

Credits

This Linux ACP Modem driver was ported from the Windows NT[tm] 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.

  ------------------------------------------------------------------------

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/

  ------------------------------------------------------------------------

Copyright Notice and Disclaimer

Copyright (c) 2000 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.

  ------------------------------------------------------------------------

Which Systems are Supported

This version of the ACP Modem driver supports the IBM Thinkpad[tm] 600E,
600, and 770 that include on-board ACP modem hardware.

  ------------------------------------------------------------------------

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.

  ------------------------------------------------------------------------

Compilation, Installation, and Startup

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 and application, you need to have a
complete Linux source tree for your kernel, not just an up-to-date kernel
image.

  ------------------------------------------------------------------------

Building and Installing Source

  1. Use tar xzvf mwavem-yyyymmdd.tar.gz to 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.

  4. Use the make command to build all of the ACP Modem binaries.

      [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, DSPs, and module device driver files and to create the
     /dev/modems/mwave device node.

  ------------------------------------------------------------------------

Setting Things Up

In the [WORLDTRADE] section of your mwavem.conf file, set the Country=
parameter to your country access code.

 [Note] NOTE

        The mwavem.conf file is installed in the /usr/local/etc directory
        unless you specified otherwise during the build process

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

To set France to be your configured country in the [WORLDTRADE] section of
mwavem.conf,
set Country=33

  ------------------------------------------------------------------------

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.

  ------------------------------------------------------------------------

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] NOTE

        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[tm]
     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[tm] 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[tm]
     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[tm] 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] NOTE
        The mwave is unable to check for resource conflicts. It is the your
        responsibility to ensure that none of the resources specified
        conflict with other devices.

You can use the tpctl package on Linux or the Thinkpad[tm] configuration
utility on Windows NT or DOS to manage the configuration of Thinkpad[tm]
related resources.

  ------------------------------------------------------------------------

Running ACP Modem Application

  1. Once the ACP device driver is loaded successfully, use the mwavem
     command to execute the application.

      [Note] NOTE
             The location of the mwavem.conf file can be specified
             as an argument to the mwavem application. If not
             specified the default location is assumed to be
             /usr/local/etc/mwavem.conf unless otherwise changed
             during the build process.

  2. Setup the serial driver to recognize the UART provided by the ACP
     driver.

     setserial /dev/ttyS0 autoconfig

      [Note] NOTE

             Substitute /dev/ttyS0 to match the serial port you have
             configured the DSP to use.

      [Note] 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.

  ------------------------------------------------------------------------

Resolving Installation and Configuration Problems

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

  ------------------------------------------------------------------------

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[tm] 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.

  ------------------------------------------------------------------------

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 the section called Loading the ACP device driver.

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[tm]
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 the
        section called Loading the ACP device driver.
  ------------------------------------------------------------------------

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:

   * 64000

   * 33600

   * 14400

   * 9600

   * 2400

  ------------------------------------------------------------------------

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.

  ------------------------------------------------------------------------

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

  ------------------------------------------------------------------------

Debugging Tips

Error Logs

Errors encountered by the ACP Modem device driver or application are logged
using the syslog utility.

  ------------------------------------------------------------------------

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    ACP Modem Device driver entry points
0x02    Systems Management API(SMAPI)
0x04    Hardware Interface (3780I)
0x08    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
MWMPW32_TRACE=1
MWMUTIL_TRACE=1
MWWTT32_TRACE=1

Trace information is logged using the syslog utility.

  ------------------------------------------------------------------------

Test Claims

This driver has been tested using the ThinkPad[tm] 600E. The same chipset is
integrated on the 600 and 770 models and should work.

  ------------------------------------------------------------------------

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

 ANTIGUA_BARBUDA      102

 ARGENTINA            54

 ARMENIA              374

 ARUBA                297

 AUSTRALIA            61

 AUSTRIA              43

 AZERBAIJAN           994

 BAHAMAS              103

 BARBADOS             104

 BELARUS              375

 BELGIUM              32

 BERMUDA              105

 BOLIVIA              591

 BRAZIL               55

 BRUNEI               673

 BULGARIA             359

 CANADA               107

 CAYMAN_ISLANDS       108

 CHILE                38

 COLOMBIA             57

 COSTA_RICA           506

 CUBA                 53

 CYPRUS               357

 CZECHREPUBLIC        420

 DENMARK              45

 ECUADOR              593

 EGYPT                20

 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

  ------------------------------------------------------------------------

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.