Eu olhei para a fonte de bate-papo ppp e ele usa putchar
para gravar no dispositivo. Quando o PPP é executado em uma disciplina de linha como n_gsm
, que multiplexa um tty através do protocolo GSM 07.10, muitos dados extras são criados no link.
Posso usar stty
ou algum outro recurso para agrupar dados? Por exemplo, se o script de bate-papo tiver AT \ n , o seguinte pode ser enviado para a porta serial (com n_gsm
),
f9 07 ef 03 41 d4 f9 ....A..
f9 07 ef 03 54 d4 f9 ....T..
f9 07 ef 03 0d d4 f9 .......
Os caracteres extras são o enquadramento n_gsm
para uma porta serial virtual específica. Eu preferiria,
f9 07 ef 07 41 54 0d xx f9 ....AT...
Reduzindo o tráfego de 21 para 9 (e não incluí reconhecimentos). A pergunta AT GPRS tem algumas informações relacionadas a essa pergunta.
O que eu estou pedindo também pode ser alcançado alterando o chat
do ppp para usar strchr('\')
e usando write()
em vez de putchar
. Espero que haja um comando stty
para ativar um algoritmo Nagle like para um TTY.