Skip to content

No way to force US Sub-band #2 (channels 8-15) to join Helium network reliably #140

@Joshbloam

Description

@Joshbloam

I have spent hours trying to find a way to force the modem to only send joins on US915 Sub-band 2 (channels 8-15) used by Helium. I can force the modem to use sub-band 1 by setting modem.begin(US915_HYBRID) and talk to The Things Stack successfully. The problem is Helium in the US uses sub-band 2 and I need a way to force joins on only US915 channels 8-15.

Does anyone know how to do this? My fear is there is no way to do this currently. Could someone look at creating a variation of US915_HYBRID which only uses US915 band 2 (Helium) instead of sub-band 1 (TTS)?

Currently, I can get successful joins 1 out of 50 attempts. I can provide my entire sketch if needed.

if (!modem.begin(US915)) {
  Serial.println("Failed to start module");
  while (1) {}
};
modem.disableChannel(0);
modem.enableChannel(1);  // only one enabled for Helium
modem.disableChannel(2);
modem.disableChannel(3);
modem.disableChannel(4);
modem.disableChannel(5);
modem.disableChannel(6);

modem.setADR(true);
modem.dataRate(0);  //set data rate to be 0/5, Spreading Factor 7 and channel bandwidth to 125kHz. SF7BW125

modem.configureClass(CLASS_C);
int connected = modem.joinOTAA(appEui, appKey);
while (!connected) {
  Serial.println("Something went wrong; are you indoor? retring after 30sec");
  delay(1000);
  int connected = modem.joinOTAA(appEui, appKey);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions