(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

236. Resolução de Problemas

236.1 Estamos recebendo a mensagem ``linha NNN do inittab é inválida''.

Esteja certo de usar a sintaxe correta da versão disponível do init. Diferentes programas init podem ter sintaxes diversas no arquivo /etc/inittab. Esteja certo de estar usando a sintaxe correta da versão disponível do getty.

236.2 Durante a discagem é recebida a mensagem ``/dev/cuaN: dispositivo ou recurso ocupados''.

Este problema pode acontecer quando DCD ou o DTR não estão corretamente configurados. DCD somente pode ser configurado quando houver uma conexão estabelecida (ou seja quando se recebe uma chamada), e não quando getty estiver monitorando a porta serial. Esteja seguro de que o modem está configurado para somente ativar o DCD quando houver uma conexão estabelecida. DTR deve ser configurado sempre que a porta estiver em uso, como por exemplo sendo monitorada pelo getty, kermit, ou algum outro programa de comunicação.

Outra causa comum de erros de dispositivos ocupados, se dá quando se configura a porta serial para usar uma interrupção já em uso por algum outro dispositivo. Cada vez que um dispositivo é inicializado ele solicita ao Linux permissão para usar a interrupção de hardware. O sistema operacional mantém controle sobre qual interrupção é designada para quem, e caso a interrupção já esteja sendo utilizada, o dispositivo não poderá ser adequadamente inicializado. O dispositivo não tem como informar exatamente este tipo de ocorrência, exceto ao se tentar utilizar a interrupção, quando retornará a mensagem de erro de dispositivo em uso. Verifique as interrupções de todas as placas (serial, Ethernet, SCSI, etc.), buscando os conflitos de IRQs.

236.3 A mensagem "getty respondendo muito rapidamente: desabilitado por 5 minutos".

Esteja certo de que o modem está configurado corretamente. Observe os registradores E e Q. Isso pode ocorrer quando o modem estiver trocando informações com o programa getty.

Esteja seguro de estar chamando getty corretamente a partir do /etc/inittab. Usar a sintaxe ou nomes de dispositivos incorretos irá provocar sérios problemas.

Verifique se o arquivo /etc/gettydefs possui a sintaxe correta através do comando:

linux# getty -c /etc/gettydefs

Isto pode acontecer quando a inicialização do uugetty apresenta alguma falha. Veja a seção getty ou uugetty ainda não funciona.

236.4 Dispositivos seriais são lentos ou podem tratar os dados em somente uma direção.

Possivelmente existe um conflito de IRQ. Esteja seguro de que não há IRQs em uso por mais de um dispositivo. Verifique todas as placas (serial, Ethernet, SCSI, etc.). Esteja seguro de que as chaves de configuração e os parâmetros do comando setserial estão corretos para todos os dispositivos seriais. Verifique ainda se não há conflitos em /proc/ioports e /proc/interrupts.

236.5 O modem congela após desligar ou uugetty não responde.

Isso pode acontecer caso o modem não seja reinicializado quando a DTR é desligada. Eu vi os indicadores luminosos RD e SD ficarem "loucos" quando isto aconteceu comigo, ou seja, o modem precisa ser reinicializado. Muitos modems compatíveis com o padrão Hayes suportam esta funcionalidade através do parâmetro &D3, mas não o meu US Robotics Courier, o qual teve que ser configurado com &D2 e S13=1. Verifique o manual do modem.

236.6 O terminal conectado ao PC congela após se digitar o nome de acesso.

  • Caso se esteja utilizandogetty: Provavelmente não se tem uma entrada do parâmetro CLOCAL no arquivo /etc/gettydefs para o terminal e provavelmente não se está usando um cabo de modem null completo. Será necessário configurar CLOCAL, o qual indica ao Linux que os sinais de controle de modem devem ser ignorados. Segue um exemplo de como fazer isto:
    # 38400 bps - Entrada de Terminal Burro
    DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
    
    # 19200 bps - Entrada de Terminal Burro
    DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
    
    # 9600 bps - Entrada de Terminal Burro
    DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
    
    A seguir, finalize com o comando kill o processo getty fazendo com que um novo seja acionado utilizando as novas configurações.
  • Caso se esteja utilizando agetty: Adicione o indicador -L à linha agetty no arquivo /etc/inittab. Isso fará com que os sinais de controle de modem seja ignorados. A seguir reinicialize o init através do comando init q. Eles devem ter a seguinte aparência:
     s1:345:respawn:/sbin/agetty -L 9600 ttyS1 vt100
     
    

236.7 Em altas velocidades, o modem perde dados.

Caso se esteja tentando usar o modem em uma velocidade superior a 38.400 bps e não se tem uma UART 16550A, deve-se atualizá-la. Veja a seção O que são UARTs? a qual aborda o tema.

236.8 Na inicialização Linux não parece reconhecer os dispositivos seriais na forma em que eles foram configurados.

Esta é a única afirmação correta. Linux não faz qualquer detecção na sua inicialização, mas somente a detecção das portas seriais. Ignore o que quer que ele diga sobre IRQ porque ele está simplesmente assumindo os padrões, o que se deve ao fato desta detecção inicial não ser confiável. Porém quando o programa setserial altera as IRQ, o resultado pode ser visto na tela de inicialização.

Então, mesmo que se tenha o ttyS2 configurado na IRQ 5, ainda assim veremos:

Jan 23 22:25:28 misfits vmunix: tty02 at 0x03e8 (irq = 4) is a 16550A
na inicialização do Linux.

Deve-se usar o programa setserial para indicar qual a IRQ que está sendo usada.

236.9 O rz e/ou o sz não funcionam ao se conectar o Linux a um modem.

Caso o Linux procure por /dev/modem ao se tentar transferir arquivos, verifique o arquivo /etc/profile ou /etc/csh.cshrc. Pode haver uma grande quantidade de nomes alternativos em algumas distribuições, mais notadamente na Slackware. Essas abreviações conflitam com os programas zmodem. Retire-os ou faça as devidas correções.

236.10 A tela está apresentando caracteres estranhos.

Isso ocorre quando se envia dados binários para consoles virtuais ou algumas vezes em conexões seriais. Isso pode ser corrigido ao se digitar echo ^v^[c. Para caracteres de controle sem os devidos pares, pode-se digitar:

linux% echo <ctrl>v<esc>c

236.11 getty ou uugetty ainda não funcionam

Existe a opção DEBUG que acompanha o getty_ps. Edite o arquivo /etc/conf.{uu}getty.ttySN e adicione DEBUG=NNN, onde NNN é uma das seguintes combinações de números de acordo com o que se deseje depurar:

D_OPT   001            opções de configuração.
D_DEF   002            processamento padrão de arquivos.
D_UTMP  004            processamento de utmp/wtmp.
D_INIT  010            inicialização da linha (INIT).
D_GTAB  020            processamento do arquivo gettytab.
D_RUN   040            outros diagnósticos em tempo de execução.
D_RB    100            depuração de chamada de retorno.
D_LOCK  200            processamento de arquivo de reserva uugetty.
D_SCH   400            processamento de agendamento.
D_ALL   777            tudo.
Configurar DEBUG=010 é uma boa opção de início.

Caso se esteja executando syslogd, as informações de depuração serão apresentadas em /tmp/getty:ttySN para a depuração do getty e em /tmp/uugetty:ttySN para o uugetty. Verifique no arquivo de depuração o que está acontecendo. Muitas vezes serão necessários novos parâmetros no arquivo de configuração assim como nova configuração do modem.

Pode-se ainda tentar o uso de mgetty. Algumas pessoas podem ter mais sorte com isso.


Página seguinte Página anterior Índice