INTRODUÇÃO

Na década de 80, o normal era não se possuir um modem, pois era um item dispendicioso e de utilidade muito restrita; a velocidade era de 300bps. Aparelhos de fax eram analógicos e raríssimos , a forma de comunicação “rápida” entre empresas era o Telex, que necessitava de uma linha especial (não se comunicavam através da linha telefônica), não permitiam acentuação, caracteres minúsculos, etc. A velocidade de transmissão era de 50bps (com apenas 5 bits por caracteres ao invés dos 8 empregados normalmente). Um modem atualmente pode transmitir 500 caracteres no mesmo tempo que um Telex necessitava para enviar um único caracter.
Em 1990 poucas empresas e “micreiros” (normalmente engenheiros e técnicos em eletrônica.. possuíam um modem. Nessa época os modems possuíam uma velocidade de 1.200 bps e alguns poucos previlegiados  possuíam modems de 2.400 bps. A instalação era difícil, qualquer ruído  na linha telefônica gerava caracteres aleatórios na tela. Agora, passados apenas seis anos, os modems pelo mesmo custo são acima de dez vezes mais velozes (14.400 e 28.800 bps e possuem compressão de dados), se tornaram mais seguros pois possuem os protocolos de correção de erros e não costumam apresentar defeitos tão freqüentemente, chegando a oferecer garantia total de até 5 anos, enviam e recebem fax, e com os programas mais modernos são de fácil instalação (plug and play), etc.
 
 

   ÍNDICE

  I. MODEMS
 
    [1.0] O que é e como funciona um modem?
    [1.1] Quais as diferenças entre bps, baud, cps, etc?

    [2.0] O que é CCITT?  E ITU-T?

    [3.0] O que são Protocolos?
    [3.1] O que são os protocolos de modulação?
    [3.1.1] Quais são os protocolos de modulação?
    [3.1.2] Qual a diferença entre os protocolos V.Fast, V.34 e V.FC?
    [3.2] O que e quais são os protocolos de correção de erros?
          - V.42 e MNP 2-4
    [3.3] O que e quais são os protocolos de compressão de dados?
          - V.42bis e MNP 5
          - Diferenças entre V.42bis e MNP5
    [3.4] O que são modems RPI e por que são mal vistos?
          - Softwares que são RPI-compatibles
    [3.5] O que são protocolos de transferência de arquivos?
    [3.5.1] Quais são os protocolos de transferência mais comuns?
          - Xmodem
          - Xmodem-CRC
          - Xmodem-1k
          - Ymodem
          - Ymodem-G
          - Zmodem
          - ZedZap
          - Protocolos Bidirecionais
          - ASCII
          - Kermit
    [3.5.2] Quais são os melhores  e  os  piores  protocolos  de  transferência de arquivos?

    [4.0] O que são comandos?  Como usá-los?
          - O que é padrão Hayes?
          - ATD
          - ATZ
          - +++
          - ATA
          - Como fazer uma conexão de modems durante uma ligação VOZ?
 

II. CONFIGURAÇÃO

    [1.0] Velocidade serial x Velocidade modem (diferenças entre  DTE  e DCE).
     - Por que não  existe  a  opção  de  velocidade “14400” no meu programa de comunicação?  Ela pula de 9600 para 19200...
     - O que tem o V.42 e V.42bis a ver com isso?

    [2.0] O que é 8N1 e 7E1?
          - Qual usar?

    [3.0] O que é flow control (RTS/CTS - Xon/Xoff)?
          - Qual configuração usar?

    [4.0] O que são portas de comunicação e como configurar meu modem?

    [5.0] O que são terminais de comunicação?
          - Como funciona o terminal ANSI?
          - Que outros terminais existem?
          - Qual usar?

    [6.0] O que colocar no item Dial String?
          - ATDP ou ATDT
 

III. ESPECIFICO SOFTWARE

    [1.0] Quais softwares de  operação remota de microcomputadores existem e quais as diferenças entre eles?
          - Lap Link 6.0 for Windows
          - PC Anywhere for Windows
          - Doorway 2.22 for DOS
          - Carbon Copy 6.0 for DOS

    [2.0] Video  Texto

    [3.0] O que é FOSSIL?

IV. ESPECIFICO HARDWARE
 
    [1.0] O que é um chip UART?
          - 8250
          - 16450
          - 16550 (Não “A”)
          - 16550A, 16550AF e 16550AFN
          - Onde está esse chip em meu micro?
          - Por que eu precisaria de um UART 16550?
          - E o que tem UART 16550 a ver com Windows?  E com o OS/2?

    [2.0] Qual é a configuração ideal para  modems  USR  Sportster  14.4 kbps?

    [3.0] Qual  é  a  configuração  ideal para modems USR Sportster 28.8 kbps?

    [4.0] Quais as diferenças  entre  o  USR  Sportster V.34 e o Courier V.34?

    [5.0] Qual é a configuração ideal para modems Zoltrix NON-RPI?

    [6.0] Existem  comandos  que  são  bons  de  se  usar  em   qualquer configuração?  Quais?

    [7.0] O que é Caller-ID?  O que é BINA?  O que relaciona ambos?

    [8.0] O que é resposta adaptativa?

    [9,0] Modem interno ou externo?

    [10.0] Por que não consigo conexões a 9600 bps com meu modem que diz ser 2400/9600 bps?
 

V. TENDÊNCIAS FUTURAS

   [1.0] WebTV
   [1.1] Como funciona?

   [2.0] Cable Modem

   [3.0] Network Computers

   [4.0] Modem Celular

   [5.0] O Modem de 56 kbps
   [5.1] Caminhos assimétricos
   [5.2] Problemas de controle de fluxo
   [5.3] Problemas de instalação
 
 
I. MODEMS

Essa parte apresenta os tópicos básicos  que  devem  ser  conhecidos sobre  como funcionam os modems e o jargão técnico que é usado nesse contexto.
Ela apresenta os seguintes temas:

    1.0  Funcionamento de um modem
    1.1  Conceitos de velocidade (bps, baud, cps)

    2.0  CCITT e ITU-T

    3.0  Protocolos
          3.1  Protocolos de modulação
          3.2  Protocolos de correção de erros
          3.3  Protocolos de compressão de dados
          3.4  Modems RPI
          3.5  Protocolos de transferência de arquivos

    4.0  Comandos Hayes
 
 
 I.[1.0] O que é e como funciona um modem?

Sabemos que um modem está ligado à linha telefônica e ao computador.  Sabemos também que ele serve para  fazer a comunicação entre o micro e um outro micro através  da  linha  telefônica.
Surge  então  a  questão,  por que um computador não pode transmitir dados diretamente pela linha telefônica para outro computador.  Para que é necessário o modem?
 
 - O telefone
Vejamos como funciona um telefone comum:
O microfone do bocal converte as ondas de som que vem de sua boca em sinais elétricos.  Do outro lado,  o  alto falante no fone de ouvido converte  novamente  esses  sinais  elétricos  em ondas sonoras.  Os sinais  elétricos  trafegam  pela   linha  telefônica  por  meio  de oscilações de voltagem, podendo assim representar as  ondas  sonoras em  sua  freqüencia e altura (amplitude).  Esses sinais são chamados de ANALOGICOS, pois são  uma  analogia  elétrica  do som de sua voz.  Pela linha telefônica somente este tipo de sinal pode trafegar.

- O computador e a porta serial
  Já o computador se comunica com seus periféricos por meio de bits  e bytes.   Um  bit  é  a  menor  unidade  computacional, e aceita dois valores, ZERO ou  UM.   Um  conjunto  de  oito  bits  forma um BYTE.  Através das portas  SERIAIS  (COMx,  normalmente usadas para mouses, modems) o micro se comunica bit a bit com o  periférico,  e  através das  portas  PARALELAS  (LPTx, normalmente usadas para impressoras), byte a byte.
Uma porta serial utiliza  sinais elétricos.  São voltagens positivas e negativas (normalmente +12V e  -12V)  para  representar o zero e o um.  Alternando as voltagens, ela pode se comunicar com  periféricos externos bit a bit.
Este  sinal  é  um sinal DIGITAL, com o qual o computador tem grande facilidade de trabalhar.

- Os modems
Os  modelos  de  modems  mais  antigos fazem o seguinte: Transformam essas voltagens positivas  e  negativas  que  vêm  do  micro em tons audíveis.   Uma  voltagem  negativa  (representando  um  bit  1)   é convertida  em  um  tom  de determinado pitch; uma voltagem positiva (representando um bit 0) em  um  tom  de  pitch um pouco mais baixo.  Esses sons são  transmitidos  pela  linha  telefônica da mesma forma como  a  voz.   O  modem  receptor  por  sua vez converte esses sons em sinais digitais e os tranfere para o micro, que os interpreta.
     Desse processo vem a palavra  MODEM,  que  é  a sigla de MOdulador / DEModulador.   Um  lado  modula  os  sinais   digitais   em   sinais analógicos,  enquanto  o outro lado demodula esses sinais analógicos novamente para sinais digitais.

  - A modulação
     Na verdade o termo MODULAÇAO  envolve  bem mais do que somente isso.  O uso de dois tons visto acima é chamado de modulação FSK.  Com ele, se tem o limite de 300 bits por segundo numa transmissão de dados.
     Modems atuais usam mais do  que  os  dois  “estados”  possíveis  (no exemplo  anterior,  cada  tom representa um “estado”).  Esses modems mais avançados podem combinar estados (como por exemplo a amplitude) com mudança de  estados  (por  exemplo  a  mudança  de fase) afim de representar grupos de dois, três, quatro ou mesmo mais bits.
 

I.[1.1] Quais as diferenças entre bps, baud, cps, etc?

     O BAUD é  uma  unidade  de  medida  representando  a  quantidade  de mudanças de fase por segundo que podem acontecer (por  exemplo  numa linha  telefônica).  As conexões de telefone atuais podem ser usadas de maneira confiável afim de transmitir  um sinal que muda de estado até 2400 vezes por segundo.  Tal conexão está operando a uma taxa de 2400 bauds.
     Mas com técnicas de modulação mais complexas, podemos não ter apenas dois estados, mas sim muitos estados.  Com oito estados  diferentes, podemos  usar  cada  estado  para  representar  um  dos  oito grupos possíveis de três bits (000,  001,  010,  011, 100, 101, 110 e 111).  Dessa forma, em uma taxa de sinalização de 1600 bauds (por exemplo), é possível transmitir 4800 bits  por  segundo  (bps).   Modems  mais rápidos  e  mais  comuns  hoje  em  dia  usam  64 estados, que podem representar  todos  os  valores  possíveis de um grupo de seis bits.  Assim, a 2400  bauds,  podem  ser  transferidos  até  14400 bits por segundo (2400 bauds x 6 bits = 14400 bps).
     A diferença entre BAUD e BPS se torna evidente.  BAUD é a unidade de um valor que alcança no máximo algo  em  torno  de  3000  em  linhas telefônicas comuns no Brasil.  BPS (bits por segundo) é a velocidade real do modem  nessa  linha  telefônica,  sendo  que  os modems mais velozes hoje em  dia  podem  transmitir  até  28800  bps  (bits  por segundo).  Mas para conseguir esses 28800 bps, é necessária uma taxa de sinalização de aproximadamente 3200  bauds.   Como este é quase o topo máximo que nossas  linhas  telefônicas alcançam, é possível que mesmo tendo um modem 28800 bps não se alcance essa  velocidade,  mas sim alguma velocidade inferior (26400 bps, 24000 bps ou 21600 bps).
     O  último  termo  que  ainda não foi abordado é o de CPS.  Significa “caracteres  por  segundo” e poderia ser chamado também de “byte por segundo”.  Esse último termo não  é  muito usado, pois a sigla deste seria igualmente BPS, confundindo ela com o “bit por segundo”.
     Um byte  possui  normalmente  8  bits.   Em  transmissões pela porta serial, são necessários dois bits adicionais, o START e o STOP  bit, totalizando  10  bits.   Assim  sendo, numa conexão a 14400 bits por segundo,  são  transmitidos  1440   cps  (caracteres  por  segundo).  Veremos mais adiante porque esse valor normalmente é ainda maior.
     1440 caracteres por segundo é uma velocidade bastante  considerável.  Uma  pessoa com dotes de digitação médios consegue digitar no máximo a uns 10 caracteres por segundo, quando muito.
    Essa taxa é comumente apresentada em telas de DOWNLOAD e UPLOADS  de programas  de  comunicação,  informando  assim  quantos  BYTES estão chegando ou saindo por segundo.
 

I.[2.0] O que é CCITT?  E ITU-T?

     Vimos que em modems de alta  velocidade (como são chamados os modems a partir com velocidades de  9600  bps  e  acima)  em  um  baud  são modulados  mais  de  um  bit.   Agora  a  forma  como esses bits são modulados,  precisou  de  alguma  forma  ser  padronizado.   Se  não houvesse essa padronização, um  modem  não  entenderia o que o outro estivesse falando, ou seja, um não consegueria demodular o que outro modulou.
     Quem fez grande parte dessa padronização foi um orgão chamado CCITT, sigla   para   Comite   Consultivo  Internacional  de  Telegrafia  e Telefonia.   Este  comite  definiu  uma  séria  de  padrões  para  a telecomunicação, que são os padrões  chamados  de  V.xx, onde xx é o número da padronização.
     Desde o começo do ano  de  1994  o  CCITT  não existe mais.  Ele foi substituido ITU-T (International Telephone Union - Setor pra padrões na telefonia), órgão  pertencente  à  ONU  (Organização  das  Nações Unidas).
     As atividades da ITU incluem a regularização, padronização,  coordenação  e  desenvolvimento da telecomunicação internacional.  A ITU é basicamente organizada em  3  setores  que  refletem suas atividades principais (Padronização, Radiocomunicação  e  Desenvolvimento).   O que  importa  para  usuários  de modems é o Setor de Padronização da Telecomunicação (ITU-T).  Essa agência cria entre outros as recomendações de padrões para a comunicação de dados.
     Com essa padronização, que tem  âmbito e validade MUNDIAL, os modems fabricados  pelos  mais  diversos  fabricantes  passam  a  poder  se comunicar entre si sem maiores dificuldades, já que “falam” a  mesma “língua”.
     Existem  ainda  outros  padrões  que  não foram definidos pela CCITT (hoje  ITU-T).   São  por exemplo os padrões Bell, definidos por uma companhia telefônica  americana  (Bell),  ou  o  protocolo HST (High Speed Technology) criado pela USRobotics (nesse caso, só pode  haver conexão  de  um  modem com esse protocolo com outro que também tenha esse protocolo, no caso, um outro USRobotics HST).  Esses protocolos não têm validade mundial, e portanto não são encontrados em todos os modems.  São os chamados protocolos proprietários.
     Além desses protocolos  que  definem  a  modulação  para as diversas velocidades,  existem  outros  tipos  de  protocolos  da  ITU-T  que interessam  ao  universo  dos  modems, conforme veremos mais adiante (I.[3.2] e I.[3.3]).
     Outros protocolos que não são  padrões  mundiais (da ITU-T), mas sim proprietários  (criados  por  uma  determinada  empresa)   eram   os protocolos MNP.  Mas esses protocolos entraram em domínio público (a especificação do protocolo se tornou propriedade pública) e hoje são encontrados na maioria dos modems de alta velocidade.
 

I.[3.0] O que são Protocolos?

     Hoje  em  dia  os  modems  não  só  são  mais rápido como também são repletos de novos aspectos, como  controle  de erros e compressão de dados.  De repente, você é confrontado com todas essas siglas: V.32, V.32bis, V.42, V.42bis, MNP5, LAP-M, etc.  O que cada uma significa?  O que que cada uma significa para você?
     Para tirar o máximo de proveito de um modem de alta velocidade  você precisa   entender  três  diferentes  tipos  de  protocolos  e  suas relações.  São eles:
    - Protocolos de modulação
    - Protocolos de controle e correção de erros
    - Protocolos de compressão de dados
 

I.[3.1] O que são os protocolos de modulação?

     As  técnicas  específicas  para  modular  os bits digitais em sinais analógicos são  chamadas  de  protocolos  de  modulação.   Os vários protocolos de modulação definem o método exato dessa codificação e a velocidade da transferência resultante.  Na realidade, você não pode ter  um  modem  sem  protocolo  de  modulação.  Um modem normalmente suporta mais de um protocolo de modulação.
     A  velocidade  crua  (sem  compressão   de  dados)  de  um  modem  é determinada pelo protocolo de modulação.   Este  é  negociado  entre dois  modems  na  hora  da  conexão  por  envio e recepção de sinais característicos  (os  famosos “beeeb-bbeebeebe-beebe” que se ouve na hora da conexão).  Modems de alta velocidade são modems que suportam protocolos de modulação de 9600 bps ou acima (bps é a abreviatura de “bits por segundo”, ou seja, quantos bits podem ser transferidos por segundo.
 

I.[3.1.1] Quais são os protocolos de modulação?
 
- até 2400 bps
     Um  modem  de 2400 bps compatível com o Hayes normalmente suporta os seguintes protocolos de modulação:
        Bell 103               (padrão americano para 300 bps)
        Bell 212A             (padrão americano para 1200 bps)
        ITU-T V.22          (padrão mundial para 1200 bps)
        ITU-T V.22bis     (padrão mundial para 2400 bps)

    Alguns modems de 2400 bps também suportam os seguintes protocolos:
        ITU-T V.21          (padrão mundial para 300 bps)
        ITU-T V.23          (padrão europeu para 1200/75  e  75/1200  bps.
                                     Esse  padrão  é  usado também pelo sistema de Video Texto no Brasil)

   - acima de 2400 bps
     Existem  hoje  três protocolos de modulação que são padrões mundiais para modems de  alta  velocidade:  V.32,  V.32bis  e  V.34.  Os dois primeiros foram estabelecidos pela antiga CCITT e o último  já  pela ITU-T.

   - V.32
     Esse  é  o  padrão  para  modems de 9600 bps (e 4800 bps).  V.32 foi adotado como padrão pela CCITT  em  1984.   Mas o mercado para esses modems demorou um pouco para crescer.  Um modem  com  V.32  custava por  volta  de  US$ 2000 no ano de 1988.  Atualmente modems até esse protocolo  (que  não   tenham   nenhum  protocolo  para  velocidades superiores) estão praticamente obsoletos e não  existem  em  grandes quantidades   no   mercado.   Nessa  época  surgiram  alguns  outros protocolos que não eram padrão  mundial, mas proprietários de certas empresas fabricantes de modems, como  a  USRobotics,  a  Telebit,  a Hayes  e  CompuCom,  que  criaram  os  modems  com  o  chamado “dual standard” (padrão duplo) que suportavam  tanto  o V.32 e seu próprio padrão.

   - V.32bis
     V.32bis, estabelecido no começo de 1991 é o  padrão  da  ITU-T  para modems  a  14400 bps.  Um modem com V.32bis possui também capacidade de conectar a velocidades menores (“fall back”): 12000, 9600, 7200 e 4800 bps.  No V.32bis está incluso o V.32.
     Diferente  da  época  dos modems de 2400 bps onde um só protocolo de modulação (V.22bis)  era  suportado  por  todos  os  fabricantes  de modems,  na época do V.32bis surgiram vários protocolos de modulação proprietários (não aprovados pela  ITU-T) criados por fabricantes de modems.  Os melhores exemplos são os protocolos HST da USRobotics  e o PEP da Telebit.

  - V.34
    Atualmente o protocolo de modulação mais veloz para modems.  Suporta conexões  de  até  28800  bps,  com  um “fall back” inteligente para velocidades inferiores, caso a linha não tenha condições de agüentar a alta velocidade de  28800  bps:  26400,  24000, 21600 e 19200 bps.  Possui  um  método  de  negociação  inteligente,  que  se  adapta  à qualidade e condição da linha telefônica.
 

I.[3.1.2] Qual a diferença entre os protocolos V.FAST, V.34 e V.FC?

- V.FAST
     V.FAST foi o “codinome” dado ao protocolo para  comunicação  a  28.8 kbps (kbps significa kilobits por segundo) antes dele ser discutido e aprovado pela ITU-T.   Ou  seja,  até  junho  de 1994 falava-se do protocolo V.FAST, em desenvolvimento, até aparecer o nome definitivo para o mesmo, que seria V.34.  Ou seja, um é nome  do  protocolo  na fase  de desenvolvimento, não ainda o nome oficial.  Muitos chamaram o V.FAST também de  V.LAST,  pois  diziam  que as linhas telefônicas comuns não agüentariam mais  que  isso,  por  isso  seria  o  último (=LAST) dessa geração.

   - V.FC
     Existe ainda o V.FC, protocolo que o fabricante de chips para modems Rockwell criou antes do V.34 ser  regularizado  pela  ITU-T.   É  um protocolo   proprietário  (não  é  padrão  mundial  da  ITU-T)  para comunicação a 28.8 kbps e  que  teve muitos seguidores.  Era a época de desenvolvimento do V.34 (final de 1993) e a Rockwell achou que  a outorgação  do  mesmo  estava  demorando  muito.  Até a USRobotics a seguiu e o implementou em seus modems.

   - Desenvolvimento até o V.34
     Até setembro de 1994 o padrão para  28.8  kbps  era  praticamente  o V.FC,  pois  o  V.34  ainda  não  estava totalmente regularizado (já estava aprovado  pela  ITU-T,  mas  ainda  devia  ser aprovado pelos países membros da ITU por votação).  Muitos fabricantes de modems de 28.8 kbps com  o  V.FC  prometeram  um  upgrade (atualização) para o padrão V.34 quando este estivesse  regularizado.   Alguns  exigiriam troca de hardware, outros upgrade via software.
     Assim em setembro de 1994  o  padrão V.34 foi finalmente aprovado em definitivo, e começou a ser fabricado e usado mundialmente.
     Hoje  em  dia um modem 28.8 kbps que não tenha o protocolo V.34 está praticamente obsoleto.  Existem modems com os dois protocolos V.34 e V.FC (caso do  USR  Courier  28.8  kbps  dual  standart), mas o V.FC certamente cairá em desuso.
 

I.[3.2] O que e quais são os protocolos de correção de erros?
              (V.42 e MNP 2-4)

Em transmissões a altas velocidades, não  é  raro  que  as  chamadas “sujeiras  na linha” atrapalhem aconexão.  Essas sujeiras nada mais são do que conexões telefônicas “sujas”,  que evitam que o mesmo som que um modem produziu seja recebido pelo outro, ou  seja,  quando  o lado  que  recebe for demodular o que chegou, não será o que o outro lado transmitiu,  o  que  é  demonstrado  na  conexão  com a chamada “sujeira na tela”.  Em modems de baixa  velocidade  a  tolerância para  sujeiras  é  maior,  mas  em alta velocidade, é necessária uma precisão muito maior para resultados adequados.
E é  por  isso  que  foram  desenvolvidos  protocolos  que cuidam de monitorar a transferência de dados e que conseguem filtrar fora essa sujeira, que se manifesta na conexão com  caracteres  aleatórios  na tela.
Os  protocolos  V.42  e MNP 2-4 cuidam da linha telefônica filtrando essas sujeiras.  Quando dois  modems estabelecerem conexão usando um protocolo  de  correção  de  erros,  a  conexão  se  dará  de  forma totalmente limpa, sem erros na tela.  Note que a  sujeira  na  linha continua presente, só que não transparece na conexão (na tela).
O processo de filtro  usado  pelo  V.42  e  MNP  2-4 é um esquema de correção de erros baseado em algoritmos sofisticados  para  garantir que  os dados que chegam são os mesmos que foram enviados pelo outro lado.  Caso os dados não  correspondam,  o bloco é reenviado.  É por isso  que algumas vezes a conexão a altas velocidades é interrompida brevemente: É a correção de erros em ação.
O protocolo V.42 utiliza o LAP-M (Link Access Procedure for  Modems) como  esquema  primário  de  correção de erros e inclui o MNP 4 como esquema secundário.  Um modem com V.42 automaticamente possui MNP 4, e é capaz de conectar com um modem dos dois tipos.
É  portanto altamente recomendado deixar a correção de erros ativada durante  uma  conexão.
 

I.[3.3] O que e quais são os protocolos de compressão de dados?

   - V.42bis e MNP5
     Estes protocolos permitem uma compactação de dados antes do envio, e a descompactação do outro lado, tudo “on-the-fly”, ou seja, ao mesmo tempo em que está sendo enviado.
     A utilização ou não desses protocolos é negociado na hora da conexão e estes permanecem válidos até a posterior desconexão.
     Com o protocolo V.42bis pode-se  atingir  uma compactação de até 4:1 (4 para 1) se  o  arquivo  transmitido  for  altamente  compactável.  Neste caso, a taxa de transferência em modems 14400 bps passaria dos normais  1440  cps  para  até  5760 cps.
     Como  arquivos  altamemte  compactáveis  entendem-se arquivos-texto, planilhas, executáveis (não compactados), bancos de dados, etc.

   - Diferenças entre V.42bis e MNP5
     Mas  o  que acontece quando se transmite algum arquivo que já esteja compactado?  Um protocolo que tem que atuar “on-the-fly” logicamente não conseguirá comprimir este arquivo mais ainda.  Aí está a  grande diferença  entre  MNP5  e  V.42bis: No MNP5, ele não percebe nada, e tenta compactar mesmo assim, fazendo com que a transmissão seja mais lenta do que o normal.  Com  o  V.42bis, ele percebe que os dados já estão compactados, e se auto-desativa.  Com isso não se  perde  nada em performance.

I.[3.4] O que são modems RPI e por que são mal vistos?

     Normalmente os protocolos  V.42  e  V.42bis  (correção  de  erros  e compressão  de  dados)  são  implementados  via HARDWARE, ou seja, o próprio modem se encarrega disso.
     Mas existem certas marcas de modems onde isso não é o caso.   Quando você compra esse tipo de modem, pode pensar que ele possue o V.42  e o V.42bis, o que normalmente é informado na caixa, mas não repara no escrito “RPI MODEM”, “RPI COMPILANT” ou algo parecido.
     RPI  é  a  sigla  de  “Rockwell  Protocol  Interface”  e basicamente significa  que  o modem depende de que a correção e compressão sejam feitos por algum software padrão RPI.
     Esses modems normalmente vem  com  os seus softwares de comunicação, que são justamente padrão RPI e que  são  capazes  de  ativar  esses protocolos e os usar.  Mas  assim  que se deseje utilizar outro tipo de programa de comunicação, não mais  se  pode  utilizar  o  V.42  e V.42bis do modem, pois a maioria deles não traz suporte para RPI.
     A diferença básica de um modem RPI para um não-RPI reside no fato de ONDE o software dos protocolos V.42 e V.42bis  são  executados.   No caso  dos  modems  não-RPI, isto é feito pelo próprio modem, no caso dos modems RPI, isso deve ser feito pela CPU do computador.
     Assim, além da  desvantagem  de  falta  de programas de comunicação, tem-se ainda o fato de estar se gastando ciclos do processamento  do micro para a correção de erros, o que pode ser fatal em  plataformas de multi-tasking.

 
I.[3.5] O que são protocolos de transferência de arquivos?

     Os modems que se comunicam entre  sí podem apenas passar BYTES de um lado  para  o  outro.  Eles não têm noção sobre arquivos, etc.  Para que se possa transferir um  arquivo, você deve utilizar um protocolo de transferência de arquivos.
     Um  protocolo desse tipo é o que define como os bytes serão enviados e interpretados pelo outro lado  para formarem um arquivo exatamente do mesmo tamanho e conteúdo do existente no lado que o enviou.
     Um protocolo de transferência define a quantidade de bytes que serão enviados em cada BLOCO,  como  serão  tratados erros de transmissão, como um erro é detectado e como o mesmo é corrigido,  como  um  lado fica  sabendo  o  nome  do  arquivo  que  está sendo enviado, como é informada a conclusão  da  transferência,  quantidade  de arquivos a serem transmitidos, etc.
     Um BLOCO é uma sucessão de bytes que são  transmitidos  sem  pausas.  Os blocos de transferência em protocolos de transmissão podem variar de 96 a 8192 bytes (8 kb).  A cada final de bloco são enviados bytes de controle, que podem servir simplesmente para delimitar os blocos, como também para controle e correção de erro.
     Existem muitos protocolos de transferência de arquivos à disposição, alguns são mais rápidos, outros mais  confiáveis,  alguns  com  mais recursos, outros com menos.  O que importa é que para se utilizar um protocolo  de  transferência de arquivos, da mesma forma que para os protocolos de modulação,  ambos  os  lados  precisam  ter este mesmo protocolo à disposição.
 

I.[3.5.1] Quais protocolos de transferência existem?

     Os protocolos mais comuns  que  são  apresentados  em  programas  de comunicação  são os famosos: Xmodem, Ymodem e Zmodem.  Existem ainda outros, que veremos mais tarde nessa mesma sessão.

   - Xmodem
     O  protocolo  Xmodem  original  foi  desenvolvido  em  1977  por  um programador chamado Ward Christensen.  Através dele, os arquivos são transmitidos em blocos de 128  bytes,  aos quais sempre é adicionado um byte de controle para verificação de  erros.   Esse  byte  extra, chamado  de SOMA DE VERIFICAÇAO, é composto pelos oito bits de ordem inferior da soma dos 128  bytes.   Assim o software receptor calcula igualmente essa soma dos bytes que chegaram e compara com a soma  da verificação.   Se  a  soma  for  outra,  o  receptor  requesita  uma retransmissão do bloco.

   - Xmodem-CRC
     O protocolo  Xmodem-CRC  substituiu  a  verificação  de  soma por um esquema  chamado  de  verificação de redundância cíclica (CRC).  Ela tem a mesma finalidade que a  soma  de  verificação,  porém  é  mais confiável.

   - Xmodem-1k
     Com os modems de alta velocidade, os blocos de 128 bytes se tornaram muito pequenos.  Com isso surgiu o protocolo Xmodem usando blocos de 1024 bytes (1 kbyte).
     Algumas  vezes,  o  Xmodem-1k  é  também chamado de Ymodem.  No caso disso ocorrer, o Ymodem real é chamado de Ymodem-Batch.

   - Ymodem
     Basicamente  ele é a mesma coisa que o protocolo Xmodem, com algumas diferenças: Se a  houver  muita  sujeira  na  linha,  ele é capaz de comutar automaticamente de blocos de 1024 para blocos de 128  bytes.  Em  blocos  menores,  é  menos  provável  que  ocorra algum erro e a verificação é mais efetiva.
     Além disso, os protocolos Ymodem  utilizam  um  bloco  de  cabeçalho especial no início  da  transferência,  contendo  o nome do arquivo, simplificando a tarefa da transferência de arquivos em forma BATCH.
     Tranferência  batch  significa  nada mais do que transferir diversos arquivos um  atrás  do  outro,  numa  mesma  sessão  do protocolo de transferência.
     Muitas vezes o Ymodem é também chamado de Ymodem-Batch.

   - Ymodem-G
     Variante do Ymodem que simplesmente não realiza correção de erros na transmissão dos arquivos.  Ele confia  na  qualidade  da  linha,  ou então  ele confia na correção de erros do seu modem, transmitindo os dados  seqüencialmente  sem  parar.   Quando  ocorrer  um  erro  ele imediatamente aborta a operação.

   - Zmodem
     É  o  protocolo  mais  usado  atualmente.   Apresenta basicamente os recursos do Ymodem-Batch, com uma performance maior ainda, blocos de 1024 bytes, transferência batch,  e  além  disso  o recursos de CRASH RECOVERY, que possibilita que transferências abortadas no meio possam ser prosseguidas mais tarde, a partir  do local onde se parou da vez anterior.
     Até os programas  de  comunicação  mais  simples devem suportar esse protocolo, pois é o mais normal de se usar.

   - ZedZap
     O  mesmo protocolo Zmodem, com a diferença deste usar blocos de 8192 bytes ao invés dos habituais 1024.
     Ele não está disponível em  todos  os programas de comunicação.  Ele se encontra por exemplo no Terminate.

- Protocolos Bidirecionais
     Os protocolos abordados até agora só servem para transmitir  em  UMA direção.   Acontece  que numa conexão normal de modems, existem DOIS canais  de transferência, como visto na figura da sessão [1.0].  Numa transferência  unilateral,  um  dos  canais  fica  sem uso ou é usado somente  para  efeito  de  correção  de  erros.   Por  isso surgiram protocolos BIDIRECIONAIS, que são  capazes  de  transmitir  arquivos para ambos os lados ao mesmo tempo, sem perda de performance.
     Exemplos  são  o HSLINK, Bimodem e o Hydracomm.

   - ASCII
     O  protocolo  ASCII  é  um  protocolo de transferência em 7 bits que fazem os 128 primeiros  caracteres  da tabela ASCII.  Esse protocolo não possui controle e correção de  erros  e  usa  o  XON/XOFF  (veja depois) para  controle  de  transmissão.   Assim  sendo,  o XON/XOFF precisa estar ligado neste caso.  Quando o computador que receber os dados  precisa  parar  a  transmissão  temporariamente, ele envia um CTRL-S (ASCII #17) para  parar  o  envio.  Quando ele estiver pronto para voltar a receber  dados,  envia  um  CTRL-Q  (ASCII  #19)  para continuar a transmissão.
     Esse protocolo não deve ser usado praticamente nunca, só para enviar ou receber rapidamente textos que aparecerem no terminal.

   - Kermit
     Kermit  é um protocolo que é usado extensivamente na Internet.  É um protocolo um tanto antigo, que possui uma vasta gama de  opções  mas que normalmente não tem boa performance.
     Ele  usa tamanhos de pacotes variáveis, com um máximo de 1024 bytes.
     Como o Ymodem, traz suporte para transferências batch.
 

I.[3.5.2] Quais são os melhores  e os piores protocolos de transferência de arquivos?

     Em casos normais você deve usar o protocolo Zmodem.  Ele é  adequado tanto para modems de alta velocidade quanto para modems sem correção de erros.
     Mas  é um fato que o Ymodem-G é mais rápido que o Zmodem normal.  Só deve ser usado se seu modem  faz correção de erros.  Veja porque ele é mais rápido:
     O Zmodem manda blocos de 1024  bytes por vez.  Após mandar um bloco, ele ainda precisa fazer a comparação com o  CRC  do  bloco  que  foi enviado com o que chegou.  Com isso, além  do  bloco  em  si,  estão sendo mandados bytes de frames (que indicam o começo e fim do bloco) e blocos CRCs para correção de erros.
     O  Ymodem-G  não  faz  correção  de erros.  Por isso ele não precisa mandar os blocos CRC após  cada  bloco, o tornando ligeiramente mais rápido.
Se  o  seu  modem  possuir  correção  de erros, você pode utilizar o Ymodem-G para maior velocidade (a  diferença é mínima).  O que então ocorre é que falta o recurso utilíssimo de  crash  recovery  a  ele.  Assim  sendo,  se  uma transmissão com o Ymodem-G for abortada, para continuar da posição onde se parou, deve-se utilizar o Zmodem.
Uma outra opção é o ZedZap.  Enviando blocos de 8192 bytes  de  cada vez, os frames e correção de erros são feitos para os blocos como um todo,  assim são menos dados adicionais que precisam ser enviados na transferência de um arquivo.  Acontece que se ocorrer alguma falha na transmissão de um  bloco,  mesmo  que  já  tenham chegado 8000 bytes corretos,  o  bloco  inteiro  precisa  ser  remandado,  tornando   a transferência ainda mais demorada do que com o Zmodem (onde no máximo 1024  bytes  precisam ser reenviados).  Se um modem possuir correção de  erros  e  ambos  os  lados  tiverem  o ZedZap à disposição, este protocolo pode ser o  indicado.   Para  modems SEM correção de erros (os de 2400 bps, por exemplo), nunca se deve  tentar  utilizar  esse protocolo.
Resumindo, os protocolos que  devem  ter  chances  de  serem  usados atualmente  são  o  Zmodem,  ZedZap  (Zmodem 8Kb) e o Ymodem-G.
Se você possuir um modem com correção de erros confiável (você NUNCA vê sujeira  na  tela),  use  o  protocolo  ZedZap  se  necessitar de velocidade e do recurso de crash recovery ou o protocolo Ymodem-G se necessitar de velocidade e não de crash recovery.
 

I.[4.0] O que são comandos?  Como usá-los?

     Para você se comunicar com o modem e dar-lhe instruções,  você  deve usar  os  chamados  COMANDOS AT.  Comandos são certas instruções que podem ser passados para o modem.  Ele os interpretará  retornando  a informação requisitada, ou a  confirmação  de correto recebimento do comando ou de erro na sintaxe do mesmo (“OK” ou “ERROR”).
 
- O que é padrão Hayes?
     Os comandos que podem ser usados  nos  modems variam de acordo com o modelo e fabricante, mas normalmente seguem o chamado PADRAO  HAYES.  Hayes é uma empresa fabricante de modems que se tornou conhecida por ter modelos de modems que chegaram como pioneiros no grande mercado, os  modems  Hayes  Smartmodem  1200 e 2400.  Nestes usavam-se certos comandos, e eles se  tornaram  quase  que  um  padrão para os modems futuros que viriam.

   - Como enviar comandos ao modem?
     Os  comandos  podem ser enviados ao modem, através de um programa de comunicação, de um modo manual  ou  transparente ao usuário (sem que ele precise digitá-los).
     No  primeiro  caso,  para  enviar comandos manualmente para o modem, deve-se estar em algum meio onde se esteja em direta comunicação com ele.   É  o  caso  dos   TERMINAIS  dos  programas  de  comunicação.  Normalmente são  telas  vazias,  com  o  cursor  piscando  no  canto superior  esquerdo.   Qualquer  coisa  digitada  ali  será enviada e interpretada diretamente  pelo  modem.   Experimente  digitar “AT” + <ENTER>.  O modem deve responder “OK”, se ele  estiver  preparado  e operante.
     No  segundo  caso,  os  comandos  são  enviados  através  de  opções existentes  no  programa de comunicação, como por exemplo através da init string, dial string, etc.
     Normalmente  programas  de  comunicação  oferecem  uma  configuração chamada  INIT  STRING (= seqüência de inicialização).  Ali devem ser colocados comandos que devem ser enviados  ao  modem  assim  que  se entrar no programa de comunicação, é uma forma de configurar o modem e prepará-lo para as conexões subseqüentes.
     Outras  configurações  de programas de comunicação que fazem uso dos comandos do modem  normalmente  são  o  DIAL  STRING (= comando para discagem) e HANGUP STRING (= comando para desconectar o modem de uma ligação).

   - Quais são os comandos mais comuns?
     “AT”  é  o  principal  comando   que   deve  ser  enviado  ao  modem praticamente sempre antes de um outro comando.  Serve para chamar  a atenção  do  modem,  informando-o  que  o  que  vem  a  seguir é uma seqüência de comandos que ele deve interpretar.
     Os manuais dos  modems  normalmente  trazem  uma  lista dos comandos possíveis para este determinado modelo.  Alguns comandos se tornaram padrão entre todos os modems, como:
     “ATD” - Para tirar o  modem  “do  gancho” e mandá-lo discar o número
            que vier a seguir.  Ex: “ATD884-2446”.  Veja também a sessão II.[6.0] para maiores detalhes neste comando.
     “ATZ” - Carrega a  configuração  previamente  salva  na  memória  do modem.
     “+++” - Quando você estiver  conectado  em  algum  lugar, não poderá enviar  comandos  ao  modem.   Caracteres  digitados   serão somente enviados ao outro  lado  da  conexão.   Para  enviar comandos  ao  modem  enquanto  conectado, deve-se esperar um segundo  depois do envio/recebimento do último byte, digitar “+++” e aguardar mais um  tempo.  O modem deve responder com “OK” e você estará no modo de comandos.  Para depois  voltar à conexão usa-se o “ATO”.  O problema aqui é quando isso não funciona corretamente.   Neste  caso  tenha  certeza que de, quando você enviou o “+++”, não só o SEU modem  foi  para  o modo de comandos, mas também o modem do outro lado, pois ele interpretou  o  “+++”  da  mesma  forma.   Para  contornar o problema,  a  maioria  dos  modems  possibilita  a  troca do caracter de “+” por um outro para simbolizar essa “seqüência de escape” (como é conhecida essa seqüência “+++”).
     “ATA” - Tira o telefone do gancho e atende a chamada.  Assim, quando alguém ligar e o modem  reconhecer  os  toques  no  telefone imprimindo  a string “RING” em seu terminal, digitando “ATA” seguido de <ENTER> o modem atenderá a chamada a inicializará o procedimento de conexão com o outro modem.

   - Como fazer uma conexão de modems durante uma ligação VOZ?
     Digamos que você ligou para  alguém  e está conversando com a pessoa pelo telefone normal.  Resolvem então efetuar uma conexão  entre  os dois modems, mas sem perder esta conexão.  Como fazer?
           É bem simples, exige só um pouco de sincronismo:
 
    - Uma ponta dá um “ATA<ENTER>” e desliga o telefone.
    - A outra ponta dá um “ATX3D<ENTER>” e igualmente desliga o fone.

     Assim que você  digitar  “ATA<ENTER>”,  o  modem  já terá assumido a conexão, e você pode desligar o  telefone  imediatamente.   O  mesmo vale  para  o  “ATX3D<ENTER>”.   O  ideal é ambos digitarem antes os comandos “ATA” e “ATX3D” e  fazer em uma contagem regressiva para que ambos digitem o <ENTER> aproximadamente ao mesmo tempo.
 
 
 
 
 

                            II. CONFIGURAÇÃO
 

                   Quando você precisa  acertar  as  configurações  de  seu programa de comunicação,  podem  surgir  algumas  dúvidas  para  alguns   itens, justamente  pelo  desconhecimento  dos  significados  de cada opção.
    1.0  Velocidade serial x Velocidade modem (DTE x DCE)
    2.0  8N1, 7E1, etc
    3.0  Flow control (RTS/CTS - Xon/Xoff)
    4.0  Portas de comunicação
    5.0  Terminais de comunicação
    6.0  Dial String
 
 

II.[1.0] Velocidade serial x  Velocidade  modem  (diferenças entre DTE e DCE).

    Uma opção na configuração do software de comunicação certamente  diz algo  a  respeito  de  velocidade.   Normalmente  faz  referência  a Velocidade  Serial,  Baud  Rate,  Speed, etc.  Um item relacionado a isso é a opção Lock  Port  Speed ou simplesmente Lock Port.  Veremos aqui como deve ser setada cada opção.
    Antes de mais nada,  vejamos algumas definições.  Devemos distingüir dois tipos de  velocidades  presentes  em  uma  conexão  entre  dois modems.
    1) Velocidade entre o SEU computador com  o  SEU  modem,  essa  é  a chamada  velocidade DTE (Data Terminal Equipment), e na verdade é a velocidade de sua porta serial.
    2) Velocidade entre o SEU modem e o modem onde você está conectando, sendo  esta  velocidade   chamada   de  DCE  (Data  Communication Equipment).  Esta é a velocidade efetiva que  ocorre  pela  linha telefônica.
O que aparece quando dois modems se conectam (CONNECT xxxx) é a taxa DCE, que os modems negociaram (nos piipipiii’s) para ser o protocolo de modulação desta conexão.
    Já o que você ajusta no seu programa de comunicação NÃO é essa taxa, já que ela é negociada  pelos  modems  na  hora  da conexão, e não é possível evitar que eles  o  façam  (a  menos  que  você  diga  isso expressamente para seu modem).  O que você ajusta é a DTE, ou  seja, a  velocidade máxima com que a sua porta serial irá receber os dados que chegam.
    Ajustando a opção Lock  Port  Speed  para  NÃO,  isso fará com que a velocidade serial (DTE) seja sempre a  mesma  do  que  a  velocidade entre os modems pela linha telefônica (DCE).  Ajustando  essa  opção para SIM,  fará  com  que  a  velocidade  serial  permaneça  a mesma independente do que o modem fizer.  Na opção de  velocidade  serial, deve-se  então  colocar  um  valor  mais elevado para modems de alta velocidade, como por exemplo 57600 bps em modems de 14400 bps.
 
  - V.42 e MNP 4 ajudando na performance
    Quando uma conexão é feita com  V.42 ou MNP4, a transferência ocorre de modo um pouco diferente do que seria a  de  enviar  os  bytes  em seqüência.   Um byte tem 10 bits (1 start bit, 8 dados e 1 stop bit, isso na configuração 8N1, o  que  na  verdade  quer dizer: 8 bits de dados, sem bit de paridade e um start bit.   Se  um  dos  protocolos  V.42  ou MNP4 estiver ativo numa conexão, o modems que envia transmite  apenas os 8 bits de dados, os dois restantes são adicionados pelo modem que  recebe,  fazendo  com que 20% dos dados (2 de 10 bits) a menos tenham que ser enviados.
    Quando o modem que recebe adicionar  esses  2 bits, eles tem que ser transmitidos junto com os 8 restantes através da porta serial,  e  o modem  já  se  preparar  para  receber  os  novos bits que estiverem chegando.  Pra isso, o  modem  tem  que  mandar  os 10 bits na mesma velocidade  que  chegaram  os  8  bits pela linha telefônica, para a porta serial.  A 14400  bps  (bits  por  segundo) 8 bits chegaram em 1/1800 segundos.  Nesse mesmo tempo 10 bits  tem  que  ser  mandados pela  porta serial, isso dá uma taxa de 18000 bps (bits por segundo) que a porta serial tem que suportar.
    Por isso na maioria dos programas de comunicação nem aparece a opção de 14400 bps como velocidade  serial,  a próxima depois dos 9600 bps normalmente é 19200 bps, que seria o ideal para o caso das  conexões com o V.42 ou MNP 4.

  - V.42bis e MNP 5 aumentando ainda mais a performance
    Quando um protocolo de  compressão  de  dados on-the-fly (V.42bis ou MNP5) está ativo e se recebe arquivos não compactados, o  modem  que envia vai conseguir compactar esses dados e assim ter que enviar bem menos bytes.  Vejamos um exemplo do que ocorre neste caso:
    Um  arquivo TEST.TXT tem 3072 bytes de tamanho.  O protocolo V.42bis consegue compactar ele  digamos  para  somente  1024 bytes, ou seja, compactação no fator 3:1.
    Esses  1024  bytes  são  então  enviados  pelo  modem   pela   linha telefônica.  Assim, se a conexão for de 14400 bps, transmitindo pela linha  telefônica  a  1600 bytes por segundo (cps), esses 1024 bytes chegam do outro lado em 0.64 segundos (o cálculo é uma simples regra de três).
    Mas esses mesmos 1024 bytes serão descompactados por  sua  vez  pelo modem  que  recebe, para os 3072 bytes originais que por sua vez são transmitidos  do  modem  pela   entrada  serial  para  o  computador (lembre-se que existe a ligação modem-modem e  modem-serial,  DTE  e DCE).
    Assim,  em  0.64  segundos,  3072  bytes  (24576  bits)  tem que ser enviados do modem para o  computador pela entrada serial.  Isso quer dizer  que a taxa real entre o modem e a serial é de 38400 bps (bits por segundo) e isso tem que ser suportado pela linha serial.
    Por  isso  é  ideal setar a velocidade serial para o maior possível.
    Uma placa serial normalmente não agüenta mais de 57600 bps, por isso essa deve ser a opção preferencial.
 

II.[2.0] O que é 8N1 e 7E1?

    Outra configuração que  se  deve  ajustar  em  praticamente todos os programas  de  comunicação  são  esses  valores   estranhos.    Eles simbolizam  como  será  a troca de bytes pela linha telefônica, como interpretar os bits que chegam e que vão.
    8N1 significa 8 databits, parity NONE e 1 stop bit.  Traduzindo para uma linguagem mais clara, quer dizer  que um byte transmitido terá o formato:
        -----------------------------------------------------------------------
        ¦   1   ¦   2   ¦   3   ¦   4   ¦   5   ¦   6   ¦   7   ¦   8   ¦   9   ¦   10   ¦
        |----------------------------------------------------------------------¦
        ¦start ¦                         8 databits                             ¦ stop  ¦
        -----------------------------------------------------------------------

    O primeiro bit é sempre “0” e é interpretado como um bit  de  início do  byte.  Os 8 seguintes são o byte propriamente dito, seguido pelo stop bit que é sempre “1”.
    Com  esses  8  bits de dados, forma-se um byte que conhecemos, o que aceita valores de 1 a 256.
    O formato 7E1 simboliza 7 data bits, EVEN parity e 1 stop bit.
        ---------------------------------------------------------------------
        ¦   1   ¦   2   ¦   3   ¦   4   ¦   5   ¦   6   ¦   7   ¦   8   ¦   9   ¦  10  ¦
        |--------------------------------------------------------------------¦
        ¦start ¦                             7 databits                 ¦ par  ¦stop ¦
        ---------------------------------------------------------------------

    Um start  bit  (“0”),  7  bits  de  dados,  podendo  representar 128 valores, um bit de paridade e um stop bit (“1”).
    O  bit  de paridade EVEN é um bit de controle.  Ele é simplesmente o um valor (1 ou 0) para que a  soma dos bits “1” dos dados mais o bit de paridade dê um número par (even).  Por  exemplo  se  os  databits forem “0110011”, o bit  de  paridade  é  ajustado  para “0”, pois já existem 4 “1” nos dados.  Se os databits fossem “1110011”, o bit  de paridade seria ajustado para “1”, para  chegarem a 6 (=par) bits com valor “1”.
    A paridade ODD é justamente o inverso, a soma dos bits “1” deve  dar um número impar.
    Na  paridade tipo Mark, o bit de paridade é sempre “1” e na paridade tipo Space, este bit é sempre “0”.

    - Qual usar?
    Para conexões com BBSs comuns, use sempre a configuração 8N1.  Ela é usada em 90% dos casos atualmente.   Por exemplo para conexões com a Compuserve, deve-se ajustar a configuração para 7E1.
 

II.[3.0] Como configurar o flow control (RTS/CTS - Xon/Xoff)?

    Uma  configuração  importante  para  a transmissão de dados é o FLOW CONTROL.
    Flow control é um  método  de  controlar  quando informação pode ser enviada.  Se isso não  fosse  possível  de  se  controlar,  o  modem poderia  ficar sobrecarregado de informações que estivessem chegando enquanto ele está ocupado com outra coisa.
    Um método é o SOFTWARE FLOW CONTROL, ou XON/XOFF, onde  um  BBS  irá mandar  dados até que o seu computador envie um sinal de XOFF (que é o caracter ASCII #17 - CTRL-S).  Enviando um XON (caracter ASCII #19 - CTRL-Q), ele voltará a transmitir.
    Outro método  é  o  HARDWARE  FLOW  CONTROL  ou  CTS/RTS.  Este caso funciona alterando-se voltagens em dois  níveis  nos  pinos  de  RTS (Request  To Send) e CTS (Clear To Send) da interface serial entre o modem e o computador (normalmente um cabo RS232).
    CTS é usado pelo  modem  que  está  enviando  dados.  Quando o modem local está pronto para receber dados, ele envia um sinal CTS para  o computador  local,  e  este  começa  a mandar os dados para o modem.  Quando o  modem  não  está  mais  conseguindo  receber  os  dados na velocidade com que o  computador  os  está  enviando,  o  modem  irá desligar  o  CTS,  informando  ao computador que é para ele parar de enviar.  Uma vez  o  modem  está  novamente  em condições de receber dados, ele novamente liga o CTS.
    RTS é usado pelo  computador  do  lado  que  está  recebendo  dados.  Quando o computador local  não  consegue receber dados na velocidade que eles estão sendo enviados para ele pelo  modem  local,  ele  irá desabilitar  o  RTS.   O computador liga o RTS novamente quando está pronto para receber dados novamente.

   - Qual usar?
    Escolha sempre preferencialmente o  HARDWARE FLOW CONTROL (CTS/RTS).  O uso do XON e XOFF  durante  a  transmissão  de  dados  por  causar problemas quando um arquivo binário conter os caracteres XON e XOFF.  Neste  caso  a  transmissão  pode  travar durante a transferência de arquivos.
 

II.[4.0] O que é porta serial?

    O  computador  precisa  saber  em qual PORTA SERIAL está conectado o modem para poder se comunicar com  ele.  As portas seriais em micros PC são chamadas de COM1, COM2, COM3 e COM4.
    Se  o seu modem é externo, a porta serial é onde está ligado o modem pelo cabo RS-232.   Se  o  modem  for  interno, normalmente existe a opção de configurar em qual porta serial se deseja o modem por  meio de  JUMPERS,  que  são  pequenas  pontes  de  ligações que podem ser ligadas ou desligadas.
    Embora se tenha quatro  portas  de comunicação à disposição, existem algumas considerações a se fazer quanto à correta configuração:
    Cada porta COM possui uma chamada de interrupção que ela usará  para informar   ao   micro   que   está  precisando  de  atenção.   Essas interrupções são chamados de IRQ, e  são  numerados de 0 a 15.  Para as portas seriais, existem dois IRQs:
        porta  IRQ
        -------------
        COM1   IRQ4
        COM2   IRQ3
        COM3   IRQ4
        COM4   IRQ3

    Assim sendo, não é recomendado ter dois periféricos em  duas  portas com IRQs iguais, ou seja, ao mesmo tempo na COM1 e COM3 ou na COM2 e COM4.
    Se  o modem for INTERNO e se puder configurar à gosto a porta serial a usar, devem ser seguidos algumas recomendações:
    COM1: Use essa porta se  seu  micro  não tiver uma conexão serial já como COM1 (o que não é provável).  É comum de se ter um  mouse instalado na COM1.
    COM2: Se seu micro estiver equipado  com somente uma porta serial na COM1, e  se  você  não  já  está  usando  a  COM2  para  outro equipamento,  use  essa  porta  (é a configuração mais comum e os modems normalmente vêm com a COM2 por default).
    COM3 ou COM4: Somente em casos especiais, normalmente não é o caso.
    Além de poder configurar a  porta  serial, os modems internos também permitem configurar o IRQ a ser usado, sendo  que  assim  você  pode contornar o problema dos IRQs exposto acima.
   Cuidado  ao  configurar  um modem interno quando já houver uma placa I/O (entrada e saída) interna no seu micro.  Normalmente é uma placa de   multi-uso,   oferecendo   saidas   seriais,   paralelas   (para impressoras) e para  joystick.   Essas  placas normalmente podem ser configuradas  por  meio  de  jumpers  para   oferecer   determinadas combinações de portas seriais, como por exemplo COM1 e COM2.  Quando o  modem  interno  for  instalado, deve se tomar cuidado para não se instalar ele numa porta serial já  ocupada pela placa de I/O.  Use o programa MSD que vem com o MS-DOS e o MS-Windows e veja o item <C>OM PORTS.  Use no seu modem interno  somente  portas  seriais  marcadas como “N/A” nessa tela, tomando ainda as precauções do IRQ.
 

II.[5.0] O que são terminais de comunicação?

    Quando é efetuada uma  conexão  com  um BBS, este normalmente começa enviando caracteres para seu modem, que são  apresentados  na  tela.  Ele  poderia  enviar  simples caracteres texto que o seu programa de comunicação iria apresentando, mas  convenhamos, uma apresentação só de texto não é muito atraente.
    Para isso surgiram diversos tipos de terminais  de  comunicação  que serviriam  para  interpretar  o  que  chega pelo modem de uma outra forma, apresentando o que chega de maneira diferente da de só texto.

  - Como funciona o terminal ANSI?
    A forma mais  popular  que  surgiu  foi  o  padrão  ANSI  de cores e movimentação de cursor, também usado em outras áreas no  computador.  Neste  padrão  o que acontece é simplesmente que o que é enviado por um modem é interpretado como  texto normal, com uma exceção: Quando chegar a combinação de caracteres “<ESC>[” (os sinais ASCII #27+#91) o  terminal  receptor  aguarda  os  próximos  caracteres,  que serão alguma espécie de comando.
    Estes comandos  podem  ser  os  mais  diversos,  e  vão  modificar a apresentação na tela.  Por exemplo, pode-se mudar a cor de frente  e de fundo dos próximos caracteres, limpar a tela, mover o cursor para outra  posição, etc.  Em alguns casos, pode-se até tocar música, mas são somente alguns  os  terminais  que  suportam esses comandos para música (um exemplo é o Terminate).

  - Que outros terminais existem?
    Existem mais alguns tipos de terminais que podem ser usados ao invés do  ANSI.   Os  mais  comuns  além  dele são o AVATAR e o VT-100.