LINUX.ORG.RU
ФорумAdmin

Помогите разобраться с АТ командой

 ,


1

2

Добрый день. Подскажите пожалуйста, имеется два GSM\GPRS модема. Если в первый модем через терминал отправить команду ATEQ0, то выполняется две команды: ATE0 и ATQ0. Если во второй модем отправить команду ATEQ0, то модем отвечает: ERROR, и ни одна команда не выполняется. Но если отправить в таком формате: ATE0Q0 или отправлять по отдельности ATE0 и ATQ0, то выполняются обе команды. То есть, первый модем понимает формат ATEQ0, а второй нет. С чем это может быть связано (разница в этих модемах), с какой нибудь настройкой или с разными протоколами, или с чем то еще?



Последнее исправление: de_sad_m (всего исправлений: 2)

Подскажите пожалуйста, имеется два GSM\GPRS модема.

Есть два стула. Ты бы модель сообщил хотя бы, а то все экстрасенсы на карантине.

Radjah ★★★★★
()

Ты по сути отправляешь текст в com порт. И уже программное обеспечение модема его обрабатывает.

Вывод сделай сам.

infomeh ★★
()

с програмной реализацией соотвествующих команд в прошивке модема. прошивка второго модема имеет другой интерпретатор команд. вообще со сложными лучше не мудрить, сильного ускорения не получишь.

pfg ★★★★★
()

а они разных моделей или одной?

Harald ★★★★★
()

С чем это может быть связано (разница в этих модемах)

прошивка у первого глючная

Harald ★★★★★
()

С чем это может быть связано (разница в этих модемах)

у разных модемов прошивки. что-то реализовано, что нет. и реализация может быть очень разной.

anonymous
()

В тему призывается @mertvoprog (ну и @rebforce, как я понимаю, знает толк, но он сюда очень давно не заглядывал).

hobbit ★★★★★
()
Ответ на: комментарий от anonymous

исправленному верить

С чем это может быть связано (разница в этих модемах)

у модемов разные прошивки. что-то реализовано, что-то нет. и реализация может быть очень разной.

просто следует учитывать особенности устройства с которым работаешь. обычно всё выясняется опытным путем, как в твоём случае.

anonymous
()
Ответ на: исправленному верить от anonymous

Спасибо всем, кто откликнулся.

Первый модем - IRZ MC25i, второй - Novacom GNS300RS.

В первом случае команда ATEQ0 видимо понимается модемом как ATE (без числового параметра принимается равным нулю) и ATQ0, а вот второй модем этого не понимает и входит в ступор). Как бы его заставить понимать?

В устройстве, с которым должен работать модем, прописана эта команда (ATEQ0) и на этом этапе «затыкается».

Вот часть лога:
May 18 16:58:04 is user.notice /etc/scripts/network.sh: Setting UP GPRS interface /dev/ttyS0: AT:AT+CGDCONT=1,«IP»,«internet» OK PHONE:99**1# USER:megafon PASS:megafon May 18 16:58:04 is daemon.notice pppd[4920]: pppd 2.4.4 started by root, uid 0
May 18 16:58:05 is local2.info chat[4922]: abort on (BUSY)
May 18 16:58:05 is local2.info chat[4922]: abort on (NO DIALTONE)
May 18 16:58:05 is local2.info chat[4922]: abort on (NO CARRIER)
May 18 16:58:05 is local2.info chat[4922]: abort on (NO ANSWER)
May 18 16:58:05 is local2.info chat[4922]: abort on (DELAYED)
May 18 16:58:05 is local2.info chat[4922]: timeout set to 60 seconds
May 18 16:58:05 is local2.info chat[4922]: send (AT^M)
May 18 16:58:05 is local2.info chat[4922]: expect (OK)
May 18 16:58:05 is local2.info chat[4922]: ^M
May 18 16:58:05 is local2.info chat[4922]: OK
May 18 16:58:05 is local2.info chat[4922]: – got it
May 18 16:58:05 is local2.info chat[4922]: send (ATE0^M)
May 18 16:58:05 is local2.info chat[4922]: expect (OK)
May 18 16:58:05 is local2.info chat[4922]: ^M
May 18 16:58:05 is local2.info chat[4922]: ^M
May 18 16:58:05 is local2.info chat[4922]: OK
May 18 16:58:05 is local2.info chat[4922]: – got it
May 18 16:58:05 is local2.info chat[4922]: send (ATEQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0^M)
May 18 16:58:06 is local2.info chat[4922]: expect (OK)
May 18 16:58:06 is local2.info chat[4922]: ^M
May 18 16:58:06 is local2.info chat[4922]: ^M
May 18 16:58:06 is local2.info chat[4922]: ERROR^M
May 18 16:59:06 is local2.info chat[4922]: alarm
May 18 16:59:06 is local2.info chat[4922]: Failed
May 18 16:59:06 is daemon.err pppd[4920]: Connect script failed
May 18 16:59:07 is daemon.info pppd[4920]: Exit.

de_sad_m
() автор топика
Ответ на: комментарий от de_sad_m

В первом случае команда ATEQ0 видимо понимается модемом как ATE (без числового параметра принимается равным нулю) и ATQ0, а вот второй модем этого не понимает и входит в ступор). Как бы его заставить понимать?

модем может выполнять только то, что заложено в его прошивке. я так думаю, вам надо будет подстраиваться под конкретный модем – раз он понимает последовательно 2 команды, то и следует ему последовательно давать эти 2 команды. первый, который понимает ATEQ0, может работать в с 2 последовательными командами?

если изменить скрипт нельзя – модем нужно будет заменить.

anonymous
()
Ответ на: комментарий от de_sad_m

В устройстве, с которым должен работать модем,...
если бы была возможность изменить...

А почему нет?

ABW ★★★★★
()
Ответ на: комментарий от ABW

А почему нет?

Это платежный терминал. Операционная система FastSys на ядре Линукс. На диске файл bzimage. Это в нем находится файл скрипта? И как до него добраться, подскажите, я новичок в Линуксе.

de_sad_m
() автор топика
1 июля 2021 г.
Ответ на: комментарий от de_sad_m

Здравствуйте, данный недочет устранен в последних версиях ПО ALLVEND - команда «ATEQ0» заменена на последовательность «AT E0 Q0».

Скачать актуальный ISO-образ ПО ALLVEND можно по следующей ссылке: https://ftp.isg.dev/soft/allvend/fastsys5_allvend.iso.zip

Инструкция по установке: https://ftp.isg.dev/docs/instruction_installation_allvend.pdf

Инструкция по работе в сервисном режиме: https://ftp.isg.dev/docs/instruction_service_mode.pdf

anonymous
()

Если в первый модем через терминал отправить команду ATEQ0, то выполняется две команды: ATE0 и ATQ0

Исключительно особенность конкретного мопеда. Похоже что у него E == E0. Возможно в справке есть пояснение AT$

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.