Unable to connect WM1302 + RPi 4 Gateway to TTS

I finally solved it. I was facing the same issue where the gateway status in TTN would never change from “disconnected.”

Just to share and possibly help anyone in the same situation, I’ll explain what I did.

My setup: WM1302 module + SenseCAP M1 board + RPi Zero 2W.

The solution was to correctly configure the ‘gateway_ID’ variable in my gateway’s JSON (in my case, ‘global_conf.json.sx1250.us915’).

It turns out that in TTN, there are two fields: ‘Gateway ID’ and ‘Gateway EUI’. Logically, I was copying the ‘Gateway ID’ and pasting it into the ‘gateway_ID’ variable. BUT THIS IS WRONG. For some reason, in order for it to work, I had to copy the value from the ‘Gateway EUI’. them it works… to verify, in TTN, on your gateway’s screen, click on the hamburger button and select ‘download conf_json’, and you’ll see the value used by TTN as “gateway_ID.”

This has been widely called out on the Forum for many years, usually in instances where registering/connecting GW’s fails as above. (Search is your friend). Simply put GW EUI is a ‘unique’ identifier assigned to a specific piece of hardware - often derived (Search again) from host device MAC - especially in the case of e.g. RPi based implementations - or assigned by the producer of the Concentrator card used. In many cases s/w implementors and manufacturers take a lazy approach of describing this as the GW ID - it can be but isnt guaranteed to be such. A lot of early GW firmware builds included this (again esp in case of RPi builds) and it is a common description on the GW side. In the context of TTI/TTN and others GW ID is intented to be an easy to read (by human) GW ‘name’ that allows it to be easily identified when viewing a list of GW’s in a NOC setting - try spotting a specific troublesome or targeted GW in a list where they all show something like EUI-B827EBFFFEABCD, and you have 10, 20, 50, 100 of them! :wink: Whereas the TTN Console allows for free form text (with some limits inc character types) limited by your imagination or use case. So a list of GW ID’s where you see GW ID = fredsfarmwestfield, fredsfarmsouthpaddock, sheilassheepshed, forestgwhigh,forestgwvalley, officepark1, officepark2, officepark3, officeparkhq, etc. gets a lot easier! Again discussed at length over the years. My default for community GW’s is usually sponsor-testgwxyz-gwtype-partialpostcode, e.g. g-s3-testgw497-ttig-bl6 etc. (latter not real!)
When Registering the GW each major field has an explanatory ‘help’ bubble (?) as show below which is always worth reading/checking if unsure…

One wrinkle is that if you provide a GW EUI (say jklmnopq) when registering the Console will ‘helpfully’ suggest a GW ID of the form “eui-jklmnopq” which many just accept not realising they can override/overtype with their own choice (often a problem when folk delete a gw and re-instate same (no usually needed and generally to be avoided if posible - another story!)).

1 Like