[Newbie] Adding more frequency plans to the gateway?

Issue: Add more channels to the gateway

Setup: Raspberry Pi 4, Model B (4 GB RAM) + RAK2245 Pi HAT Edition

Server: Applicable to both The Things Network and ChirpStack

Details:

Hello,

I have a RAK2245 with a Raspberry Pi 4, Model B (4 GB RAM).
It’s working great but I have one issue.

Currently, I have a Dragino LSN50 v2, which I thought was not transmitting data regularly.

I contacted my supplier and they said that the LSN50 v2 communicates over the following channels and need to add them to my gateway:

  1. 865062500 (Already Present and work perfectly, can receive data)
  2. 865402500 (Already Present and work perfectly, can receive data)
  3. 865602500
  4. 865985000 (Already Present and work perfectly, can receive data)
  5. 866185000
  6. 866385000
  7. 866585000
  8. 866785000

Now, I know I can add channels using sudo gateway-config but once I make the changes, the RAK2245’s receiver stops receiving.
The RX LED does not light up.

I used the config below:
https://pastebin.com/uKU6Yrwy

Is there something wrong with it? The syntax seems correct.
And what is the radio and should it be 0 or 1?

I am using IN 865 MHz to 867 MHz and the above frequencies are within my countries’ legal limit.

Please help.

Regards,

Updated and formatted first post properly.

Posted suggestion to get & test using another node on the TTN forum with your x-post.

You may also want to try re-doing the firmware setup.

I forgot it was a Sunday.
I am stuck in lockdown at home / office (they are at the same place) since the last 3 months. I completely lost track of what day it is. Sorry if I came off on the wrong foot.

Unfortunately, I do not have any other gateway. :frowning:
This is the only one and the first time I am using the LoRaWAN protocol for anything.

Yes, the RAK2245 is an excellent product, hats off to it.
It’s mostly something that I have messed up on my side during the configuration of the packet forwarder (global_conf.json) which is why I posted my edits to it.

I don’t exactly know which radio (0 or 1) I should be using in the global_conf.json either.

The RAK2245 receives data on the default 3 frequencies listed here:

IN865-867

Uplink:

865.0625 - SF7BW125 to SF12BW125
865.4025 - SF7BW125 to SF12BW125
865.9850 - SF7BW125 to SF12BW125

But I want to add 5 more frequencies to the above configuration, that I am not succeeding in doing.

I was thinking of another node / mote / device - something different that you can compare against. But now I look a little harder at your message above, I see the correct & legal frequencies are setup just fine on the gateway.

It’s the Dragino that needs to change so it doesn’t try to use frequencies not authorised for your region but a quick glance through the Dragino documentation and I can only see support for single channel mode (!) or 8 channel mode for US915, AU915 & CN470.

The good news is that the device is open source using the STM32Cube libraries so you could recompile for support for IN

Oh the Dragino LSN50 v2 is already configured for IN865. It transmits data on 8 frequencies within the Indian limit of 865 to 867.

But of those 8 frequencies, the RAK2245 captures data on only 3. It’s 8 channel so I wanted to configure it to listen for the remaining 5.

I asked the supplier that won’t it be better to configure the Dragino LSN50 v2 to transmit over the three frequencies?
He said as my application will have more than 10 nodes, there is a chance of data loss and these are going to be used in the industry so there will be a lot of interference from other devices and machinery in the factories so it’s better to make the gateway listen to more frequencies.

India, as per your previous post, lists three frequencies and the Dragino documentation doesn’t mention supporting the India plan. Getting the gateway to listen to frequencies you shouldn’t be transmitting on seems to be the wrong way round.

Good sir,

The Dragino LSN50 v2 page lists IN865 frequency.

It is already configured to transmit on 8 channels between 865 MHz to 867 MHz.
865 MHz to 867 MHz is legal in India. I can use any frequency between 865 to 867.

I am not doing anything illegal here. I am following my country’s law, I obviously don’t want to land in any trouble.

And the Dragino LSN50 v2 is already transmitting on the following three frequencies:

  1. 865.0625
  2. 865.4025
  3. 865.9850

I can see them on the RAK2245. It is receiving the Dragino LSN50 v2’s data on the above frequencies.

But I also want the RAK2245 to listen to the below frequencies:

  1. 865.6025
  2. 866.1850
  3. 866.3850
  4. 866.5850
  5. 866.7850

All of them, are between 865 to 867 MHz.

So again, there is nothing illegal I am doing here. I can do anything I want between 865 to 867 MHz.

Perhaps you can ask Dragino for a suitable global_conf.json for the custom frequency plan they have dreamed up, since what you are configuring here is the SX1301/SX1308 chip that everyone uses, not any aspect of the rest of the gateway that differs by brand.

Or else evolve the existing one a single change at a time, making sure to check the packet forwarder log for errors and making sure you still get packets at the standard frequencies after each change.

Well, yes, I could do that but my supplier said,

As my application will have more than 10 nodes, there is a chance of data loss and these are going to be used in the industry so there will be a lot of interference from other devices and machinery in the factories so it’s better to make the gateway listen to more frequencies.

The RAK2245 is a 8 channel gateway. I am trying to make it a 8 channel gateway by editing the config. I am failing to do so.
If you don’t want me to use it in 8 channel mode, why even advertise it as an 8 channel gateway?

That’s all quite misleading. 10 nodes is a truly tiny network, which in no way requires more than 3 frequencies.

The types of interference sources you mention aren’t likely to affect LoRa much, and not in a frequency unique way…

This is basically a bunch of “we don’t want to help you” false-excuse hand waving.

The helpful thing for your supplier to do would be to either

a) tell you how to configure the node for a standard band plan

or

b) tell you how they suggest you configure the IF’s and offsets of the standard SX130x chip (same as used in their own actual gateways) for the unique bandplan they have chosen.

If you don’t want me to use it in 8 channel mode, why even advertise it as an 8 channel gateway?

It works just fine for 8 channels in the situations where the agreed upon band plan has 8 channels. It could support 8 appropriately chosen custom channels in other situations as well, but it’s up to the person choosing the channels to do so with consideration to how that channel plan is going to map onto the capabilities of an SX130x

This is a problem of Dragino’s creation, so the solution should be up to them.

Note additionally that a non-standard band plan is probably not going to work with the TTN servers - they are likely to be confused in how to respond to uplinks on non-standard frequencies. And they’re likely to try to command the node via MAC commands to use only the standard frequencies.

RAK advertise it as an 8 channel gateway because it can do 8 channels. But India has only authorised 3 channels. That’s not RAK’s fault.

And whilst the front page for the Dragino node may say they support IN, their technical documentation has the option of only one frequency or the frequencies for US, AU & CN.

LoRaWAN is pretty robust, but it is not designed for 100% guaranteed delivery. Using very rough maths, if transmissions are ~200ms, sending every 15 minutes, over three channels, there’s capacity for ~13,500 nodes, but lets assume that half the time they clash, that’s still 6,750.

I had to go look this up, it turns out that the LoRa alliance has only specified three channels as standard but seemingly invited network operators to define additional ones if doing so is legal.

The network channels can be freely attributed by the network operator. However the three following default channels MUST be implemented in every India 865-867MHz end-device. Those channels are the minimum set that all network gateways SHOULD always be listening on.

So what is being attempted may not be illegitimate - but it’s up to the people going beyond the standard to explain how they think their custom scheme should be implemented. OP has a generic SX1301 or SX1308 hanging off a raspberry pi, if the channel plan is sane the people who dreamed it up should be able to tell how to configure the chip to operate it.

And the network server would also have to support the custom scheme…

I don’t get it.

Why does the custom scheme fail?

The RAK2245 listens to:

  1. 865.0625
  2. 865.4025
  3. 865.9850

If I change 865.9850 to 865.9849, the scheme will fail.

Why so?
Has it been hardwired to fail?

Because you’ve incorrectly configured the chip. You cannot simply drop arbitrary numbers in, someone wanting to use a non-standard channel scheme needs to plan out how the parts of the radio receiver are actually going to achieve all of them as small offsets from two tunable IFs.

If I had to guess right now, even apart from the likelihood of not achieve the intended frequencies, I’d suspect that packet forwarder is rejecting your configuration file due to some error in it and simply refusing to run at all, but you’ve not seemingly made any attempt to examine the logs and figure out what is going on.

The only “wiring” that applies is in the silicon from Semtech. That is the same for every gateways manufacturer.

So if there is a radio configuration that works in Dragino’s own gateways, that same configuration (or at least the numeric aspect of it) will work here.

How do I check the logs?

All I got was:
ERROR: invalid configuration for Lora multi-SF channel 3

Don’t know what I expected.

Okay, so final question guys,

Is it safe to run a node in single channel mode when there will be 10 devices around? Cause I am having a hard time settings multi-channel mode.

Your IF offsets are out of range. They should be as small as possible, something like +/- 400 KHz may be enforced at some level as a practical limit.

This is what I mean about not being able to put in arbitrary numbers, but needing to actually design how the parts of the hardware will achieve the channel plan as a set of offsets around two IFs.

If Dragino has their node working on their own gateways, then they already have worked out how to implement this channel plan. Ask them for the IF’s and offsets, basically their global_conf.json

Okay, thanks. I will do that.