Node don't get JoinAccept: ESP32, LMIC & wAP LR8

Hi

I try to connect my node to network. I have my own script, but I also tried with example from library (ttn-otaa) and I get the same result.

Furthermore, I got connection with gateway, ttn properly proceed join procedure, but it looks like my node never get downlink with authorization and then can’t send data. In logs, it look like this.
Node in application in TTN:
Application
Gateway in TTN:


Serial from ESP:
ArduinoIDE

I thought that problem can be in too close communication, but I take my node to walk and outside the building in range of 200m I still get results like this.

Maybe someone know where I made mistake.

Leave the node stationary for a few min in the room next door, the RSSI is -60 → -80 or so and see what happens.

I took node to bathroom so it is something like 15m and wall with wardrobe.


In gateway, I see RSSI between -75 to -95, but still nothing new in application live data.
Application2

In example, I only add my auth data and define new pin_map:

const lmic_pinmap lmic_pins = {
    .nss = 5,
    .rxtx = LMIC_UNUSED_PIN,
    .rst = 13,
    .dio = {27, 14, LMIC_UNUSED_PIN},
};

I also tried to add some configs according to some posts on forum:

    LMIC_setLinkCheckMode(0);   // Disable link check validation
    LMIC_setAdrMode(false);     // Disable ADR
    LMIC.dn2Dr = DR_SF9;        // TTN uses SF9 for its RX2 window.
    LMIC_setDrTxpow(DR_SF7, 14); // Set data rate and transmit power for uplink (note: txpow seems to be ignored by the library)

Don’t. The defaults should be right and by setting things differently you have worse settings and one is actually wrong when using OTAA (the dn2Dr setting, during the join TTN will set this to the correct value)

Sorry for the lack of contact, but I had some problems.

Okay, I start again with a totally clean example. I add only my addresses and my pin map. I still get the same results. When I tested it, had a router in another room (5-10m) and wall between us. RSSI in gateway logs is between -65 and -85.

Where can I have mistake?

Maybe you should buy a known good device with a documented pin map to test with - that way you can eliminate any issues with the radio on your unknown ESP32 device.

I have WiFi LoRa 32(V3), but now I know it’s not the best choice (too new module with lack of support). I will try to buy something with SX1276.

But if I have uplink communication, it’s possible to have something meshed up with physical connection on board? Are there some pins related only to retrieve downlinks?

For that device, RadioLib can be a good choice, as that supports SX126x series radios as well as SX127x. The wiki for RadioLib is a WIP, but the examples and their notes should be able to get you started on most of the basics.

Thank you, I will try with this. Sadly, original library and wiki from heltec is nightmare.

Is this the original device or the alternative device?

Original.

I again try to figure it out and now I sure my gateway send downlink, but still my node didn’t get i or can’t handle it. On my SDR graph I can see on signal from node and second one stronger from gateway. The second signal appears in the same moment when in serial monitor I get EV_JOIN_TXCOMPLETE: no JoinAccept.
Screenshot_20240410_123022

I also make attempt wih ABP connection and with provided example it works properly. I received proper message:

So for me it’s looks like my node working, but for some reason I have problem only with receive downlink. What can be wrong? Wiring or maybe some problem with my antenna?

We try to keep our posts tidy so we can scan through them - please crop down pictures to remove the larger blocks of non-info.

Well it’s working in one direction, so perhaps half working.

Can you queue ONE downlink whilst in ABP mode to see if it arrives in the serial log which should be posted as text.

I tried to schedule downlink but my node didn’t received it (or I cant schedule it properly).

I just run my Heltec (Wifi LoRa 32 V2) with example from Lora-Node (https://github.com/lnlp/LMIC-node). I have communication in two directions with my gateway and TTN:
image

So with this information, I can assume it’s a problem with my board. Probably with some wiring or antenna (I guess), by maybe you have idea what else can be wrong?

Please post text output as text, not a screen shot.

Right in the middle of the screen shot it says “Downlink received” and “Down: 3” so I’m a little unsure what the issue is.

All of this downlinks are MAC commands (it has port 0 and no data - https://github.com/lnlp/LMIC-node?tab=readme-ov-file#36-downlink-messages).

Now I also run original example from LMIC library (otaa example) and I get connection but it never queues next package and stuck like this:

Starting
Packet queued
3520: EV_JOINING
66913: EV_TXSTART
387953: EV_JOINED
netid: 19
devaddr: 260B7491
AppSKey: C8-A5-1F-60-4C-02-92-1A-CA-XXX
NwkSKey: F9-00-AF-62-3E-83-30-36-97-XXX
395720: EV_TXSTART

But after all I have to way connection on Heltec, but still I can’t receive downlink after join-request on my custom board.

The antenna and wiring are not able to determine between MAC commands and user initiated downlinks. The fact is you can receive downlinks as you are getting the Join Accept plus other MAC commands.

Are you sending downlinks from the TTS console?

Downlinks and otaa connection work on my heltec and here I get those MAC commands.

Now I want to run the same program on my custom board and there I can send uplink but never receive downlink with join-accept data (or any other). And here is a problem, but I don’t know with which part. As far as I know, my wiring is good (I checked it twice), but I can’t see anything else what can be wrong.

Ah, OK, then look to the antenna - sending short range with an iffy antenna is possible, but less so on reception.

1 Like