home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / comm / trms20.lha / Q&A < prev    next >
Text File  |  1993-07-05  |  16KB  |  313 lines

  1. Terminus 2.0 Q&A file
  2. ---------------------
  3. This file duplicates the question and answer appendix of the Terminus
  4. user manual for quick reference.
  5.  
  6.  
  7. DATA IS CORRUPTED, LIKE IT'S BEING LOST WHEN RECEIVING AT ANY BAUD RATE.
  8. ------------------------------------------------------------------------
  9.      The most likely cause of this would be due to a 3rd party serial
  10.      device driver that does not adhere to the prescribed way of operation
  11.      as outlined in Commodore reference material.
  12.  
  13.      To be specific, the driver is probably not handling the BeginIO()
  14.      function correctly.  Commodore states that this function can complete
  15.      an I/O operation synchronously if the IOF_QUICK bit was set when the
  16.      IO request was submitted to the device.  If the request was handled
  17.      immediately then the device is to return from BeginIO() with the
  18.      IOF_QUICK bit still set.
  19.  
  20.      Terminus uses this ability to prevent a situation where a temporary
  21.      deadlock can occur if two processes are accessing the same serial
  22.      device simultaneously.  Instead of using DoIO() which is a synchronous
  23.      function call, Terminus uses BeginIO() to read the contents of the
  24.      serial input buffer.  This prevents the deadlock since the function is
  25.      guaranteed to return immediately.
  26.  
  27.      The data loss problem occurs when the IOF_QUICK bit is reset when it
  28.      shouldn't be.  If this happens Terminus will abort the I/O request,
  29.      which effectively results in tossing away valid data.
  30.  
  31.      You can determine if this is the case, and use Terminus without fear
  32.      of data loss by employing the use of OwnDevUnit.library which is
  33.      included with the Terminus distribution.
  34.  
  35.      When OwnDevUnit is in effect Terminus uses the DoIO() function instead
  36.      of BeginIO() since the library prevents more than one program from
  37.      accessing the same device/unit simultaneously.
  38.  
  39.      Of course, any program that attempts to access the serial device
  40.      driver must do so via OwnDevUnit.library or a deadlock will occur.  To
  41.      free the deadlock you will need to toggle the power switch of your
  42.      modem so that noise data is generated which will satisfy the pending
  43.      read request that's causing the deadlock.  Once free you must exit the
  44.      program and correct your system to prevent this from happening again.
  45.           
  46.  
  47. FILE TRANSFERS ARE MUCH SLOWER THAN THOSE WITH OTHER PROGRAMS.
  48. --------------------------------------------------------------
  49.      There are several causes of this happening.  If one or more are
  50.      present, you will get very slow transfer rates as their effects are
  51.      cumulative.  Most of this discussion pertains to ZMODEM downloads,
  52.      which is by and large, the most common type of transfer performed with
  53.      Terminus.
  54.  
  55.      There are five options that standout above all others in terms of slow
  56.      file transfer performance.  One, {TRANSFER}{ESC CTRL CHAR}{T} effects
  57.      ZMODEM file transfers only, but tremendously.  DO NOT USE THIS OPTION
  58.      UNLESS YOU ABSOLUTELY NEED TO!!!
  59.  
  60.      The {GENERAL}{FILE SAVER}{V} option effects any type of download. 
  61.      What this causes Terminus to do is to close and then reopen the file
  62.      each time a disk write operation is performed.  By doing this, the
  63.      file is guaranteed to contain some data if a system crash occurs
  64.      during a file download.  What this also means is that the file
  65.      transfer is going to be slowed down significantly since there is
  66.      additional overhead needed to reopen and reposition the file pointer
  67.      each time an access occurs.  You have to determine if the throughput
  68.      penalty this option imposes is less of a factor then possibly losing a
  69.      file.
  70.  
  71.      The {GENERAL}{SLOW DISK I/O}{K} and {GENERAL}{512 BYTE DISK I/O}{5}
  72.      options should only be used if the file transfers gets errors whenever
  73.      a write to disk is performed.  Otherwise they should be OFF or a
  74.      slower transfer will result.
  75.  
  76.      Although not a severe, having XON/XOFF handshake active when starting
  77.      a ZMODEM file transfer will also slow it down somewhat.  The confusion
  78.      with XON/XOFF arises from the fact that Terminus does not deactivate
  79.      it when a ZMODEM transfer is initiated like most of the other Amiga
  80.      communications programs that are out there.  This is not correct
  81.      though because, unlike XMODEM technology protocols, ZMODEM is a full
  82.      streaming protocol designed for packet switched networks that may
  83.      overflow portions of a busy network without XON/XOFF handshake active
  84.      to regulate data flow.  
  85.  
  86.      The {GENERAL}{DISK SPACE CHECK}{D} option will slow down the beginning
  87.      of a file transfer due to Terminus performing a free space check
  88.      before proceeding with the transfer.
  89.  
  90.      The {GENERAL}{LOGFILE ACTIVE}{L} option will also slow down batch
  91.      transfers since a write to the logfile performed at the completion of
  92.      each file transferred.
  93.  
  94.  
  95. ERRORS OCCUR WHEN DOWNLOADING WITH AN ERROR CORRECTED MODEM.
  96. ------------------------------------------------------------
  97.      Since an error correcting modem is supposed to give you an error free
  98.      connection, any errors can only mean one thing; data is being lost
  99.      between the modem and computer.  The cause of this is due to the cpu
  100.      getting locked-out long enough for the most recently received data
  101.      byte to be overwritten by the next incoming byte.  Unfortunately, the
  102.      internal serial port does not buffer these bytes like some of the more
  103.      advanced UARTS (Universal Asynchronous Receive Transmit device)
  104.      available these days.  Thus, the cpu has a fairly critical "window of
  105.      opportunity" in order to successfully fetch data as it is received.
  106.  
  107.      The first thing to determine is when the error is occurring. 
  108.      Basically, there are two things to look for, random error loss or
  109.      errors that occur when a specific event happens in your system.
  110.  
  111.      If the error occurs only when something else happens there is a
  112.      conflict between that event and Terminus receiving data.  The most
  113.      noted occurrence is when data is written to disk.  If this is the case
  114.      you will want to try both the {GENERAL}{512 BYTE DISK I/O}{5} and
  115.      {GENERAL}{SLOW DISK I/O}{K} options to see if one or both cure the
  116.      problem.
  117.  
  118.      If the errors are random your system might simply be too loaded down
  119.      with the processing burden of other tasks running or by using an 8 or
  120.      16 color screen and/or severe overscan.
  121.      
  122.      You will need to inventory the task priorities of all resident
  123.      programs to see if one is running at too high a priority or if one is
  124.      always running, sometimes called a "cpu hog".  The program XOper is
  125.      quite effective in seeing if a task is of this nature.
  126.  
  127.      If that is not the cause then you will need to trim back the screen
  128.      colors and/or overscan to give the cpu more cycles for accessing the
  129.      chip ram bus.  
  130.  
  131.  
  132. WHERE'S THE YMODEM-batch PROTOCOL.
  133. ----------------------------------
  134.      YMODEM *is* a batch protocol, thus calling it "batch" would be
  135.      redundant.  There are really only two variations of TRUE YMODEM(tm). 
  136.      The first is YMODEM and the second is the YMODEM-g protocol for use
  137.      with reliable data connections, such as an error correcting modem.
  138.  
  139.      The trouble lies in the fact that some telecommunications software
  140.      authors took it upon themselves to implement only some of the features
  141.      of YMODEM and still call it YMODEM.  The most common variant being
  142.      what is now properly called XMODEM-1k.  Later, after realizing the
  143.      errors of their ways, they added YMODEM-batch, but called it that to
  144.      save face with their users.
  145.  
  146.      If the protocol that calls itself YMODEM does not send filename, size
  147.      and date information (Terminus will tell you this by "stepping down"
  148.      to XMODEM), it is really XMODEM-1k.
  149.  
  150.      There are some other versions that will send this information, but
  151.      will not support batch operation.  You can still use Terminus' YMODEM
  152.      in these instances too.
  153.  
  154.      Finally, there are some very old versions of YMODEM that you may run
  155.      into that cannot handle the 1024 byte block that is in widespread use
  156.      today.  This is the reason for the YMODEM and YMODEM-1k options in
  157.      {TRANSFER}{PROTOCOL}{P}.  In almost all cases, leave the 1k version
  158.      selected.  Only use the other for instances where the receiver must
  159.      have 128 byte blocks sent.
  160.  
  161.      Terminus has enough intelligence built-in to handle almost any of the
  162.      mutant versions of this protocol that you may run into.  If you do run
  163.      into an especially uncommon strain of this protocol, please report it
  164.      to the BBS so that it can be modified to deal with it in a future
  165.      release.
  166.  
  167.  
  168. WHY DOES TERMINUS SOMETIMES TAKE SO LONG TO ABORT A FILE TRANSFER?
  169. ------------------------------------------------------------------
  170.      Terminus tries very hard to prevent leftover data from an aborted file
  171.      transfer from splattering all over your display.  If the wait is
  172.      extraordinarily long you can click on {STATS}{ABORT}{A} a few times to
  173.      cause a hard abort to occur regardless of what data is left in the
  174.      pipe.
  175.  
  176.      Although ZMODEM transfers will generally abort faster, the XMODEM
  177.      technology protocols can take a good deal of time to abort.  The main
  178.      reason for this is that the receiver can only detect an abort sequence
  179.      at the start of a block.  It cannot determine this while receiving the
  180.      data portion of the block.  So, you may have to wait for as many as
  181.      1,028 bytes to be sent or received before it will begin the abort
  182.      sequence.
  183.  
  184.  
  185. ALL FILE TRANSFERS IMMEDIATELY ABORT WITH "Carrier not detected..."
  186. -------------------------------------------------------------------
  187.      Terminus will act this way if it does not see a carrier detect signal
  188.      (DCD) when it should be.  The two most likely causes for this
  189.      occurring would be a defective serial cable or modem.  Check the modem
  190.      manual to verify that your modem does have a functioning DCD signal
  191.      and that the serial cable passes this signal.  You will need to
  192.      activate {MODEM}{IGNORE CARRIER DETECT}{R} if you cannot get the modem
  193.      to control DCD.
  194.  
  195.  
  196. WHY DO DOWNLOADS SOMETIMES TAKE LONGER THAN UPLOADS TO THE SAME SYSTEM?
  197. -----------------------------------------------------------------------
  198.      This is not a problem.  It is simply that any download, regardless of
  199.      the protocol being used, is entirely dependent on the speed of the
  200.      sending system.  You can only receive a file as fast as it is being
  201.      sent to you.
  202.  
  203.  
  204. TERMINUS WILL NOT ENABLE CTS HANDSHAKE.
  205. ---------------------------------------
  206.      In order to use CTS/RTS handshake, your modem must have the DSR and
  207.      CTS signals active.  Check your manual so that you can set the modem
  208.      to always have DSR active and have CTS remain active (but not set high
  209.      permanently) when offline.
  210.  
  211.  
  212. THE ONLINE TIMER IS ALWAYS COUNTING, EVEN WHEN OFFLINE.
  213.  
  214.                          -and-
  215.  
  216. THE DIALER REFUSES TO DIAL, REPORTS: "Exiting, carrier present."
  217. ----------------------------------------------------------------
  218.      These two problems are due to the carrier detect signal (DCD) always
  219.      being active.  Check the manual to the modem for the proper command
  220.      and/or hardware switch in order to set the modem so that this signal
  221.      is only active when a carrier signal is present.
  222.  
  223.      If the modem (or cable) doesn't allow you to correct this problem, you
  224.      will have to disable the carrier detect logic in Terminus by setting
  225.      {MODEM}{IGNORE CARRIER DETECT}{R}.
  226.  
  227.  
  228. THE DIALER ALWAYS REMOVES AN ENTRY AFTER THREE DIAL ATTEMPTS.
  229. -------------------------------------------------------------
  230.      You modem must be able to RELIABLY detect a busy signal or it will
  231.      return a NO CARRIER response.  If three of these responses are
  232.      received for a selected entry the dialer will deselect it.
  233.  
  234.      If your modem does not detect busy signals, also known as "blind
  235.      dialing", or it is not reliably detecting them, you must activate
  236.      {MODEM}{IGNORE NO CARRIER}{G} to deactivate this feature of the
  237.      dialer.
  238.  
  239.  
  240. THE DIALER DOES NOT SET THE BAUD RATE TO THE RIGHT RATE.
  241. --------------------------------------------------------
  242.      If your modem is capable of dialing at one baud rate, but changing it
  243.      after sending the CONNECT response to the connected rate you will need
  244.      to activate {MODEM}{DIALER AUTOBAUD}{B}.  Most error correcting modems
  245.      need to operate at a fixed baud rate between the computer and modem,
  246.      so the modem should not allow a baud rate change to occur and the
  247.      {MODEM}{DIALER AUTOBAUD}{B} option should be disabled as well.  
  248.  
  249.      Another possibility is that your modem is not returning a recognizable
  250.      or correct extended CONNECT response so that Terminus can determine
  251.      which baud rate to use when auto-bauding. active while your modem is
  252.      not set (or capable) of returning extended result codes for the
  253.      "CONNECT" message.  
  254.  
  255.  
  256. THE MODEM SOMETIMES "MISSES" THE DIAL COMMAND SENT BY THE DIALER.
  257. -----------------------------------------------------------------
  258.      Some modems have trouble decoding an "AT" command sequence when the
  259.      characters are sent too fast.  Set the {MODEM}{PACING}{P} option to a
  260.      value that allows your modem to reliably receive the dial command.  
  261.  
  262.  
  263. MY MACROS ARE SENDING INCORRECT DATA WHEN USING THE IBM DOORWAY MODE.
  264. ---------------------------------------------------------------------
  265.      This is normal.  Function key macros are disabled during Doorway mode
  266.      due to Terminus emulating the hexadecimal scan key codes that are sent
  267.      whenever a key is pressed while this mode is active.  For this reason
  268.      you cannot have macros when using this mode.
  269.  
  270.  
  271. TERMINUS SOMETIMES REPORTS THAT IT COULDN'T OPEN A WINDOW.
  272. ----------------------------------------------------------
  273.      You're running Terminus on a system that has little free memory.  Use
  274.      a screen with less colors.
  275.  
  276.  
  277. THE DIALER IS EXITING AFTER A "RING" OR 3 "NO DIALTONE" MESSAGES.
  278. -----------------------------------------------------------------
  279.      This is normal operation for the dialer when using a modem on a
  280.      residential voice line.  But, if you're running a BBS system or have a
  281.      separate data/fax line, you might have a collision with an incoming
  282.      call while the dialer is attempted to dial out.  In order to eliminate
  283.      this there are a few things that you will have to do.
  284.  
  285.      The {MODEM}{RING}{I} response will have to be deleted in order to
  286.      disable that feature.  The "NO DIALTONE" feature of the dialer can't
  287.      really be disabled, but a work around has been developed that will
  288.      "fool" the dialer.
  289.  
  290.      Next, delete the string in {MODEM}{NO DIALTONE}{L}.  Now, change
  291.      {MODEM}{NO CARRIER}{A} to "NO DIALTONE".  Lastly, set {MODEM}{IGNORE
  292.      NO CARRIER}{R} option.
  293.  
  294.      What this accomplishes is that the dialer will treat the "NO DIALTONE"
  295.      response as if the modem was a dumb Hayes that was using blind
  296.      dialing.  Although an intelligent modem that has a call progression
  297.      feature can still return a "NO CARRIER" response if the modem times
  298.      out without the remote system picking up or if it fails to detect a
  299.      "BUSY" signal, {MODEM}{IGNORE NO CARRIER}{I} will prevent the dialer
  300.      from removing the phone entry from the selected list.
  301.  
  302.  
  303. TERMINUS HAS TROUBLE KEEPING UP WITH 16 COLOR ANSI.
  304. ---------------------------------------------------
  305.      If you're using an Amiga that only has "pseudo-fast" ram instead of
  306.      "true" fast ram, the cpu is going to be locked-out during display and
  307.      scroll functions.  An 8 color screen should help eliminate the slow
  308.      operation that occurs on systems with no true fast ram.
  309.  
  310.      True fast ram is different than ram expansion that resides at the
  311.      hexadecimal $C00000 address, such as the 512k A501 expansion for the
  312.      A500.
  313.