Comunicação serial com PPP

Iniciado por 999andre999, 14 de Janeiro de 2014, 10:54

tópico anterior - próximo tópico

999andre999

É claro que nao é so isto a minha dissertacao ;) tenho que fazer uma estacao meteorologica k sera enviada para a estratosfera e depois tenho k fazer comunicacoes com a terra... primeiro tenho k por isto a funcionar entre duas maquinas.. depois terei que fazer comunicacao sem fio mas com k mesmo principio

zekkerj

Até onde me lembro, tudo funciona com a instalação básica do Ubuntu. No máximo vc vai ter de instalar o minicom.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Arthur Bernardes

Citação de: zekkerj online 14 de Janeiro de 2014, 18:11PPP é exatamente para isso, comunicação serial. O PPPoE é uma variação do PPP que é usada em ethernet, significa exatamente "PPP over Ethernet", permitindo criar conexões ponto-a-ponto da mesma forma que se faria com um dispositivo serial, porém com uma ligação ethernet (que é multi-ponto).

Obrigado pela explicação, amigo! :D

999andre999

Citação de: zekkerj online 14 de Janeiro de 2014, 18:09
Olá 999andre999,

Entendi bem o que vc quer fazer. Vc tem um adaptador USB-Serial em cada micro, e vai fazer a comunicação entre eles via PPP. Não é muito difícil de implementar, se vc já tiver todo o hardware funcionando.

A primeira coisa que vc vai precisar (supondo que vc já tem os adaptadores em funcionamento) é um cabo NULL-MODEM. Esse cabo provavelmente terá que ser feito sob encomenda; o importante é que vc ligue o sinal RX de um lado ao TX do outro; o sinal CTS de um lado ao RTS do outro; o DTR de um lado ao DSR e DCD do outro; e o GND de um lado ao GND do outro. Ambos os lados vão usar conectores DB9 fêmea; você pode encontrar a pinagem neste site.

Com tudo conectado, plugue os adaptadores ao Ubuntu, e acompanhe o reconhecimento pelo comando "dmesg | tail". Os adaptadores serão reconhecido como /dev/ttyUSB0, /dev/ttyUSB1, etc.

Teste a comunicação entre as duas máquinas usando o comando "minicom -D /dev/ttyUSBx". Com os dois lados conectados, o que vc escrever de um lado vai aparecer do outro. Quando conseguir isso, estará pronto para testar o acesso PPP.


Até aqui tudo a funcionar já! bastou instalar o minicom nas duas maquinas e depois seguir este link https://code.google.com/p/fabfi/wiki/HowToSetUpSerialMinicomLinux e deu tudo certo. E foi testado em máquina virtual. Agora vou passar ao PPP. A minha questão é como defino os ip no  arquivo "/etc/ppp/options.ttyUSBx"?

999andre999

Citação de: zekkerj online 14 de Janeiro de 2014, 18:09
Para configurar o PPP em cada uma das máquinas, vc vai criar um arquivo "/etc/ppp/options.ttyUSBx". Nesse arquivo você vai definir o endereço IP de cada ponta, que deve estar numa rede diferente daquela que vc usa nos outros adaptadores de rede ativos. Observe também que o PPP não exige que as duas pontas estejam na mesma rede, então é perfeitamente válido que uma ponta seja a máquina "192.168.100.100" e a outra a "172.18.55.77". Você encontrará mais informações em "/usr/share/doc/ppp", na sua máquina.

Para ativar a comunicação, vc usa "sudo pppd ttyUSBx" em cada uma das máquinas. Se tudo estiver correto, vc terá a conexão imediatamente. Do contrário, o comando "plog" vai te dar o log do processo PPP, que provavelmente vai explicar o problema.

Criei o ficheiro ttyUSB0 apenas com a linha "192.178.1.1:192.178.1.2" onde o primeiro é o ip local e o segundo o remoto... e na outra maquina criei o mesmo ficheiro mas inverti os ip. depois ativei a comunicação com "sudo pppd ttyUSBx" nas duas maquinas e até aqui tudo bem... Mas depois não consigo fazer "ping" de um pc para o outro. Estarei a fazer alguma coisa mal?

zekkerj

CitarAté aqui tudo a funcionar já! bastou instalar o minicom nas duas maquinas e depois seguir este link https://code.google.com/p/fabfi/wiki/HowToSetUpSerialMinicomLinux e deu tudo certo. E foi testado em máquina virtual. Agora vou passar ao PPP. A minha questão é como defino os ip no  arquivo "/etc/ppp/options.ttyUSBx"?
Dá uma olhada no arquivo /usr/share/doc/ppp/examples/options.ttyXX, nele tem toda a estrutura do que vc precisa colocar nesse seu arquivo.

Citação de: 999andre999 online 15 de Janeiro de 2014, 16:15
Criei o ficheiro ttyUSB0 apenas com a linha "192.178.1.1:192.178.1.2" onde o primeiro é o ip local e o segundo o remoto... e na outra maquina criei o mesmo ficheiro mas inverti os ip. depois ativei a comunicação com "sudo pppd ttyUSBx" nas duas maquinas e até aqui tudo bem... Mas depois não consigo fazer "ping" de um pc para o outro. Estarei a fazer alguma coisa mal?
Confirme que a interface subiu, com o comando "ifconfig ppp0".

O comando "plog" também pode te ajudar, mostrando os logs do PPP.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

999andre999

Citação de: zekkerj online 15 de Janeiro de 2014, 19:11
Dá uma olhada no arquivo /usr/share/doc/ppp/examples/options.ttyXX, nele tem toda a estrutura do que vc precisa colocar nesse seu arquivo.

Já verifiquei o ficheiro e coloquei conforme o exemplo que la tem:

hostname: remotepeername
192.178.1.1:192.178.1.2

Citação de: zekkerj online 15 de Janeiro de 2014, 19:11
Confirme que a interface subiu, com o comando "ifconfig ppp0".

O comando "plog" também pode te ajudar, mostrando os logs do PPP.

mas não funciona. o comando "ifconfig ppp0" da a seguinte mensagem:

andre@andre-VirtualBox:~$ ifconfig ppp0
ppp0: erro obtendo informações da interface: %s: dispositivo não encontrado

e o comando "plog" da a mensagem:

Jan 16 10:27:12 andre-VirtualBox pppd[4953]: pppd 2.4.5 started by root, uid 0
Jan 16 10:27:12 andre-VirtualBox pppd[4953]: Device ttyUSB0 is locked by pid 4128
Jan 16 10:27:12 andre-VirtualBox pppd[4953]: Exit.
Jan 16 10:31:06 andre-VirtualBox pppd[5005]: pppd 2.4.5 started by root, uid 0
Jan 16 10:31:06 andre-VirtualBox pppd[5005]: Device ttyUSB0 is locked by pid 4128
Jan 16 10:31:06 andre-VirtualBox pppd[5005]: Exit.

e continuo a não conseguir fazer ping entre as duas máquinas... É que nem a própria maquina faz ping.

zekkerj

O ping só vai funcionar quando a interface subir, independente de qual das máquinas. Diga lá, vc lembrou de fechar o minicom antes de iniciar o PPP? Esse processo com PID 4128, quem é?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

999andre999

Sim fexei tudo...

Nao sei o que é este pid 4128 =/

zekkerj

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

999andre999

Citação de: zekkerj online 16 de Janeiro de 2014, 15:46
ps -l 4128

aparece isto "F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY        TIME CMD"

platao

tenta para ver se vc acha o processo;

ps -l -A > text.txt

e de uma olhada no arquivo text.txt na sua home e veja se localiza o processo.
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

zekkerj

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

999andre999

Citação de: zekkerj online 16 de Janeiro de 2014, 17:35
ou isso...

lsof | grep ttyUSB0

Isso n faz nada...  :-\ fogo nada está a resultar  :( 

zekkerj

Então vamos recapitular. Só um processo pode usar o dispositivo serial de cada vez; o PPP estava reclamando que no momento em que foi acionado, havia outro processo ocupando o dispositivo. Provavelmente neste momento o tal processo não está mais executando. Nesse caso vc tem que tentar iniciar novamente o PPP e acompanhar os logs. Observe se após iniciar o PPP a interface ppp0 fica disponível, só nessa hora vc vai ter ping, local ou remoto.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D