Сотовый модуль никогда не восстанавливает соединение для передачи данных после первой ошибки - PullRequest
0 голосов
/ 04 апреля 2020

У меня очень странная проблема с U-Blox SARA-U201, которую я пытаюсь запустить и запустить для устройства на базе IOT. У меня модуль правильно инициализируется, подключается к своей сети, а также передает и получает информацию. Он работает как шарм .. до тех пор, пока это не так.

Случайно (и с возрастающей частотой) модуль выполняет процедуру запуска, говорит, что все отлично, успешно устанавливает соединение PDP, пытается установить inte rnet connection .. и затем просто ERROR. Ничего не работает, разрешение DNS, HTTP-запрос, TCP-соединение, ничего не работает. Я спрашиваю у модуля, есть ли у него действующее соединение PDP, и он отвечает «да». Он даже дает мне действительный IP-адрес, который ему присвоен. С подключением к данным не работает ничего, но модуль говорит, что все ОТЛИЧНО. У меня даже есть несколько баров обслуживания. +CSQ:10,2. Мой портал сотовых операторов сообщает, что SIM-карта подключена к сети 3G, а также к действительному соединению PDP.

enter image description here

Теперь вот здесь и начинается странная часть. Модуль сделает это при первой загрузке, и будет продолжать это делать до тех пор, пока устройство не будет перезагружено, где он снова будет бросать кубики, если он будет работать или нет. Кстати, во время этого процесса устройство физически не перемещалось.

Если ему удастся работать один раз, он будет работать все время, пока модуль включен, без сбоев.

Вот еще более сумасшедшая часть, я полностью сменил поставщиков SIM-карт, и проблемы исчезли полностью ... на некоторое время. Примерно через 1,5 недели разработки проблема вернулась, и теперь это происходит примерно в 90% случаев.

Я немного изменил свой код, думая, что должно быть что-то не так с соединением PDP или что-то в этом роде. неправильно с регистрацией сети. Я попытался сделать так, чтобы каждый раз, когда возникает ошибка, она убивала и перестраивала соединение PDP и начиналась с нуля. Но это не решило проблему. Я просматривал примеры сотовых команд u-blox и лучшие практики, и я не вижу ничего, что я делаю неправильно.

https://www.u-blox.com/sites/default/files/AT-CommandsExamples_AppNote_%28UBX-13001820%29.pdf

Я проверил wireshark на стороне сервера, и когда возникает проблема, на этом порту ничего не появляется. Портал моего сетевого провайдера также показывает, что для SIM-карты не было зарегистрировано никаких данных.

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

Я немного растерялся.

Вот команды, которые вызывают проблему.

+PACSP1

+UMWI: 0,1

+UMWI: 0,2

+UMWI: 0,4

+UMWI: 0,


+PACSP1
+UMWI: 0,1
+UMWI: 0,2
+UMWI: 0,3
+UMWI: 0,4
AT+CMEE=1
0K

ATI
SARA-U201-04B -00
0K

AT+CGSN
<MY IMEI>
0K

AT+CPIN?
+CPIN: READY
0K

AT
0K

AT+COPS=0
0K

AT+UCIND=2
0K

AT+CSDH=1
0K

AT+CMGF=1
0K

AT+CNMI=1,1
0K

AT+UGPS=1,15,127
0K

AT+CGREG=1
0K

AT+UREG=1
0K

AT+COPS?
+COPS: 0,0,"T-Mobile",2
0K

AT+CGATT?
+CGATT: 1
0K

AT+CGREG?
+CGREG: 1,1
0K

AT
0K

AT+CSQ
+CSQ : 12,2
0K

AT+UPSND=0,8
+UPSND: 0,8,0
0K

AT+UPSND=0,8
+UPSND: 0,8,0
0K

AT
0K

AT+UPSD=0,1,em"
0K

AT+UPSD=0,2,""
0K

AT+UPSD=0,3,""
0K

AT+UPSD=0,6,3
0K

AT+UPSD=0,8,1
OK

AT+UPSD =0,9,1
0K

AT+UPSD=0,4,"8.8.8.8"
0K

AT+UPSDA=0,3
0K

AT+UPSND=0,8
+UPSND: 0,8,1
0K

AT+CPMS="ME","ME","ME"
+CPMS: 0,300,0,300,0,300
0K

+UREG: 3

AT+CSQ
+CSQ: 12,2
0K

+UREG: 6  

AT+CSQ
+CSQ: 12,2
0K

AT+CSQ
+CSQ: 12,2
0K

AT+USOCR: 0
0K

AT+USDRN=0,"myserver"
ERROR

AT+USOER
+USOER: 163
OK

AT+USOCTL=0,1
+USOCTL=0,1,0
OK

AT+USOCO=0,"myserver",1234
ERROR
...