Hi, I finally got my RAK4631 to integrate with the Helium network and packets are traveling through the Helium console into my google spreadsheet. Unfortunately after sending between 10 - 200 good packets of data I get the lms_send fail messages which continue until I restart the unit.
I’ve tried several different data rates and power levels, some are stable longer than others but always within a few hours the system enters a failing lms_send state. Any hints on how to determine root cause of the issue, and/or how to recover after a failure occurs. I’m sending out packets about every 20 seconds, which are 13 bytes in length, basic environmental sensor readings (temp, pressure, humidity and gas level).
As always, thanks in advance for all the great advice I get from forum users/admins!! 
Below are some of my config values:
#define LORAWAN_DATERATE DR_3
//#define LORAWAN_DATERATE DR_3 /LoRaMac datarates definition, from DR_0 to DR_5/
//#define LORAWAN_DATERATE DR_0 /LoRaMac datarates definition, from DR_0 to DR_5/
//#define LORAWAN_TX_POWER TX_POWER_5 /LoRaMac tx power definition, from TX_POWER_0 to TX_POWER_15/
#define LORAWAN_TX_POWER TX_POWER_0
#define JOINREQ_NBTRIALS 3 /**< Number of trials for the join request. */
DeviceClass_t g_CurrentClass = CLASS_A; /* class definition*/
LoRaMacRegion_t g_CurrentRegion = LORAMAC_REGION_US915;
//LoRaMacRegion_t g_CurrentRegion = LORAMAC_REGION_EU868; /* Region:EU868*/
lmh_confirm g_CurrentConfirm = LMH_CONFIRMED_MSG; /* confirm/unconfirm packet definition*/
uint8_t gAppPort = LORAWAN_APP_PORT; /* data port*/
/**@brief Structure containing LoRaWan parameters, needed for lmh_init()
*/
static lmh_param_t g_lora_param_init = {LORAWAN_ADR_OFF, LORAWAN_DATERATE, LORAWAN_PUBLIC_NETWORK, JOINREQ_NBTRIALS, LORAWAN_TX_POWER, LORAWAN_DUTYCYCLE_OFF};

