реклама на сайте
подробности

 
 
> GSM в устройстве. Пользователь ввел неправильный PIN, как обрабатывать?
Сергей Борщ
сообщение Jun 27 2018, 16:46
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Ситуация: пользователь в настройках устройства ввел неправильный PIN-код. Или сменил SIM-карту и в устройстве оказался неподходящий к этой карте PIN. Понятно, что получив от модема +CME ERROR: 16 (incorrect password), попытки ввода прекращаем и включаем красный свисток. Допустим, я могу запомнить этот факт, чтобы не повторять попытку после передергивания питания до тех пор, пока пользователь не сменит PIN в настройках. Но пользователь может вытащить карту, вставить ее в телефон, сменить на ней код на тот, кторый прописан в устройстве и вставить карту обратно. Или со словами "Семен Семеныч! Это же не та карта" вставить другую карту. А устройство больше не будет пытаться запустить модем, ожидая смены PIN-кода. Облом.

Хотел перед вводом PIN считать IMSI и проверять на совпадение с тем, в который была неудачная попытка ввода. Это решило бы все проблемы. Но модем не может считать IMSI до ввода PIN кода.

Можно перед вводом кода дать AT+SPIC и вводить код только в том случае, если количество оставшихся попыток больше двух (больше трех же вроде не бывает?). Вроде бы тоже почти все проблемы решает - после смены PIN внешним телефоном количество попыток сбрасывается, при смене карты тоже можно ожидать, что в ней количество попыток будет равно трем. Но остается возможность, что вставили карточку в кторую уже однажды вводили неправильный PIN. И формально вроде бы есть возможность ввести код и затавить устройство работать. Но если мы будем вводить код пока количество попыток больше одной - мы оставим пользователю только одну попытку на смену кода внешним телефоном.

Как вы поступаете в таких случаях? Просить пользователя отключать проверку PIN в карточке - не выход.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Jun 29 2018, 00:16
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



В общем, мне нужен был AT+CCID - чтение серийного номера карточки. А я помему-то на IMSI зациклился.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th April 2024 - 04:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01665 секунд с 7
ELECTRONIX ©2004-2016