Single channel gateway-help needed on process for end nodes

I’m looking for some direction/confirmation on what I am seeing-some background:

I now understand the concept of SCG’s, the limitations they present in terms of SF and single channels-and why they are not supported under the TTN umbrella (I’m still not clear on whether unsupported means they just don’t work fully-or are just frowned upon)-which leads onto my main question…

I have the SCG “working”-it is showing connected in the TTN console-and I can see Join requests coming into it from my node-both on the TTN console


and on the CLI logs-signal strength looks good (-87 RSSI, 9dB SNR) node (it is about 30 foot away from the SCG-thanks for the advise on other threads)-however the node never fully joins-it just keeps on sending requests. On the TTN console under Applications/Devices/Data-I see nothing-it seems as if the TTN network is seeing the Joins-but an acknowledgment/Join accept is never sent back to the node. As far as I can see, all my keys are correct, I have tried deleting the device, tried OTAA and ABF-but no joy-I have also confirmed that the node and the gateway are on the same SF and frequency. Is this to be expected in this SCG>node setup-that because of SCG limitations (especially around downlinks), a node wont be able to join? If it should work, what else should I be trying to get this node to be accepted onto the TTN network?


1 Like

It should work in principle, but not all the SCG software implements downlinks. Which one are you using?
I would start with ABP to sort out the most obvious issues (OTAA needs downlinks).

1 Like

Thanks for the reply-I’m using this on the SCG (its the Uptronics dual board which is providing the Lora communication), mounted on a Raspberry Pi 3. I must admit, I find it a bit overwhelming trying to work out what package from Git I should be using so if there is a better/more recent one, happy to start from scratch again!

My node is a Raspbbery Pi 2, with the LoraHAT module installed-the node package is -there are some packages that you can build in there, the ones I have been using are the join and periodic ones. Again, if I need to start from scratch, happy to do so!

I suppose I have learnt a lot in the past few weeks, I’d like to move onto a full blown 8 channel gateway in the future-but I would like to understand the end to end fundementals, by having a working node>gateway-TNN set-up first :slight_smile:


I am using the same software on the RPi Dragino Hat (only one channel, it can be adapted to that), and at least at SF7, downlinks are received (at SF12 I have issues due to the node). However I tried with ABP only, start from it.

Sounds like a plan, thank you Sir :slight_smile:

I may come back to you to confirm my setup, depending on the results if that is ok?



Hmmm-I think I am hitting some sort of authentication issue-I switched over to ABP and still the same problem exists-the Join is going through, but it never completes
Join from Pi

^Cpi@raspi2-lora-hat-node:~/lmic-rpi-lora-gps-hat/examples/join/build $ sudo ./join.out 
000000000 HAL: Initializing ...
000000006 HAL: Detected SX1276 radio module.
000000006 HAL: Set radio RST pin to 0x00
000000006 HAL: Wait until 000000007 ms
000000009 HAL: Set radio RST pin to 0x02
000000009 HAL: Wait until 000000014 ms
000000015 HAL: Receiving ...
000000033 Debug: Initializing
000000034 Debug: JOINING
000001464 Debug: EV_TXSTART
000001465 HAL: Sending ...
000006527 HAL: Receiving ...
000006527 HAL: Wait until 000006528 ms
000007575 HAL: Receiving ...
000007575 HAL: Wait until 000007576 ms
^Cpi@raspi2-lora-hat-node:~/lmic-rpi-lora-gps-hat/examples/join/build $

is seen by gateway
so its getting all the way through to the TTN server?

The one thing I don’t get (using this as a reference article-one of the best I have read) is that my understanding of ABP is that it is hard coded coming out of the factory (or you make it seem so therefore no OTAA required) I don’t see where in the main.c file that both the NwkSKey and AppSKey would reside? (took out the actual code and substituted for deleted for security reasons). I feel this is where I may be falling down…


// application router ID (LSBF)
static const u1_t APPEUI[8]  = { deleted };

// unique device ID (LSBF)
static const u1_t DEVEUI[8]  = { deleted };

// device-specific AES key (derived from device EUI)
static const u1_t DEVKEY[16] = { deleted };




You are still using OTAA (the Join example is an OTAA example). WIth ABP you should not see Joins. Try to locate an ABP example for your configuration (I have the same gateway software, but different nodes, no rpi). I am not sure how different would be from an Arduino version, however the change should be only in the setup phase. When I use LMIC I have a LMIC_setSession (0x1, DEVADDR, NWKSKEY, APPSKEY) call after os_init() .

By the way, to make things simpler and simpler, in the console disable frame counter checks (this gives some security issue, but until you are not able to have it running, go this way), and avoid confirmed uplinks. When one direction is functioning (uplinks), try the rest.

Ahh-now the fog starts to clear. I was wondering where these keys went in the ABP method-and then your reply confirmed it :slight_smile: Thanks for that-I’ll go away and find one for the Pi that works for ABP. I did try with the

sudo ./thethingsnetwork-send-v1

command, but the CPU shoots up to 200% on the Pi (3 B+)-and eventually dies-but not before I saw it hitting my gateway-so I’m getting there.
Onwards and upwards.



Hi there
Just to update-got it all working :slight_smile: Putting in the appropriate keys into the node and using ABP did the trick-I can now see application date from my node-and my gateway being used as the gateway-if that doesn’t sound too stupid a statement!

Now I can go and start to play with antenna’s and hopefully have confidence to move up to an 8 channel board-many thanks for your help @UdLoRa


1 Like

Perfect! glad to have helped :slight_smile:

1 Like