Concurrency in packet transmissions - Arduino MKR GSM 1400


I am using multiple Arduino MKR GSM 1400-based sensor monitoring devices.

The devices work as they should with regards to packet transmissions when powered on individually.
The devices also work well when tested at the same time with different network SIM cards (e.g. lyca and giffaff).

However, when tested with same network SIM cards (both giffgaff or both lyca), one of the devices experiences GSM failures and does not transmit packets.
Also note, the transmissions fail when both devices try at the same time. If a lag is introduced between the transmissions on the two devices, they work properly with some GSM failures.

Please advice why this is happening and what can be done to sort the issue.

My guess is that this depends on the network you're using. You probably use prepaid SIM cards. Did you ensure the two SIM cards used are completely independent? There are mobile plans that allow two SIM cards to use the same account but you can use only one or the other but not both at the same time.

Hi, That's right. am using pre-paid Lyca/GiffGaff sim cards. I believe the two sim cards are independent as they were bought separately and topped up using 2 different accounts. Not sure what I can do to reduce packet losses.

Also, while my code works fine most of the time, sometimes my call to gsmAccess.begin() gets stuck. Could you please advise how this can be fixed.


I fixed the gsm begin error by setting timeout for gsm as well as gprs.
Still not able to understand the concurrency issue.

Please advise.

Please advise.

Ask the GSM provider. Seems to be related to their network setup in some way. I’m not a UK resident so I have no clue about the providers you have.