annotate doc/Voice-pseudo-modem @ 598:717ed17d82c6

aci3 vocoder control revamped, AT@VSEL now works as it should The vocoder control code (hl_audio_drv.c) that came with the TCS3 version of ACI was totally broken in the Calypso config (VOCODER_FUNC_INTERFACE) and worked in the standard analog voice environment only by luck. This code has now been rewritten to work correctly with our Calypso platform and TCS211 L1, and our new AT@VSEL mechanism (automatic enabling and disabling of MCSI voice path as the modem enters and exits the voice call state) now also works as designed.
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 27 Mar 2019 23:44:35 +0000
parents 2f880890c189
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
376
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 Back when TI's TCS211 fw existed in the traditional world of phone handset and
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 cellular modem manufacturers, there were only two principal classes of target
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 devices for it: handsets and modems. The former have local UI hardware (LCDs
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 and keypads) and run firmware that works with this UI hw, the latter have no
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 such hw and run firmware that expects to be controlled by an external host via
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 AT commands.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 But the peculiar circumstances under which our FreeCalypso family of projects
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 operates give rise to a third possibility: what happens if one were to run
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 non-UI-capable firmware that expects control via AT commands on a hardware
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 target device that was originally designed to be an end user phone handset, in
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 our case either Motorola C1xx or Pirelli DP-L10? The result is what I call a
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 voice pseudo-modem (VPM): the phone's LCD stays dark, the buttons do nothing
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 and the device expects to be controlled via AT commands as if it were a modem
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 like the one in GTA01/02 smartphones, but there is no practically usable way to
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 make use of any data services, only voice and SMS, hence my VPM term.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 It needs to be noted clearly that the VPM hack described in this article is NOT
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 a substitute for proper modem hardware - if your area of interest is Standard
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 Modem functionality (the full set of GSM and GPRS services accessed via AT
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 commands), then you need a proper hardware platform for it, such as our FCDEV3B
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 hardware product. However, support for VPM operation in FreeCalypso exists for
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 the following purposes:
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 * On some hw targets the VPM configuration can be an intermediate stepping stone
382
7bdd370f6f59 doc/Voice-pseudo-modem: minor fixes
Mychaela Falconia <falcon@freecalypso.org>
parents: 376
diff changeset
26 toward potential future UI-enabled firmware (see the Handset-goal article) -
7bdd370f6f59 doc/Voice-pseudo-modem: minor fixes
Mychaela Falconia <falcon@freecalypso.org>
parents: 376
diff changeset
27 this situation holds on the C139.
376
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 * Being able to run FreeCalypso fw in the VPM configuration on Mot C1xx hw that
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 many people already have and that may still be readily and cheaply available
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 makes our firmware accessible to those who are not able to afford our
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 expensive FCDEV3B hardware.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 * If you have a Pirelli DP-L10 phone (now very rare and hard to get, but were
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 readily available in early 2013 when I started FreeCalypso): while there is
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 unfortunately very little chance of being able to turn it into a practically
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 usable Libre Dumbphone with FreeCalypso (the unwanted extra chips sans docs
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 which we don't know how to power down are a killer), running FreeCalypso fw
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 on the Pirelli in the VPM configuration is so easy and convenient that I do
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 it all the time during development and testing.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 Building firmware for VPM operation
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 ===================================
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 The following two firmware build configurations (in the ./configure.sh sense)
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 are appropriate for VPM usage:
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 hybrid-vpm This is the TCS2/TCS3 hybrid config (see the Modem-configs
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 article) that has all data services (CSD, fax and GPRS)
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 disabled and FCHG (new FreeCalypso battery charging driver)
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 enabled. The removal of data services code makes the firmware
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 image size and its RAM usage significantly smaller than all
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 other configurations, making hybrid-vpm the smallest of all
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 FC Magnetite firmware configs.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 l1reconst-chg This is a variant of the stable l1reconst config (again, see
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 the Modem-configs article) that has our FCHG battery charging
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 driver enabled. Because this config uses the TCS211 blob
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 version of the G23M PS, data services cannot be disabled, and
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 the associated code sits in the firmware image as dead weight.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 Thus this l1reconst-chg config produces much heavier fw images
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 than hybrid-vpm, and should only be used when you suspect a bug
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 in the new TCS3 G23M or ACI code and would like to run the old
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 TCS2 version for comparison.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65
545
2f880890c189 doc/Voice-pseudo-modem: minor update for C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 509
diff changeset
66 Mot C139/140 and C155/156 phones have enough flash and RAM to run the
2f880890c189 doc/Voice-pseudo-modem: minor update for C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 509
diff changeset
67 l1reconst-chg config (with data services code as non-exercisable dead weight),
2f880890c189 doc/Voice-pseudo-modem: minor update for C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 509
diff changeset
68 but the more basic C11x/12x models (the ones with black&white LCDs) have
2f880890c189 doc/Voice-pseudo-modem: minor update for C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 509
diff changeset
69 smaller memories, and the only FC Magnetite config that is small enough to fit
2f880890c189 doc/Voice-pseudo-modem: minor update for C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 509
diff changeset
70 into their tiny flash and XRAM capacity is hybrid-vpm.
376
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 Playing with FreeCalypso VPM on C1xx phones
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 ===========================================
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74
382
7bdd370f6f59 doc/Voice-pseudo-modem: minor fixes
Mychaela Falconia <falcon@freecalypso.org>
parents: 376
diff changeset
75 If a Mot C1xx phone is flashed with a FreeCalypso firmware image in the VPM
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents: 382
diff changeset
76 configuration (see C1xx-Howto for the messy details of how to do it), it will
376
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 behave as follows:
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 * The LCD will remain dark and the buttons will do nothing no matter what.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 * If you plug in Motorola's charging adapter (it's a regulated 5 VDC power
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 source, but with a non-USB connector) and you had properly installed the
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 charging config file when creating the aftermarket FFS for FreeCalypso, the
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 battery will charge. When you unplug the charging adapter, if there is no
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 host computer running FC host program rvinterf connected to the phone
509
3992869d41ad doc/Voice-pseudo-modem: shortened keepalive timeout
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
86 serially, the phone will power off some 15 to 20 s after the charger unplug.
376
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 * If you press the power button while the phone is off, even momentarily, the
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 phone will power on and boot (with nothing on the LCD as usual), but if the
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 headset jack serial port is not connected to a computer running rvinterf, the
509
3992869d41ad doc/Voice-pseudo-modem: shortened keepalive timeout
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
91 firmware will execute a power-off after at most 20 s.
376
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 * In order to make the phone-turned-VPM do anything useful, you will need to
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 connect the headset jack serial port to a host computer running FC host tools,
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 run rvinterf to keep the phone alive (keep it from automatically powering
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 off), and use FC host utility fc-shell to issue AT commands to it over the
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 RVTMUX channel managed by rvinterf.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 * The phone will remain on (i.e., the fw won't execute an automatic power-off)
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 for as long as there is either a charging power adapter plugged in or a
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 connected host computer running rvinterf - if there is no charging power,
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 the fw will send periodic keepalive queries to check for the presence of a
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 connected rvinterf process.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 Playing with FreeCalypso VPM on a Pirelli DP-L10
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 ================================================
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 There are two ways in which one can play with FC VPM firmware on a Pirelli:
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 * FC VPM fw can be flashed into the phone just like on Mot C1xx. To make this
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 approach sensible, you will also need to craft and install a charging config
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 file that will cause our FCHG driver to initiate the charging process
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 automatically when the battery voltage falls below some sensible threshold,
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 without requiring manual charging start via AT@CHG=1. In this case the
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 reflashed phone will behave like C1xx in the previous section, except that
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 the charging power source and the host computer connection are one and the
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 same in the case of Pirelli's USB.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 * The other approach is to keep Pirelli's original fw in the flash, let the
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 phone function normally when not in the middle of a FreeCalypso VPM session,
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 and load our FC VPM fw into RAM via fc-xram, making use of this phone's huge
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 RAM that can hold an entire functional fw image without flashing. This is
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 the Mother's preferred method.
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124
3f1a587b3a84 doc/Voice-pseudo-modem written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 See the Pirelli-Howto article for the details.