Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM800 - время ожидания Sms ready
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
lolful
Добрый день.
Столкнулся с такой ситуацией. Пришла партия симок от Билайна, с которыми модуль SIM800C дольше обычного выдает Sms ready (~40 секунд после включения). На старой партии симок (и на любых других от МТС, Мегафона и прочих) Sms ready выдается спустя 15 секунд после включения.

Проверял на модулях со следующими прошивками:
Revision:1418B02SIM800C24
Revision:1418B05SIM800C24

Есть идеи с чем это может быть связано и есть ли способ уменьшить время полной инициализации модуля? Не может ли это значить, что с симками что-то не то?
CADiLO
Связано может быть с несколькими причинами.

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

lolful
Симка пустая - ни телефонных номеров, ни смсок.
Напряжение симки - 3В.
Alechek
симки 64К или подобное. Скорость чтения зависит не от заполненности, а от общего объема.
Так как вычитываются все файлы с симки, и там уже смотрится, есть запись или нет.
Еще на SIM 300 попались с такими симками - обычные SMINS выдавали быстро, а 64К - по 15-20 секунд приходилось ждать, пока модуль "обнаружит" симку!
Hub
поддержу предыдущего оратора (Александр, спасибо)
все верно, большой объем памяти увеличивает время анализа модулем этой информации
lolful
А есть какой-то способ узнать у модуля, проинициализирован ли он до конца? Или единственный способ - ждать Sms ready?
Hub
Цитата(lolful @ Nov 24 2016, 15:40) *
А есть какой-то способ узнать у модуля, проинициализирован ли он до конца? Или единственный способ - ждать Sms ready?

только ждать 'Call READY' и 'SMS Ready'
хотя и до выдачи этих команд может пройти регистрация в сети, но лучше все-таки их дождаться.

это как с компьютером: при появлении рабочего стола вроде можно уже открыть браузер и залезть в интернет, но лучше дождаться когда прогрузится весь софт и только после этого нормально работать.
Alechek
Цитата(lolful @ Nov 24 2016, 17:40) *
А есть какой-то способ узнать у модуля, проинициализирован ли он до конца? Или единственный способ - ждать Sms ready?

Смотря что с ним хочется делать.....
А так - 'Call READY' и 'SMS Ready' не дают однозначного ответа о том, что модуль проинициализирован, а дают понять, что лишь соответствющие подсистемы загружены и пройдена их ПЕРВОНАЧАЛЬНАЯ инициализация. То есть даже после них сразу модуль может еще тупить.
lolful
В Билайне говорят, что симкарты по объему памяти одинаковые...

На "долгих" сим-картах скорость обмена 8.7КГц.
На "быстрых" - 100КГц.
CADiLO
>>>>На "долгих" сим-картах скорость обмена 8.7КГц.
>>>>На "быстрых" - 100КГц.

Скорее всего на "долгих" применены чипы с высокой емкостью входов.
Фронты затягиваются и скорость обмена падает.

Общая емкость цепи - вывод модуля + защитный элемент + емкость монтажа + емкость входа карточки желательна не выше 90 pF

Ну или сразу чип отвечает что он тормоз и требует снизить скорость.

Обмен при нормальной карте (точнее CLK) вообще-то от 1 до 5 мегагерц должен быть согласно ISO7816-3
Делим на 10 бит - от 100 до 500 KHz на байт

А вообще то стандартом определено что карты могут быть с CLK до 20 мегагерц
lolful
CLK - 3 МГц на обоих карточках.
Приведеная скорость измерена на Data.
Не буду исключать, что осциллограф вносит искажения и скорость измерена некорректно. Но, по крайней мере, даже с подключенными щупами, время выдачи SMS Ready такие же - на быстрых - 15 сек, на медленных - 40 сек.
Alechek
Цитата(lolful @ Nov 24 2016, 19:50) *
В Билайне говорят, что симкарты по объему памяти одинаковые...

Билайну верить.... По полгода CSD не могут подключить, гворят, типа все подключено, работает.. Те еще спецы..
Сравните сами емкость телефонной книги, емкость СМС, наличие и размер SIM-меню.
ArtemKAD
Ну, вообще-то на симке крутится своя программа и чего туда засунул Билайн - пытать(с пристрастием) технический отдел Билайна.
lolful
Тут скорее вопрос к производителю карт почему выбирается маленькая скорость обмена.
По осциллограмме обмена видно вот что: сначала происходит обмен на скорости 8.7КГц и напряжении 1.8 В, затем переходит на 3В. Скорость при этом не меняется.
Фронты не завалены. И на картах, где обмен идет на 100 КГц фронты тоже не заваленные.
Я пробовал выпаять сборку защитных диодов - разницы не было.
ДЕЙЛ
Цитата(lolful @ Nov 24 2016, 15:40) *
А есть какой-то способ узнать у модуля, проинициализирован ли он до конца? Или единственный способ - ждать Sms ready?


AT+CCALR?
AT+CFUN?
AT+CPAS
lolful
Цитата(ДЕЙЛ @ Nov 25 2016, 13:35) *
AT+CCALR?
AT+CFUN?
AT+CPAS

AT+CCALR? - только покажет статус Call Ready (Call ready выскакивает на 10 сек раньше SMS Ready)
AT+CFUN? - выставляется в 1 (Full functionality) через несколько секунд после включения
AT+CPAS - выставляется в 0 (Ready) через несколько секунд после включения

По-ходу нет команды для опроса статуса SMS Ready.
ДЕЙЛ
Цитата(lolful @ Nov 25 2016, 10:43) *
AT+CCALR? - только покажет статус Call Ready (Call ready выскакивает на 10 сек раньше SMS Ready)
AT+CFUN? - выставляется в 1 (Full functionality) через несколько секунд после включения
AT+CPAS - выставляется в 0 (Ready) через несколько секунд после включения

По-ходу нет команды для опроса статуса SMS Ready.


если несколько секунд роли не играют, то можно просто ждать по минуте после каждой команды, чтобы уж наверняка модуль её прожевал и переварил, а с запросами этих статусов инициализация выполняется за полминуты без последующих явных глюков
Alechek
Цитата(lolful @ Nov 25 2016, 12:43) *
По-ходу нет команды для опроса статуса SMS Ready.

Если не инициализирована какая-то из подсистем, то и обработать соответвтующие этой подситеме команды модуль не сможет.
Таким образом +CMGL=? вернет ошибку, если подсистема сообщений не готова.

Отмечу, что поведение
Цитата(lolful @ Nov 25 2016, 12:43) *
AT+CPAS - выставляется в 0 (Ready) через несколько секунд после включения

скорее всего противоречит стандарту 07.07, так как на самом деле состояние дожно быть "2 unknown (ME is not guaranteed to respond to instructions)".
Но у китая свои представления о стандартах. Приходится есть что есть.
К слову, сам стандант далек от идеала, так как не расшифровывает используемые понятия. Поэтому имеем что имеем.
smalcom
Цитата(lolful @ Nov 24 2016, 14:40) *
А есть какой-то способ узнать у модуля, проинициализирован ли он до конца? Или единственный способ - ждать Sms ready?


+CPIN, +CREG, +CMGL
Alechek
Цитата(lolful @ Nov 25 2016, 12:43) *
AT+CCALR? - только покажет статус Call Ready (Call ready выскакивает на 10 сек раньше SMS Ready)
AT+CFUN? - выставляется в 1 (Full functionality) через несколько секунд после включения
AT+CPAS - выставляется в 0 (Ready) через несколько секунд после включения

По-ходу нет команды для опроса статуса SMS Ready.

+CPAS? походу, надо смотреть. Правда, пояснил бы кто из Симкома, зачем?.... На что он у них влияет (или что на него)
AT+CCALR? != URC Call Ready, как выяснилось.. Видимо, это надо переводить дословно, можно ли звонить (хоть на 112)

Итого получается, что пока модуль не проинициализируется (SMS и Телефонную книгу не рассматриваем), некоторые команды могут давать ошибку, даже если +CPAS=0. smile3046.gif
Окончание инициализации можно узнать только по URC, если пропустили - то увы! smile3009.gif
И URC c названием Call Ready далеко не означает, что можно совершать вызов. wacko.gif

Hub, help.gif, поясните пожалуйста, поведение модема. А то мне опять свое мировоззрение менять приходится....
Да, SIM1 древнюю нашел, вставил. Оператор про нее забыл уже давно, может, и лимит A3A8 исчерпан. SIM2 нормальная стоит

Код
18:03:03.418> <0>AT
18:03:03.418>
18:03:03.418> OK
18:03:03.669>
18:03:03.669> +CPIN: READY
18:03:05.736>
18:03:05.736> Call Ready DS
18:03:13.819>
18:03:13.819> Call Ready
18:03:15.887>
18:03:15.887> SMS Ready
18:03:15.887>
18:03:15.887> SMS Ready DS
18:03:20.648> AT+CCALR?
18:03:20.648>
18:03:20.648> +CCALR: 0
18:03:20.648>
18:03:20.648> OK
18:03:36.626> AT+CREG?;+CGREG?;+CGATT?
18:03:36.626>
18:03:36.626> +CREG: 0,0
18:03:36.626>
18:03:36.626> +CGREG: 0,0
18:03:36.626>
18:03:36.626> +CGATT: 0
18:03:36.626>
18:03:36.626> OK
18:06:39.785> AT+CPBS?
18:06:39.785>
18:06:39.785> +CPBS: "SM",0,200
18:06:39.785>
18:06:39.785> OK
18:08:27.678> AT+CPBR=1,2
18:08:27.678>
18:08:27.678> OK
18:08:35.135> AT+CCALR?
18:08:35.135>
18:08:35.135> +CCALR: 0
18:08:35.135>
18:08:35.135> OK
18:09:06.149> AT+CPAS
18:09:06.149>
18:09:06.149> +CPAS: 2
18:09:06.149>
18:09:06.149> OK
18:18:25.558> AT+CGMR
18:18:25.558>
18:18:25.558> Revision:1352B02SIM800C-DS32
18:18:25.558>
18:18:25.558> OK
18:31:05.199> AT+CDSDS?
18:31:05.199>
18:31:05.199> +CDSDS: SIM1,1,1
18:31:05.199>
18:31:05.199> OK
18:32:52.043> atd112;
18:32:52.043>
18:32:52.043> OK
18:32:54.424>
18:32:54.424> NO CARRIER
18:33:01.630> atd911;
18:33:01.630>
18:33:01.630> OK
18:33:03.948>
18:33:03.948> NO CARRIER
CADiLO
>>>> +CPAS? походу, надо смотреть. Правда, пояснил бы кто из Симкома, зачем?.... На что он у них влияет (или что на него)

Со времен SIM100 рассказываю - про CPAS забудьте, этот рудимент оставлен для совместимости.
Используйте вместо него CLCC
Alechek
Каким образом?
Какой аналог у +CLCC для +CPAS:2?

Я уж промолчу, что симком забыл о еще 2-х предусмотренных стандартом вариантов ответа: 1 и 5.
CADiLO
Тогда давайте промолчим и о том что у Синтериона тоже CPAS=2 вообще исключено из ответов, так же как и 1 и 5 sm.gif

Вот же гады - не китайцы, а тоже исключили, как же так???? И ничего - всем пофигу.

А Телит на эту команду пишет что - Note: although +CPAS is an execution command, ETSI 07.07 requires the test command to be defined.

И действительно зачем пользовать команду CLCC которая может гарантированно ответить в каком состоянии модуль,
если можно использовать CPAS которая скажет - "а ХЗ в каком состоянии модуль - сами догадывайтесь"
Alechek
Эдуард, невнятность стандартов порождает их неоднозначное толкование и невнятную документацию на изделия на основе их.
Далее, невнятная документация на эти изделия порождает невняное поведения изделий на основе этих изделий. И т.д. и т.п. Скоро никто не поймет как управлять Скайнетом и он сам начнет всем управлять
+CCLC не дает ответа на то, готов ли модуль воспринимать команды. И в конкретном рассматриваемом случае я получаю (сам не ожидал) +CPAS: 2
Лично я никогда не рассматривал +CPAS как способ определить, есть ли голосовой вызов и всегда использовал +CCLC

Сейчас задача дождаться, что модуль адекватен, определить, что по SIM1 нам ничего не видать и надо работать по SIM2.
Как без URC найти этот момент - теперь просто не представляю. Ведь пока не пройдет инициализация, даже на базовые команды, типа +CSCS="GSM" будут ошибки.
Alechek
Пока отвечу сам себе:
как я и советовал тут, готовность подсистемы можно проверить тестовой командой, которая гарантированно должна быть выполнена успешно
Код
12:20:23.989> <0>їAT+CMEE=1;+CSCS=?
12:20:24.239>
12:20:24.239> +CME ERROR: 3
12:20:24.739> AT+CMEE=1;+CSCS=?
12:20:24.739>
12:20:24.739> +CME ERROR: 3
12:20:25.364> AT+CMEE=1;+CSCS=?
12:20:25.426>
12:20:25.426> +CPINDS: READY
12:20:25.676>
12:20:25.676> +CME ERROR: 14
12:20:25.989> AT+CMEE=1;+CSCS=?
12:20:26.114>
12:20:26.114> +CME ERROR: 14
12:20:26.614>
12:20:26.614> +CPIN: READY
12:20:26.676> AT+CMEE=1;+CSCS=?
12:20:26.801>
12:20:26.801> +CSCS: ("IRA","GSM","UCS2","HEX","PCCP","PCDN","8859-1")
12:20:26.801>
12:20:26.801> OK
12:20:28.676>
12:20:28.676> Call Ready DS
12:20:36.489>
12:20:36.489> Call Ready
12:20:38.801>
12:20:38.801> SMS Ready
12:20:38.801>
12:20:38.801> SMS Ready DS

Осталось узнать, сколько там подсистем.... Тайна эта за семью печатями. Не верю, что две (Call + SMS).

И порядок их инициализации. Так как есть странности, подсистема может быть вначале готова, а потом не готова blink.gif :
Код
12:17:12.926> <0>AT+CMEE=1;+CALS=?
12:17:12.989>
12:17:12.989> +CALS: (0-19),(0,1)
12:17:12.989>
12:17:12.989> OK
12:17:13.614> AT+CMEE=1;+CALS=?
12:17:13.739>
12:17:13.739> +CME ERROR: 3
12:17:14.239> AT+CMEE=1;+CALS=?
12:17:14.489>
12:17:14.489> +CPINDS: READY
12:17:14.739>
12:17:14.739> +CALS: (0-19),(0,1)
12:17:14.739>
12:17:14.739> OK
smalcom
Цитата
готова, а потом не готова

это уже сбой карты. проверяйте контактики, трассировку, не новые ли супер-пупер продвинутые сим-карты.

Цитата
Осталось узнать, сколько там подсистем.... Тайна эта за семью печатями. Не верю, что две (Call + SMS).

а так сильно нужно знать сколько там подсистем? вам смски и звонить - проверяейте готовы ли смски и звонить.

Цитата
Как без URC найти этот момент - теперь просто не представляю.

повторю ещё раз, связка CPIN + CREG вам полностью даст ответ на вопрос когда можно звонить.
Alechek
А мне звонить не надо.
Мне надо, допустим мониторить СМС-ки.
Только, предварительно надо настроить модуль! Вот тут и возникает загвоздка!

>> это уже сбой карты. проверяйте контактики, трассировку, не новые ли супер-пупер продвинутые сим-карты.
тут проверять нечего. симку можно вынуть - поведение не изменится.
Код
12:37:06.520> <0>AT+CMEE=1;+CALS=?
12:37:06.770>
12:37:06.770> +CALS: (0-19),(0,1)
12:37:06.770>
12:37:06.770> OK
12:37:07.270> AT+CMEE=1;+CALS=?
12:37:07.583>
12:37:07.583> +CPIN: NOT INSERTED
12:37:07.583>
12:37:07.583> +CALS: (0-19),(0,1)
12:37:07.583>
12:37:07.583> OK
12:37:07.692> AT+CMEE=1;+CALS=?
12:37:07.708>
12:37:07.708> +CME ERROR: 3
12:37:08.083> AT+CMEE=1;+CALS=?
12:37:08.083>
12:37:08.083> +CME ERROR: 3
12:37:08.145>
12:37:08.145> +CPINDS: NOT INSERTED
12:37:08.520> AT+CMEE=1;+CALS=?
12:37:09.083>
12:37:09.083> +CALS: (0-19),(0,1)
12:37:09.083>
12:37:09.083> OK
smalcom
Цитата
тут проверять нечего. симку можно вынуть - поведение не изменится.

ну так, а я что сказал?

Цитата
Вот тут и возникает загвоздка!

в чём загвоздка? не знаете какими командами настраивать модуль?
Alechek
Цитата(smalcom @ Nov 30 2016, 23:07) *
ну так, а я что сказал?

Хм... Как бы это:
Цитата(smalcom @ Nov 30 2016, 12:10) *
это уже сбой карты. проверяйте контактики, трассировку, не новые ли супер-пупер продвинутые сим-карты.

Причем здесь СИМ-карта? Иногда можно работать и без нее.



Цитата(smalcom @ Nov 30 2016, 23:07) *
в чём загвоздка? не знаете какими командами настраивать модуль?

Знаю. Загвоздка в том, что не настраивается в нужное мне время (до регистрации в сети)
CADiLO
>>> Загвоздка в том, что не настраивается в нужное мне время (до регистрации в сети)

Ответил в теме "SIM800 зависает после ответа ERROR", но повторю еще и здесь.

Команда посланая до окончания инициализации модуля может быть отменена или проигнорирована.
Особенно если она операторозависимая или касается настройки DSP.
И это кстати не симкомовский прикол, так работает RTOS MTK.
Я понимаю что предупреждение об этом взятое с китайского форума ( документ - "реверс-инженеринг устройств на мтк чипсетах") отсутствует у SIMCOM.
Но и SIMCOM расчитывает на здравомыслие пользователей и что до готовности модуля его не будут шпынять командами
smalcom
Цитата
Загвоздка в том, что не настраивается в нужное мне время (до регистрации в сети)

и ещё раз повторю, чтобы запомнилось "перечитайте", что написал тов. CADiLO )
вы пытаетесь приготовить оливье используя только собственный майонез и из-за этого удовольствие превратилось в мучение.
не жмите миллисекунды там, где реакция на ваши действия может составлять минуты.
Alechek
Цитата(smalcom @ Dec 1 2016, 02:30) *
и ещё раз повторю, чтобы запомнилось "перечитайте".....
не жмите миллисекунды там, где реакция на ваши действия может составлять минуты.

Если кому нравится одевать резиновые сапоги стоя в луже - я не против. Но я одену заранее.
CADiLO
А дождь так и не пойдет sm.gif
И будете при +30 в резиновых сапогах стоять.
smalcom
Цитата
Но я одену заранее.

тогда читать - должно помочь. поиском здесь можно найти несколько тем, где уже ускоряли и симкомы и телиты, вы не первый и далеко не второй.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.