No Linux (Ubuntu), estou tentando enviar comandos AT para um modem em /dev/ttyACM0
. Eu tentei fazê-lo como:
sudo socat - /dev/ttyACM0
mas ao digitar qualquer coisa, recebo uma linha repetindo esse comando (espero um OK
).
Quando eu faço
sudo minicom modem1
parece funcionar. Eu digito AT
e recebo um OK
. Eu digito uma porcaria, recebo um ERROR
.
Parece que o modem1
minicom está de alguma forma configurado para usar o modem em /dev/ttyACM0
.
Como posso usar o socat para enviar comandos AT? Preciso configurar alguma coisa? Talvez eu possa usar as configurações modem1
do minicom (não sei como encontrar / ver esta configuração)?
Informação adicional
O socat
comando fornecido está correto? Devo jogar com algumas opções? Com a -v
opção, vejo o seguinte:
AT
> 2013/10/23 17:10:28.917413 length=3 from=0 to=2
AT
< 2013/10/23 17:10:28.921598 length=3 from=0 to=2
AT
AT
ksjdhfjdgfhjkdfh
> 2013/10/23 17:10:30.244923 length=17 from=3 to=19
ksjdhfjdgfhjkdfh
< 2013/10/23 17:10:30.251383 length=29 from=3 to=31
ksjdhfjdgfhjk\b \bd\b \bf\b \bh\b \b
ksjdhfjdgfhj
O dispositivo em si é encontrado com a seguinte saída dmesg:
[5983726.808063] usb 2-1: USB disconnect, device number 3
[5983730.800021] usb 2-1: new full-speed USB device number 4 using uhci_hcd
[5983730.920014] usb 2-1: device descriptor read/64, error -71
[5983733.629524] usb 2-1: New USB device found, idVendor=0572, idProduct=1329
[5983733.629533] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[5983733.629539] usb 2-1: Product: USB Modem
[5983733.629544] usb 2-1: Manufacturer: Conexant
[5983733.629549] usb 2-1: SerialNumber: 24680246
[5983733.632673] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
E o tty está configurado da seguinte maneira:
speed 57600 baud; line = 0;
eof = ^A; min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -echo -echoe
fonte
Respostas:
Tentar
socat - /dev/ttyUSB2,crnl
Isso informa ao socat para enviar um retorno de carro e um avanço de linha.
Esclarecimento - isso remonta aos dias sombrios das máquinas de escrever elétricas, onde você teria que dizer para rolar o carro de volta à posição 0 na página - portanto, um retorno de carro - e também para mover o papel uma linha .
fonte
A melhor maneira de enviar comandos AT para um modem no Linux é usar o programa atinout, que é escrito com o único objetivo de enviar comandos AT para um modem a partir da linha de comando.
Você pode usá-lo para testar se um modem está instalado e funcionando , faça um backup da lista telefônica:
ou qualquer outra coisa para a qual você use os comandos AT.
fonte
Me deparei com este post do projeto Chromium que mostra o que você deseja. É intitulado: Depurando um modem celular .
trecho dessa página
fonte
dmesg
log. Desculpe, não posso ajudá-lo mais do que isso.