0

I have a Pi Zero device that needs to send periodic updates from remote locations. I thought the easiest way to do this would be to have a USB cellular dongle and send the data via email. This does work - in principle - but very often the device loses internet connectivity for hours on end. I first tried with a simple commercial K1561z dongle and sim (Vodafone in the UK), setting the provider's APN, but when it stops working, there's nothing that can provide diagnostics when things aren't working. The most I can do is ping programatically and reboot if there's no response (but that never solves the problem). With a more sophisticated modem (SIM7600G-H) I can interrogate the APN registration, and it's fine - but still there's just no response to pinging. I saw this thread How does APN affect cellular connectivity? which implies that the network or the tower can disconnect the internet at any time, but that seems a little odd. Yesterday, for instance, I could only send emails from 00:00 until 02:45 ‍♂️. What I really need is a way to diagnose this and see why I don't have internet and what to do about it. Any ideas?

[2024-08-09] Thanks for all the comments. Oh my! It doesn't sound promising. So my follow up questions are:

  1. A consumer dongle appears as eth0. Is there any way at all to perform diagnostics (other than ping)? Because all the possible problem sources that people have described are very different.
  2. If I use a dongle that appears as usb0, I can issue AT commands, but does that give me any ability to diagnose the problem, other than checking that the APN is registered and connected (it is)?
  3. [More of a comment than a question] You say that hard power cycling may be necessary (I've just been doing sudo reboot now). I might try that.

1 Answers1

1

Providers often take down internet, cellular more do for a variety of reasons such as maintenance. And something could be wrong with your software, pi, the power supply or the dongle.

I have used two solutions in the past, for my Iot hardware.

  1. Brute force approach. Put a timer on the mains and restart it periodically.

  2. In your software. Ping a site such as google periodically. If there is no response, activate a timed relay to restart your device. IYou need a hardware reset.

The 3rd one, that I am still working on is to auto repower my device when it hasnt accessed a slave device for a period of time.

Rohit Gupta
  • 507
  • 2
  • 3
  • 18