Device Vitals - Err: -100,

I’m beginning to use device vitals more and once again surprised in it’s behavior. This time I occasionally get {'rssi': {'err': -100}, 'strength': {'err': -100}, 'quality': {'err': -100}, 'qualityv': {'err': -100}, 'at': 8, 'strengthv': {'err': -100}} under the key/value pair ‘Signal’. Any idea whay an error of -100 means? Since the message made it to the cloud it obviously is connected so what does an err: -100 mean? Any thoughts?

Here is my code in where I call particle.PublishVitals(0) every 12 hours:

    //Turn on Cellular and connect to Particle every x minutes
    if(millis() - pubTimeLast_woPower >= (pubTimeMin_woPower *60*1000)){
      //Connect to the cloud
      if (Particle.connected() == false) {
          Particle.connect();
        }
      waitFor(Particle.connected, 60000);
      pubTimeLast_woPower = millis(); //update pubTimeLast_wPower to current millis()

      //Once every 12 hours publish device vitals
      if(millis() - vitalsTimeLast >= (60*60*1000*vitalsTimeHrs)){
        Particle.publishVitals(0);  //Publish device vitals once every 12 hours
        vitalsTimeLast = millis(); //update pubTimeLast_wPower to current millis()
        Particle.syncTime(); //Sync time every 12 hours
      }
    }

Right after this, I turn the cellular off and fall back asleep. I get the Signal Err:-100 about 25% of the time and on two different Boron. I am running 1.4.2 firmware. The other 75% of the time I get values I’d expect. I am using the PublishQueueAsyncRK library for my publish events so not sure if something is getting messed up there?

Any thoughts in how to correct this?

-100 is expected for signal quality (a restriction of the Boron SARA-R410, assuming you’re using an LTE Boron), but it’s not expected for RSSI. Would you mind PMing me a given Device ID of an affected Boron so I can take a peek?

PM of two different device IDs was sent.

Thank you!

The disconnect behavior of these two devices is totally different. One is sleeping and resuming a session, they other is generating a new session every time.

I understand the issue now that I’ve been able to look at the devices - I believe they’re really struggling with signal, recent RSSI readings include:

-109
-107
-140

and for the other device:

-110
-108
-140

The Err -100 just indicate instances where the signal was too low to really register. I believe the value returned at this low level is some byte that doesn’t translate to a legible RSSI reading in the Describe Message ultimately offered up to the cloud, hence the error.

Why are these devices behaving differently? I’m not 100% sure, but I suspect that one of them is just slightly better at coping with these conditions and is able to, for the most part, keep its session open. The other one isn’t, so it likely retries upon booting.

This is just speculation, of course, so in the instance that this categorically does not align with your experience of these devices please open a support ticket and we can take a closer look. Those RSSI numbers are hard to ignore, though, and while RSSI is not the best metric for LTE it’s certainly low enough to evidence a more basic connectivity issue.

Alright. Thanks Marek. I appreciate the explanation. I know I have poor cell reception right by my house for whatever reason. Despite that poor reception, I am happy to say they almost always stay connected and almost always publish on time without any drops. Since it still published each time I figured it would still properly report vitals. However, I can see how that might mess up the vitals. I may take both devices on a field trip tomorrow and see if the behavior is the same when at my employer where reception was reported as excellent in the past. I may also look at using a different Antenna: Alternative cellular antenna for Boron LTE

Do you have any specific recommendations for alternative antenna’s to boost the signal?

@jgskarda - yes! :slight_smile:

Here are some steps you can take in order to enhance the signal quality of your device’s cellular connection!

1. Move the device to a better signal.

This is ideal, as it doesn’t incur any additional cost on the user end. However, many users are location-bound and this is not a possible workaround.

2. Use a higher gain antenna.

Our cellular devices come shipped with an antenna-ready u.FL connector. While this connector is one of the smallest antenna connectors (a good thing when it comes to small-footprint MCU builds!), it’s not the standard for higher gain cellular antennas. By purchasing a u.Fl to SMA adapter, a user opens their project up to a much wider world of commercially available antennas.

When looking for a u.Fl to SMA adapter, be careful to avoid RP (Reverse Polarity) cables. Here are a number of adapter suggestions:

Amazon, u.Fl to SMA Pigtail Cable x2, 17cm

Amazon, u.FL to SMA Pigtail Cable, 15 cm

Adafruit, u.FL to SMA Adapter Cable

Sparkfun, u.FL to SMA Adapter Cable, 4”

After acquiring one of the above adapters, you now have a more abundant array of potential antennas from which to choose. The antenna that comes with your device is likely a Taoglas PC104, with ~3dBi gain. The next steps up include the following passive antennas:

5 dBi Taoglas Maximus Antenna, does not need SMA adapter

6.1 dBi 12-inch Magnet-Mount Omnidirectional Antenna

11 dBi Proxicast Yagi Universal Directional Antenna (note: this antenna will also require an SMA to N-type adapter, as well as mounting hardware)

Start cheap (low gain) and increase until you get the backhaul throughput required. Avail yourself of the many free phone apps designed to locate the nearest tower and provide connectivity metrics. Take the maps with a grain of salt as towers change frequently, maps don’t. Use the FAEs of antenna manufacturing companies like Wilson, Surecall and Linx.

3. Use an antenna with a long cable to improve LoS (Line of Sight) with the tower.

If the situation is merely one of line of sight, this Eightwood 3.5dBi antenna may be a cheap and elegant solution with a long cable.

If you’re unable to get signal with a cell phone, for example, attempt to mount the omnidirectional antenna above as high as possible (~20-30’ is enough in most situations depending on land features). Check SIG and QUAL using our devices.

If you’re still not receiving the reception you need, try the Yagi directional antenna. Renting or purchasing a cellular RF Meter will make pointing a Yagi antenna super easy and accurate. If direction is off even a small amount, it has a large impact on connectivity and throughput.

4. Try a signal booster.

If you’re still experiencing insufficient reception try combining a signal booster with the Yagi antenna. Signal boosters can assist with punching out of a remote location, but ultimately height (and consequently Line of Sight) will have the greatest impact at the lowest cost. You can find more information about signal booster usage here.

The following is a trusted signal booster: link. However, be sure to use the manufacturer FAE to be sure to get the correct hardware for your antenna of choice.

5. Seek the help of cellular connectivity professionals.

If you remain blocked from coverage after attempting the above, it’s worth involving a specialist. A company called Streakwave is a great resource for equipment and FAEs.

Wow… awesome information @marekparticle. Thank you so much for taking the time to put together this response. I’ll start by ordering up a 5 dBi Taoglas Maximus Antenna, does not need SMA adapter

I’ve used the cellular {‘cell_global_identity’: {‘mobile_country_code’: xxx, ‘mobile_network_code’: ‘xxx’, ‘location_area_code’: xxxxx, ‘cell_id’: xxxxx},…} part of my device vitals to map out the location of what the exact cell tower it connected to using: https://opencellid.org. I assume it’s connecting to the closest/highest power but I may see if that changes based on the antenna type or even log all the ones it has connected to in the past and then map them all out.

1 Like

Just wanted to follow-up and report back some initial results. I ended up using the 5 dBi Taoglas Maximus Antenna, does not need SMA adapter and since I started using it two days ago, the device did not report any -100 errs and behaves like it should. It also only publishes as it should based on calling Particle.PublishVitals(0). That said, still early as my device firmware only published that every 12 hours but so far so good.

As far as tangible improvements, the strength score is about the same but the quality score did jump up ~ 10 points or so from low to mid 40s to low to mid 50s. After a week or two I’ll get a better feel for where I’m at but so far the $5 upgrade in the Antenna seems to have helped.

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