Signal error but signal strength is good

I am testing a Dash unit in a device monitoring setup and have run into a weird issue. The HologramCloud.getConnectionStatus() is returning 5 (ERR_SIGNAL), but HologramCloud.getSignalStrength() is returning 25-30.

I have had other setups where the connection was made with a much lower signal strength. What’s the best way to diagnose this issue and find out why the connection is failing?

I should also mention that I’ve tried two different Dash units/SIM cards and they exhibit the same problem.

Sorry if this seems like a dumb question but did you connect the dash before calling that function?

Its enitrely possible to have a signal but not be connected since the actual connection transaction has to be instigated by the dash before a connection is actually established.

Yes, the very first thing my code does is attempt to send a message. Once it tries to send the message, it starts reporting on signal strength and connection status.

can you share a snippet of your code? My only concern is that in the SDK sending a message does not require a connection. So doing hologram.sendMessage("message"); even if it does send successfully, doesn’t necessarily mean that a connection has been created since it uses AT socket commands from the modem to send it.

I havent worked on the dash firmware but just crossing usual suspects off the list of reasons why it might not be working :slight_smile:

This is basically what the code does:

void setup() {
  ...
  sendMessage("WatchdogLINK Dash Active");
  ...
}

void loop() {
  ...
  retrieveStatus();
  ...
}

void retrieveStatus() {
  ...
  Serial2.print(HologramCloud.getConnectionStatus());
  Serial2.print(" ");
  Serial2.print(HologramCloud.getSignalStrength());
  ...
}

void sendMessage(const char *message) {
  HologramCloud.clear();
  HologramCloud.println(message);
}

void sendQueuedMessage() {
  ...
  for (int retry = 1; retry <= 10; ++retry) {
    if (HologramCloud.sendMessage()) {
      return;
    }

    int status = HologramCloud.getConnectionStatus();
    Serial2.print("ERR ");
    Serial2.print(status);

    if (status == CLOUD_ERR_SIM || status == CLOUD_ERR_CONNECT || status == CLOUD_ERR_UNAVAILABLE) {
      // Can't easily recover from these errors, so give up on this message
      break;
    }
    else if (status == CLOUD_ERR_CONNECT || status == CLOUD_ERR_SIGNAL || status == CLOUD_ERR_UNREGISTERED || status == CLOUD_ERR_MODEM_OFF) {
      // Low signal, check the antenna, or move into better coverage area
      Dash.snooze(10000); //wait 10 seconds
    }
    else if (status == CLOUD_REGISTERED) {
       // Still connecting?
       Dash.snooze(10000); //wait 10 seconds
    }
  }

  Serial2.println("FAILED");
}

And I see the status message emitting 5 for the connection status and 25-30 for signal strength. The message does fail to send, emitting 5 as the error until the retry loop quits.

Interesting, I don’t see anything in the code that I would suspect what might be causing this. Are you using a third party antenna?

If you load the repl sketch and and do cloud signal and cloud status do they return the same.

Are you on the most recent firmware and Arduino IDE?

Depending on your location with respect to the cell site and local terrain you might be getting multi-path distortion.
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wireless-lan-wlan/27147-multipath.html

Yes, I’m using a 3rd-party antenna. Basically the device is mounted inside of a residential generator unit that has a metal case, so it needs an external antenna to be able to connect to the cell network.

I’m using a Taoglas U.FL to SMA connector, a 4’ SMA extension cable, and a Taoglas 2G/3G/4G external antenna. This setup works in a number of other setups, this is the first location where it has exhibited this issue.

I’m using the most recent firmware and board revisions, but using 1.6.9 of the Arduino IDE.

Try taking the device with SIM to a known GSM/LTE metro location.

Cheers

When you say it works in other setups, you mean it works in other setups using the Dash?

Hope these questions don’t seem too ridiculous, we troubleshot something today where the sim was literally upside down and another where it had not been activated yet. Actually your issue sounds very similar to the latter issue where we could see a signal but the carrier kept rejecting connections.

Can you confirm that your sim is active in our dashboard or whatever carrier your sim is from? I know you said you tried different dashes and SIMs but worth double checking.

Yes, I have several of these setups (antenna/extension cable/Dash) and this is the first one that worked for a couple days and then just died.

You make a good point about the SIM card. When I swapped boards and SIM cards around, I realized that the second SIM I used had not been activated yet, so I activated it and about 10 hours later it finally came online. It has been online ever since, but still leaves the open question about why the first SIM/Dash worked for 3 days before it started returning ERR_SIGNAL, and why the second SIM took more than a couple minutes to come online after being activated.

Does it mean the first SIM is faulty and I should just stop using it?

When activating a SIM it might take awhile if its consistently powered but if you cycle it it should come on much faster. Basically the tower will refresh its state when attempting to attach again from a power down > power up

I want to look into the other SIM a bit more as well, can you email success@hologram.io with the SIM # and we can look into it on our end. you can basically just copy and paste that middle paragraph for the explanation and we can try to see if the SIM card got into a bad state and whether we might be able to fix it.

Thanks for the info. I have sent the SIM # via email.

Thanks, I hope Maiky helped. I believe he reset/refreshed the SIM so it should work. We had a hiccup with SIMs recently due to an outage though I don’t know that this would have affected yours in the same way as some of our other users.

if you still have problems just post again in this thread :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.