This file is indexed.

/usr/share/perl5/Device/Modem/FAQ.pod is in libdevice-modem-perl 1.57-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
=head1 NAME

Device::Modem::FAQ - Frequently Asked Questions list about the C<Device::Modem> perl extension

=head2 What is C<Device::Modem>?

C<Device::Modem> is a L<perl> extension written in pure perl that allows on to
communicate with modems, or generically with C<AT command set compliant> devices
connected to your computer via a B<serial port>.

=head2 Who is the author of this work?

Cosimo Streppone (L<cosimo@cpan.org>), an italian guy who works and
enjoys writing perl programs and objects. If you want to know more,
go to http://www.streppone.it/cosimo/work/perl/

=head2 BTW, what is L<Perl>?

If you are asking that, probably you are in the wrong place.

L<Perl> is a wonderful programming language, that cuts development times, helps
developer keep mental health, good life-style, doesn't pollute developer's mind,
allows one complete freedom of style, and (from perl manual), I<gives you enough
rope to hang yourself>.

Some starting points:

=over 4

=item *

L<http://www.perl.com> - Reference site for Perl programmers

=item *

L<http://www.perl.org> - Perl Mongers home

=item *

L<http://cpan.perl.org> - Comprehensive Perl Archive Network

=item *

L<http://www.perlmonks.org> - Higher Perl souls

=item *

L<http://use.perl.org> - Large Perl community

=back

=head2 What is an C<AT command set>?

It is a set of standard commands, also called C<Hayes>, in which
(almost) all commands begin with C<AT> prefix and they allow one to control
a modem, router, whatever device. Also cellular phones work with
a subset of standard C<AT> commands.

=head2 What is a modem?

What the heck are you doing here? http://www.google.com/search?q=Tech+glossary+modem

=head2 What are the requisites of C<Device::Modem>?

You must have:

=over 4

=item *

A working computer with a standard RS-232 serial port

=item *

An AT-compliant device (a modem will do perfectly here :-)

=item *

A working Perl installation

=item *

C<Device::SerialPort> module installed if you are on some unix platform.
C<Win32::SerialPort> module installed if you are on Win32 platform.

=back

=head2 Is it multi-platform?

C<Device::Modem> works close to the serial port communication layer,
which varies on many platforms. It relies on C<Device::SerialPort> and
C<Win32::SerialPort> modules for all low-level communication layer.

It tries to build a platform independent layer above these two low-level
modules, so developers don't need to distinguish among different platforms.

It's been reported to work on C<Win32>, C<Linux>, C<Mac OS X>, C<FreeBSD>,
C<NetBSD>, C<OpenBSD>, C<ARM-Linux> and C<Solaris>.

=head2 Can I use it for my commercial application?

Yes, it is allowed by its license, that is the same as Perl language.
If you are using it in a commercial package, or plan to do so, please
inform the author (Cosimo Streppone, L<cosimo@cpan.org|mailto:cosimo@cpan.org>).
Thank you.

=head2 Why the [insert_you_preferred_feature_here] does not work?

This is an open-source software developed in my little home spare time and
for my personal interest and amusement. This module has a test suite, but it
is not very extensive, so it is possible that some feature X does not work,
or it is not implemented yet or I cannot test it.

If you are in this situation, please contact L<me|mailto:cosimo@cpan.org>
and provide the following information:

=over 4

=item *

Your operating system version and architecture.
Complete output of C<perl -V> command is good for this.

=item *

Your perl version.
Again C<perl -V>.

=item *

Your C<Device::Modem>, C<Device::SerialPort> and (if you are using it)
C<Device::Gsm> version.
In case of doubt, send the output of:

	perl -MDevice::Modem -le 'print Device::Modem->VERSION'

=back

Thank you.

=head2 Do XModem transfers work?

This is definitely reported to be working by several users, who
also contributed patches and tested the feature.

Otherwise, just look at Aaron Mitti's Device::SerialPort::Xmodem
CPAN module.

=head2 XModem sucks. What about ZModem?

It might seem that XModem and ZModem should be well over dead at this point.
But, looks like several old/new devices still support them.

So, B<ZModem> support has been contributed by a user, and will be
added to the main release Soon(tm).

=head2 Why I keep getting "can't open device: /dev/xxxxx at .../Modem.pm line 468" errors ?

First of all, be sure to use B<Device::Modem version 1.52+>.

Probably you don't have the correct permissions to access your modem device
(usually /dev/modem, or /dev/ttyS0 on unix and COM1/COM2/... on windows).
Or you are trying to use the examples that come with Device::Modem distribution
with an older version (Device::Modem <= 1.33).

In this case, you should upgrade to Device::Modem 1.52+.

=head2 Why I get the error "Can't call method "purge_all" on an undefined value at .../Modem.pm line 545" ?

Again, B<upgrade to Device::Modem version 1.52+>.

If you get this error, it means that the communication port could not be opened.
Most probably you don't have permissions to access your serial port, or you have
used a wrong device name (check your device entry in C</dev> folder).

Since version 1.52, C<Device::Modem::connect()> will try to automatically reconnect
if your port connection shuts down, or the C<Device::SerialPort>, or C<Win32::SerialPort>
underlying object is deleted or invalidated.

You should really upgrade to Device::Modem 1.52+.

=head2 Can I make voice calls with this modem?

B<No>. What you can do, is voice call B<dialing>.
After the dialing though, you have to speak.
Your computer can not do that, unless you have a PBX board,
at least not with Device::Modem.

=head2 This module is pretty slow. What can I do?

Make sure you are using that latest version. From version 1.30, the main "send-command" / "wait-answer"
cycle has been sensibly improved for speed, though you now have to specify a timeout if you want
the module to wait an answer if modem is not ready.

Probably this is the better compromise...

=head2 Can I make a [insert_your_preferred_number_here] euro donation to you for this fantastic module?

Oh, yes!
Please feel free to contact L<cosimo@cpan.org> to decide details about this... :-)

=for html
Or, if you have nothing wrong with that, go to my <A HREF="http://www.amazon.com/gp/registry/registry.html?id=3TB9RMFORFIV5">Amazon wishlist</A>.

=for pod
Or, if you have nothing wrong with that, go to my amazon wishlist (C<http://www.amazon.com/gp/registry/registry.html?id=3TB9RMFORFIV5>).

=head2 I think you are a ?#!x$*z!#(!* and your software sucks

Uh.

Please contact me, so I can improve my software design, ideas and coding,
but only if you explain the reasons of your criticism. Thank you.