Provided by: libdevice-modem-perl_1.59-1_all bug

NAME

       Device::Modem::FAQ - Frequently Asked Questions list about the "Device::Modem" perl extension

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

   Who is the author of this work?
       Cosimo Streppone (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/

   BTW, what is Perl?
       If you are asking that, probably you are in the wrong place.

       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), gives you enough rope to hang yourself.

       Some starting points:

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

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

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

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

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

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

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

   What are the requisites of "Device::Modem"?
       You must have:

       •   A working computer with a standard RS-232 serial port

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

       •   A working Perl installation

       •   "Device::SerialPort"  module  installed if you are on some unix platform.  "Win32::SerialPort" module
           installed if you are on Win32 platform.

   Is it multi-platform?
       "Device::Modem" works close to the serial port communication layer, which varies on  many  platforms.  It
       relies on "Device::SerialPort" and "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 "Win32", "Linux", "Mac OS X", "FreeBSD", "NetBSD",  "OpenBSD",  "ARM-Linux"
       and "Solaris".

   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,  cosimo@cpan.org
       <mailto:cosimo@cpan.org>).  Thank you.

   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 me <mailto:cosimo@cpan.org> and provide the following
       information:

       •   Your operating system version and architecture.  Complete output of "perl -V"  command  is  good  for
           this.

       •   Your perl version.  Again "perl -V".

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

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

       Thank you.

   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.

   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, ZModem support has been contributed by a user, and will be added to the main release Soon(tm).

   Why I keep getting "can't open device: /dev/xxxxx at .../Modem.pm line 468" errors ?
       First of all, be sure to use 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+.

   Why I get the error "Can't call method "purge_all" on an undefined value at .../Modem.pm line 545" ?
       Again, 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 "/dev" folder).

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

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

   Can I make voice calls with this modem?
       No.  What you can do, is voice call 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.

   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...

   Can I make a [insert_your_preferred_number_here] euro donation to you for this fantastic module?
       Oh, yes!  Please feel free to contact cosimo@cpan.org to decide details about this... :-)

   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.

perl v5.30.3                                       2020-06-20                            Device::Modem::FAQ(3pm)