Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: определение готовности SIM карты
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
maxntf
Люди подскажите АТ команду которой можно определить готовность SIM карты. А то лажа получается, у меня тут попалась карточка, которая расчехляется секунд 40-50 после регестрации в сети. Мало ли вдруг попадется еще более тормознутая. Нужно как то определять ее готовнось, а потом уж лесть к ней в мозги.
HARMHARM
Для SIM300 я после получения Call Ready даю команду AT+CPMS="SM","SM","SM".
Если в ответ приходит "+CMS ERROR: 517", значит карта еще не готова.
После получения "+CPMS: 0,50,0,50,0,50" (для примера) работаю дальше. Не совсем корректно, но работает. Заодно получаю информацию по хранилищу SMS.
maxntf
Цитата(HARMHARM @ Aug 30 2009, 21:51) *
Для SIM300 я после получения Call Ready даю команду AT+CPMS="SM","SM","SM".
Если в ответ приходит "+CMS ERROR: 517", значит карта еще не готова.
После получения "+CPMS: 0,50,0,50,0,50" (для примера) работаю дальше. Не совсем корректно, но работает. Заодно получаю информацию по хранилищу SMS.

Это ясно, я тоже пока просто жду пока ошибку перестанет выдавать при попытки чтении ячейки с телефонной книги.
А может все же есть какая АТ команда, непосредственно для определения готовности симки.
Zayac
на Wavecom GR64 использую команду "AT+CPIN?". Если ответит "READY", модем готов к работе (заодно по ответу ясно, требуется ли ввод пин-кода). Наличие регистрации в сети можно проверить командой "AT+CREG?".
av-master
AT+CPIN?
отвечает гораздо раньше готовности сим карты.. некатит вообще
Chell
Вот так это нужно делать:


adl_tmrHandler_t Check_SIM(void)
{
adl_simState_e SIM_event;
SIM_event = adl_simGetState ();
switch (SIM_event)
{
...
case ADL_SIM_STATE_FULL_INIT:
{
My_tmr_1 = (adl_tmr_t *)adl_tmrUnSubscribe( (adl_tmr_t *)My_tmr_1,
(adl_tmrHandler_t)Check_SIM, ADL_TMR_TYPE_100MS );
// симка готова - едем дальше
}break;
...
}

}

adl_tmr_t * My_tmr_1 = (adl_tmr_t *)adl_tmrSubscribe ( TRUE, 10, ADL_TMR_TYPE_100MS,
(adl_tmrHandler_t)Check_SIM );

кроме события ADL_SIM_STATE_FULL_INIT в обработчик попадает еще масса всяких событий т.е. можно задать реакцию на неправильный пин, хреновую симку и т.д.
Alt.F4
Часто у людей встречаются такие "тормознутые" симки?
Си не знаю вообще и поэтому не понял, каким образом проверяет готовность сим-карты Chell из предыдущего поста.
Спасибо.
CADiLO
Добавлю что скорость готовности карточки еще сильно зависит от ее заполнености.
Если поставить карточку в старый Эриксон A1018 - там довольно неплохой нетмонитор - то увидим что оператор вычитывает телефонную книжку. И чем она полнее, тем дольше идет инициализация. Кроме того операторы любят баловаться карточками выпуская разные акционно-корпоративно-глючные с отступлением от стандартов. Тогда даже не все телефоны их понимают.
mempfis_
Цитата(maxntf @ Aug 30 2009, 15:27) *
Люди подскажите АТ команду которой можно определить готовность SIM карты. А то лажа получается, у меня тут попалась карточка, которая расчехляется секунд 40-50 после регестрации в сети. Мало ли вдруг попадется еще более тормознутая. Нужно как то определять ее готовнось, а потом уж лесть к ней в мозги.


Использую

Код
AT#QSS=2 - настройка вывода статуса

AT#QSS? - запрос статуса sim

QSS: 2,0 - sim отсутствует
QSS: 2,1 - sim ещё не готова
QSS: 2,2 - sim ещё не готова
QSS: 2,3 - sim готова ко всему


Модемы telit поддерживают эту команду
sobr
Цитата(Chell @ Sep 29 2009, 10:44) *
Вот так это нужно делать:

adl_tmrHandler_t Check_SIM(void)
{
adl_simState_e SIM_event;
SIM_event = adl_simGetState ();
switch (SIM_event)
{
...
case ADL_SIM_STATE_FULL_INIT:
{
My_tmr_1 = (adl_tmr_t *)adl_tmrUnSubscribe( (adl_tmr_t *)My_tmr_1,
(adl_tmrHandler_t)Check_SIM, ADL_TMR_TYPE_100MS );
// симка готова - едем дальше
}break;
...
}

}

adl_tmr_t * My_tmr_1 = (adl_tmr_t *)adl_tmrSubscribe ( TRUE, 10, ADL_TMR_TYPE_100MS,
(adl_tmrHandler_t)Check_SIM );

кроме события ADL_SIM_STATE_FULL_INIT в обработчик попадает еще масса всяких событий т.е. можно задать реакцию на неправильный пин, хреновую симку и т.д.
+1
Ну или так:
Код
void simHandler (u8 event)
{
    switch(event)
    {
    case ADL_SIM_EVENT_FULL_INIT:
        TRACE (( 1, "SIM OK" ));
        adl_simUnsubscribe ( (adl_simHdlr_f) simHandler);
        break;
    case ADL_SIM_EVENT_REMOVED:
        
        break;
    case ADL_SIM_EVENT_INSERTED:
        
        break;
    case ADL_SIM_EVENT_PIN_ERROR:
        
        break;
    case ADL_SIM_EVENT_PIN_OK:
        
        break;
    case ADL_SIM_EVENT_PIN_WAIT:
        
        break;
    case ADL_SIM_EVENT_PUK_WAIT:
        
        break;
    case ADL_SIM_EVENT_PUK_ERROR:
        
        break;
    case ADL_SIM_EVENT_FAILURE:
        
        break;
    case ADL_SIM_EVENT_NET_LOCK:
        
        break;

    }
    
}

adl_simSubscribe(simHandler,NULL);

ssokol
Цитата(CADiLO @ Oct 11 2010, 10:16) *
Если поставить карточку в старый Эриксон A1018 - там довольно неплохой нетмонитор - то увидим что оператор вычитывает телефонную книжку.

А не подскажете зачем это оператору моя телефонная книжка, телефонная книжка- это моя собственность (личная жизнь), а воровство
собственности (вторжение в личную жизнь) преследуется по закону.
CADiLO
Вы карточку никогда с важными контактами не теряли? Я случайно сломал киевстаровскую - восстановили по заявлению полностью со всеми номерами.
И еще есть такая штука - СОРМ (оперативно разыскные мероприятия) которая обязывает операторов производит определенные действия по сбору информации.
Я сам в свое время офигел когда это в эфире увидел (у нас первые сотовые мосты из-за этого глючили), а потом ничего, даже пригодилось.
Ну а про личную жизнь.... Наверное это все-же вопрос к Европе, а в exUSSR как-то сомнительно......
ssokol
Цитата(CADiLO @ Oct 12 2010, 10:23) *
восстановили по заявлению полностью со всеми номерами.

Мы тут теряли - восстанавливали и каточки были пустые (мегафон мтс билайн смартс), так что у вас КГБ более крутое ;-)))
sobr
Цитата(CADiLO @ Oct 12 2010, 13:23) *
Вы карточку никогда с важными контактами не теряли? Я случайно сломал киевстаровскую - восстановили по заявлению полностью со всеми номерами.
И еще есть такая штука - СОРМ (оперативно разыскные мероприятия) которая обязывает операторов производит определенные действия по сбору информации.
Я сам в свое время офигел когда это в эфире увидел (у нас первые сотовые мосты из-за этого глючили), а потом ничего, даже пригодилось.
Ну а про личную жизнь.... Наверное это все-же вопрос к Европе, а в exUSSR как-то сомнительно......
Вопрос к CADiLO. Опсос не сможет считать контакты с сим карты без "согласия" модема (телефона). Вопрос: модули SIMXXX "отдают" оператору контакты?
Harbinger
Я бы сформулировал чуть иначе - есть ли у симкомов возможность запретить инициализацию телефонной книжки на SIM? Помимо прочего, поможет справиться с "экзотическими" SIM-картами.
У вейвкомов такая команда была, AT+WAIP.
Alechek
Цитата(sobr @ Oct 13 2010, 08:22) *
Вопрос к CADiLO. Опсос не сможет считать контакты с сим карты без "согласия" модема (телефона). Вопрос: модули SIMXXX "отдают" оператору контакты?

Смею предположить что модуль здусь ни при чем. Вычитывание телефонной книги (как впрочем и всего относящегося к SIM карте) относится к SIM ATK, ИМХО.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.