Проблемы с отправкой, получением смс


#1

Приветствую.

WB6.5 c 3g модемом
через /dev/ttyGSM поднимается и постоянно держится ppp подключение

/dev/ttyACM3 используется для работы с sms из своего скрипта

после “холодного старта”, какое то время всё чудно работает, можно отправлять смс AT командами и принимать, но в какой то момент всё встаёт колом…
в ряде случаю ошибку на AT+CMGS=21 (sms отправляется в pdu формате)
причём ошибка просто ERROR, без расшифровок
когда эта команда проходит и получаю приглашение > для ввода pdu, то получаю уже ошибку вида +CME ERROR: operation not supported

как победить эту проблему?


#2

HighTower? добрый день!
Я бы выбрал UART-порт ttyGSM как раз для SMS, а ttyACM0 (USB, более скоростной) для GPRS-соединений. Проверьте, пожалуйста.


#3

при таком раскладе не работает csd вообще, уже проверил… это оптимальный вариант

проблему нашёл, она железно-софтовая на стороне модема
/dev/ttyGSM - ppp
/dev/ttyACM3 - sms
/dev/ttyACM0 - csd
порты выбраны именно так, при других вариантах - обязательно что то не работает, от слова совсем.

а теперь суть, если открыть /dev/ttyACM3 и /dev/ttyACM0 и слать команды, а читать ответы по событию, что есть какие то данные в порту, то получается “гонка”, ttyACM3 получается событие что есть данные и их вычитывает, но это только кусок длинного сообщения, пока он их читает, какого чёрта ttyACM0 тоже получает событие что есть данные и дочитывает остаток!!!
воспроизводимость 100%

может есть какая АТ команда чтобы общие событие писались во все порты, а вот ответы на команды - только туда, в каком порту спросили…


#4

пример с получением
в ttyACM3 приходит сообщение +CMTI: “SM”,1
в этот же порт пишу AT+CMGL=0
там же получаю кусок
AT+CMGL=0
+CMGL
и сразу же в ttyACM0 прилетает остаток
: 1,0,24
07919761…


назначил(а) ответственного poglazov #5

#6

Добрый день!

К сожалению, вряд ли сможем помочь. Что могу сказать:

  1. /dev/ttyGSM - это символическая ссылка. Куда она ведёт на вашей системе, можно узнать через ls -l /dev/ttyGSM.
  2. Файлы вида /dev/ttyACMX создаются драйвером модема, но нам не удалось найти документацию, в которой бы точно описывалось назначение каждого из них.
    Если вам удастся что-нибудь разузнать, будем благодарны, если поделитесь.

снял(а) ответственного poglazov #7