MCCI LMIC payload not received by TTN or node is not sending (AS923Mhz)

Hello developers,

I am using Arduino pro mini and RA-01H containing SX1276 to develop a node device. I am using Arduino IDE; the library is MCCI Arduino LoRAWAN library(latest version). I successfully connected the node with the TTN. But without a join request & acceptance, I could not receive any payload through TTN. I am badly in need of obtaining a payload.

my payload is simple "Hello World"
I am using OTAA from the example.
my TX interval is 238 s
My Pin configuration that follows the code is given below:
;

SX1276----Arduino
NSS> 10
RST> 9
DIO0> 2
DIO1> 3
DIO2> LMIC_UNUSED_PIN

In lmic_project_config.h my config is given below

// project-specific definitions
//#define CFG_eu868 1
//#define CFG_us915 1
//#define CFG_au915 1
#define CFG_as923 1
// #define LMIC_COUNTRY_CODE LMIC_COUNTRY_CODE_JP	/* for as923-JP */
//#define CFG_kr920 1
//#define CFG_in866 1
#define CFG_sx1276_radio 1
//#define LMIC_USE_INTERRUPTS

On the serial monitor I see it stuck in "EV_TXCOMPLETE (includes waiting for RX windows)".

On the TTN side, the LORAWAN setting parameters for the node are given below

Frequency plan > ASIA 920-923 Mhz
Lorawan version >LoraWan Specification 1.0.2
Regional Parameters Version > RP001 Regional Parameters 1.0.2 revision B

and the response is like below

Is there someone who already solved this issue?

Your topic has been moved to a more suitable location on the forum. Installation and Troubleshooting is not for problems with (nor for advice on) your project :wink: See About the Installation & Troubleshooting category.

looks as though you are transmitting the join request (DevEUI, AppEUI, AppKey, etc) and TTN is accepting your join request but I assume the Arduino never receives it
in the Overview I see LoRaWAN version is LoRaWAN Specification 1.0.2 which I use
does the LiveData show any more information?
how far are you from the LoraWAN gateway?

Thanks for answering.
your answer is below:

  1. It is a no. The serial monitor stuck in EV_TXCOMPLETE (includes waiting for RX windows)
  2. 3 meters

Sorry, this is the 1st post and I did not review all categories . Thanks

you appear to be using the mcci-catena lorawan libraray
which example did you use from this libraray - upload the code using code tags </> ?

I am using the MCCI_LoRaWAN_LMIC_library by IBM and ran using a Adafruit Feather 32u4 the Example>MCCI_LoRaWAN_LMIC_library>ttn-otaa-feather-us915
I updated the APPEUI etc and changed the code for a frequency of 868MHz
joined the TTN OK and the serial Monitor displayed

Starting
CFG_eu868
Packet queued
315874: EV_JOINING
686526: EV_TXSTART
1009428: EV_JOINED
netid: 19
devaddr: 260BCB18
AppSKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NwkSKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1010883: EV_TXSTART
1331952: EV_TXCOMPLETE (includes waiting for RX windows)
Received 
3
 bytes of payload

it uplinked OK and did a downlink of 3 bytes of data

I then installed the latest version of the MCCI_LoRaWAN_LMIC_library by IBM and the code to setup the frequency to 868Mhz will no longer compile
clearly some functionality in the library has changed - still investigating

@horace I also faced the issue of not being compiled. what I did was I saved my code & exited from Arduino IDE totally. Again clicked Arduino IDE to run then I uploaded it.

Ok, I solved the issue of not receiving the payload. The important thing I was missing is the Spreading factor. I entered lorabase.h & changed the code where SF is defined seems the code is running & sending Payload to TTN. the code is below in lorabash.h.

enum { DR_DFLTMIN = AS923_DR_SF12 };  // DR2   //----SF10
                                      // DR_PAGE is a debugging parameter
enum { DR_PAGE = DR_PAGE_AS923 };
enum { FREQ_PING = AS923_F2 };         // default ping freq
enum { DR_PING = AS923_DR_SF12 };       // default ping DR: DR3  ---SF9
enum { FREQ_DNW2 = AS923_FDOWN };
enum { DR_DNW2 = AS923_DR_SF12 };        // ---SF10
enum { CHNL_BCN = 5 };
enum { FREQ_BCN = AS923_FBCN };
enum { DR_BCN = AS923_DR_SF12 };            //---SF9
enum { AIRTIME_BCN = 144384 };  // micros
enum { LMIC_REGION_EIRP = AS923_LMIC_REGION_EIRP };

Please see the comments. In the comment, I mentioned previously embedded SF. I changed all of them to SF12. @mrtopu34 helped me to find out SF issue. Now payload is being transmitted in regular intervals.

Now I have fallen into a new problem where after several transmissions, a new error found in the Serial monitor says " OP_TXRXPEND, not sending". Any solution?

fixed frequency selection by editing lmic_project_config.h to define
#define CFG_eu868 1

Serial monitor displays uplink and downlink messages

Starting
CFG_eu868
Packet queued
315737: EV_JOINING
667822: EV_TXSTART
990712: EV_JOINED
netid: 19
devaddr: 260BE6A4
AppSKey: D7-C6-80-C9-61-6B-91-43-CB-10-ED-1E-BA-E3-D9-74
NwkSKey: 89-0A-27-3D-1C-8A-3C-85-B4-EF-C4-50-96-73-51-E2
992160: EV_TXSTART
1313209: EV_TXCOMPLETE (includes waiting for RX windows)
Received 3 bytes of payload
Data Received:  0x44 0x55 0x88  in ASCII = DU�
5064375: EV_TXSTART
Packet queued
5385114: EV_TXCOMPLETE (includes waiting for RX windows)
Received 1 bytes of payload
Data Received:  0x0  in ASCII = 
9136415: EV_TXSTART
Packet queued
19729394: EV_TXCOMPLETE (includes waiting for RX windows)
23480595: EV_TXSTART
Packet queued
32804160: EV_TXCOMPLETE (includes waiting for RX windows)
36555196: EV_TXSTART
Packet queued
36876582: EV_TXCOMPLETE (includes waiting for RX windows)
Received 7 bytes of payload
Data Received:  0x88 0x77 0x33 0x22 0x11 0x22 0x33  in ASCII = �w3""3
40627808: EV_TXSTART
Packet queued

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.