Serious problem with XBee S2C DigiMesh range.

My (simplified) setup is, in a DigiMesh 2.4 network with firmware version 9000:

  1. a wireless sensor node which is supposed to sit in a vineyard
    • XBee XB24CZ7UITB003 (programmable option turned off)
    • Arduino Nano
    • Gravitech XBEE-4NANO to connect the radio and the nano
    • Adafruit Solar panel, Lipo battery and charger
    • 2.4Ghz antenna RPSMA male connected to the radio with a short SMA to U.FL cable
    • sensors connected to the nano
  2. a Raspberry Pi gateway which is to sit inside in LOS to sensor node
    • XBee XB24CZ7SITB003 (programmable option turned off)
    • Sparkfun XBee USB Explorer
    • 2.5Ghz antenna RPSMA male

All radios have Power Level PL) set to 4 (Highest) and Power Level (PL) set to 1 (boost mode enabled).

Everything basically works: the nano collects sensor data, sends it to the xbee serially, which transmits it to the RPi (using API mode 2 - ie, with escapes). The Rpi receives the data and sends it to cloud. Lovely.

However, outside under good conditions, with perfect line of sight I only seem to be able to transmit 50-100 meters. Any further and… nothing.

The sensor is supposed to send four pieces of data. Each data item is collected and sent independent of the other items. So, four potential transmits. However, near the limit of the range there could be only one, two or three data transmits.

The nano also reads the latest RSSI value from the xbee using a local AT command (DB). The value is rarely better than -65dB even when the sensor node and the RPi are in the same room next to each other. This doesn’t seem right either. As a matter of fact, under these conditions if I unscrew the sensor node antenna, I get about the same value. And yes, the SMA to U.FL extension cable appears to be securely fastened to the sbee radio.

Additional info

  1. The wireless sensor node cones in two flavors. In one flavor, the the xbee sleeps (sleep mode 1 - pin sleep) and is wakened up by the nano every three minutes to send data. In the other flavor the xbee is awake all the time.
  2. Another scenario uses two wireless sensor nodes. With two nodes there are three configurations: both sleep, both are awake, one sleeps the other is awake. The results are the same in all cases.
  3. The radios themselves seem fine. They connect easily to XCTU and can be reprogrammed with little effort.

I am on a tight deployment schedule and everything in the system works, except the xbee radios. Am I missing something obvious? It seems like the radios aren’t activating their antennae - is that even possible? Does it have something to do with the fact that I am using the programmable variant (XB24CZ7) of the S2C line? Or maybe mixing the programmable variant (XB24CZ7), on the wireless sensor node, with the non-programmable variant (XB24CDM), on the gateway, is the problem?

Edit 1: Thinking it might be some kind of radio incompatibility I tried various combinations. The gateway always had a S2C XB24CDMSIT-001 radio (with the attached RPSMA antenna).

A. The original configuration used a XB24CZ7UITB003 with a U.FL Connector. As reported the range was very poor.
B. The next configuration used the XB24CDMSIT-001 radio with RPSMA antenna. The range was very good with this configuration. So it is the radio, right?
C. Not so fast. The next trial used a XBP24CDMUIT-001 radio (the PRO version) with a U.FL Connector. I would expect that using this radion with its increased range would provide a good result. Wrong. The range was terrible.
D. Finally, I used a XB24CDMUIT-001 radio, which is the U.FL version of the radio in B. above. Again the results were poor!

The test results indicate that using a radio with U.FL Connector (firmly connected) gives very poor results: tests A, C and D, above. Using a radio with RPSMA Connector gives very good results: test B, above.
Does this make sense to anybody? In particular, are the U.FL connectors (specifically ‘Hirose U.FL to SMA(F)Bulkhead Straight Connector’) really that poor?