Go Down

Topic: hanging at gsmAccess.begin() (Read 662 times) previous topic - next topic

Melonfruit

Hello, I was trying to connect the MKR GSM 1400 to the hologram network but it seems that the device hangs when it reaches the line

if ((gsmAccess.begin() == GSM_READY) &&
        (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY))

After some research I was made aware that this issue was fixed in the 1.31 version of the MKRGSM library. I'd like to know if the board is defective or if there is something I have not done correctly.

The board is using the provided antenna along with a working SIM card from hologram. The board when connected to the PC through USB is also connected to a 3.7V LiPo battery that is connected to the VIN and GND pins on the MKR1400. I have also tried the 5V and GND pins. The reason why I have not plugged in the LiPo battery directly into the connector is because it does not fit.

The sketch I was using is provided by Hologram at https://help.hologram.io/connection-instructions-for-3rd-party-hardware/development-boards/arduino-mkr-gsm-1400.

Rohling_Wuchter

#1
Jan 21, 2019, 12:22 pm Last Edit: Jan 21, 2019, 12:24 pm by Rohling_Wuchter
Usually I put the GSMAccess.begin(PINNUMBER) - call into a loop, that counts to 10 with a delay of 1 second. Most of the time I get at least 3 failed connections before it works.

Also check out, if your pin-number and APN are correct. (I thought I deactivated it once, but it was still active and I could not connect with an empty pin-number). Login and password are usually not set initially, so they do not matter.

Last, I guess you should use the actual connector for the battery. If you're using Serial-USB for debugging, then beware, that you first should connect the battery and ~10 seconds later the USB-cable. Otherwise the board tries to get the required voltage for the GSM-module from the USB-connection which fails very often (for me).

lavignema

I am connecting to the GSM system as well.
First off I would advise you to separate your functions until such time as you determine which is causing the hang. Start with:

if(!connected) {
    if(gsmAccess.begin() == GSM_READY) {

Print something after this phase to tell you that the connection is there.

Then run your connection to the Hologram network:

if(gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY)) {

Likewise print something to confirm the second phase of your connection.

mashal1996

Hello, I have exactly the same problem, I tried a lot of things to fix it but it still hanging at gsmAccess.begin() == GSM_READY because it will print every thing before gsmAccess.begin()  but once it enters the function , it will stop.

please if you have any solution tell us.

lavignema

I also had issues with connecting at first. I was using the little GSM stick-on (fractal) antenna and couldn't get it to connect. I also never got the "Not connected" message so it baffled me. Instinctively, I remembered I had crappy reception even with Verizon and AT&T at my house so I bought the larger GSM antenna and moved it towards the window. It then began to connect. My conclusion from all of this was that reception issues can hang the unit and leave you wondering why.

Initialize your instance of GSM by adding a true indicator to turn on modem debugging. I used "GSM gsmAccess = 1;" when I couldn't connect. Of course you will have to look up the AT commands to see what is happening. It looks like the AT+CREG command has to return a connected status and AT+CPIN must reply with +CPIN: READY or your SIM password is no good.

Go Up