Moduł GSM nagle przestał działać

Jul 05, 2022 19 Replies

Mam pewną konstrukcję z popularnym modułem GSM SIM800L. W ciągu ostatnich kilku lat wykonałem kilka egzemplarzy, które bezawaryjnie działały w kilku różnych lokalizacjach. Ostatnio jedna z nich przestała. Po podpięciu się przez UART i odczytaniu logów okazało się, że modem wywala się na początku konfiguracji, przy próbie ustawienia pracy w trybie tekstowym (AT+CMGF=1). Zawsze w tym momencie zwracał "OK", teraz zwraca "ERROR". Firmware zarządzający urządzeniem w takiej sytuacji podejmuje próbę resetu modułu i jego ponownej konfiguracji, jednak sytuacja powtarza się w kółko.



Co mogło się zmienić, że nagle komenda przestała się podobać modemowi? Przychodzą mi do głowy dwie możliwości:



  1. Doszło do uszkodzenia samego modułu, które objawia się dopiero w momencie konfiguracji łączności GSM. Prostsze komendy (AT, ATE0) przechodzą pomyślnie, zwracając "OK".
  2. Coś zmieniło się po stronie sieci. Czy wynik komendy AT+CMGF może być zależny od sieci?

On 05.07.2022 09:01, Atlantis wrote: [...]

Tak sobie strzelam:

formatting link

Raczej nie, bo to zmienia tylko komunikację z pdu na text w obrębie lokalnego interfejsu. Kojarzę chyba taki przypadek u siebie, że nagle polecenie które "normalnie" zwracało OK nagle zaczęło zwracać ERROR. Możliwe powody:

- CMGF przed użyciem może wymagać rejestracji w sieci (upewnij się że jest)

- zmiana kolejności poprzedzających poleceń konfiguracyjnych Niektóre wymagają odpowiedniej kolejności

- czas "ciszy" na interfejsie między wysłaniem klientowi polecenia, oczekiwaniem na OK (a dokładnie na \r\n za OK) (najczęściej piszesz kolejne polecenie zanim modem dokończy OK)

- coś grzebałeś i popsułeś składnię polecenia (tylko wydaje Ci się że jest prawidłowa)

- występują zakłócenia co przekłamuje składnię "widzianą" przez modem (miałem tak z sim900A, który sam sobie zakłócał linie uart podczas transmisji GSM). Takie problemy najlepiej diagnozuje się z włączonym echo na uarcie, widzisz wtedy "przekłamane echo". Ty wysyłasz np AT+CMGF=1 a modem w echu zwraca np. AT-MGF=1 (przekłamanie w transmisji).

wtorek, 5 lipca 2022 o 09:01:04 UTC+2 Atlantis napisał(a):

Tzw. Internet sugeruje próbowanie AT+CMGF=1 w pętli. Od sieci może to zależeć tak, że sim800l może wymagać rejestracji w sieci przed tą komendą (RTFM dla tego modułu, podobno zgłasza rejestrację komunikatem "SMS Ready", "niestandardowe" to) - a coś się mogło zmienić w sieci, że rejestracja do GSM trwa w tej lokalizacji dłużej. Inny roaming? Co to za operator? A w ogóle "ręcznie" da się na tym module i karcie SIM wysłać/odebrać sms i zadzwonić/odebrać rozmowę? Najlepiej test w docelowej lokalizacji.

  1. Karta SIM działa? Abonament opłacony/konto zasilone? :)
  2. Zasięg jest?

MJ

Raczej nie sądzę. Z tego co pamiętam mam to zrealizowane w ten sposób, że funkcja odpowiedzialna za pobieranie odbieranie danych z modułu wrzuca je do bufora cyklicznego i sprawdza, czy została przesłana cała linia. Dopiero wtedy parser otrzymuje informację o dostępnej linii i pobiera ją do własnego bufora, zajmując się jej analizą. Poza tym gdyby problem był tutaj, to raczej miałbym do czynienia z niestabilnym działaniem. Tymczasem urządzenia oparte na tym kodzie pracowały stabilnie przez kilka lat i jedno z nich nagle przestało działać zupełnie.

Nie było żadnych zmian ani aktualizacji oprogramowania od ponad pół roku.

To też możliwe - sęk w tym, że komunikacja wywala się zawsze w tym samym miejscu. Gdyby powodem były zakłócenia, to raz na jakiś czas nie przechodziłoby też "AT" i ATE0".

A jak wygląda status rejestracji w sieci? Czy była zmieniana karta SIM?

Może w tym rejonie wyłączyli sieć 2/2.5G ?

c.

Może sprawdź, czy inny taki moduł pracuje w tej felernej lokalizacji? Albo czy ten felerny w innej. Będziesz wtedy wiedzieć, że to wina „zewnętrzna”.

No to trzeba wyjąc kartę i sprawdzić telefonem i będzie wszystko jasne. Mi się raz zapchała pamięć sms, ale nie pamiętam jak to się objawiało.

A i jeszcze jedno - jaki jest stan pamięci SMS? Usuwasz smsy po odebraniu (cmgr/cmgd)?

Tak, na ten problem natrafiłem na początku eksperymentów z modułami GSM. Teraz maszyna stanów obsługująca odbieranie SMS-ów zapobiegawczo czyści skrzynkę przy każdym starcie i usuwa każdego odebranego SMS-a po przeparsowaniu.

A co ze statusem sieci, nie komentowałeś tego.

Urządzenie się nie zmieniło, ale co mogło się zmienić:

  1. Temperatura. To może powodować różne dziwne problemy. Urządzenie pracuje wewnątrz czy na zewnątrz?
  2. Coś z siecią. Może wcześniej zanim urządzenie dogadało się z modemem, modemowi już udawało się zalogować do sieci, a teraz trwa to dłużej, a ta komenda nie zadziała bez zalogowania do sieci?

Karta sim jest z całą pewnością aktywna. Co do samego zasięgu, to dopiero trzeba będzie sprawdzić.

Możesz to urządzenie przenieść? Sprawdzić - jednak - z inną kartą?

A w ogóle to po błędzie odpytaj o 'extended error'.

AT+CEER

MJ

Ale to się zdalnie sprawdza banalnie, wystarczy zadzwonić na jego nr, odpowiada?

Sprawa już się wyjaśniła. Padł moduł GSM. Wymiana na inny egzemplarz momentalnie rozwiązała problem.

Eee mało prawdopodobne choć nie niemożliwe. Raczej coś się zmieniło w konfiguracji, co może grozić też nowemu.

Ja wiem czy mało? Np. jakiś EEPROM został zakatowany i dupa. Czasami się zdarza.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required