Hello, I am currently working on a project using LoRa technology. My end node is composed of Nucleo-l073rz and i-Nucleo-lrwan1 shield and I am also using Keil IDE. So here’s the problem:
I installed the I Cube Lrwan expansion ( I tried both V1.3.1 and the latest one which is the V2.0.0 and even older versions)
I made the changes in the code as instructed (Older version : Changes in the commissioning.h file: DevEUI, JoinEUI, NwkKey, *Latest Version * : Changes in the se-identity.h file: DevEUI, JoinEUI, NwkKey)
I built and loaded the code
I used Tera term on my COM to monitor the join request
In both cases ( for the 2 versions) I got nothing.
5.1 for the V1.3.1 version (and all the older versions like v1.1.1, v1.2.2 v1.4.1 …): I get Phy TxTimeout and nothing else (I monitor the traffic on the gateway and I get nothing )
5.2 for the V2.0.0 version: I keep getting Join Failed every 10 s
So I am asking for a solution to this problem and Thank you in advance
Have you checked the device transmits on the frequencies the gateway uses? (Is it using the right frequency plan and for those with multiple sub-bands the right sub-band?)
Thank you for your reply,
How can I check that?
I mean even the tutorial for this is to install the I Cube LRWAN make few changes and it works fine for everyone.
It does receive other nodes. I used the same node using stm32duino library (STM32duino_I_NUCLEO_LRWAN1) programmed using the arduinoIDE on the same board with the same shield and I used with the same device setting and the gateway received it. but when I work with I cube expansion I dont get anything.
TxTimeout error indicates that the TxDone interrupt has not been detected by the MCU.
You need to check that the pins connection between the MCU and the Radio are correct. You need also to verify that the used pins are the ones defined in the source code.
As there is is no information on which radio shield you are using it will be difficult to help you further.
On Keil you need to specify the radio shield you want to use.
In case this is not correct the MCU will most certainly fail to communicate with the radio.
I suppose that the board setup that you are using is the one described at following link.
In the description it is said that the used shield is an SX1272MB2xAS.
In Keil IDE you need to select the sx1272mb2das target as shown in my previous post.
Once the change is done recompile the code and flash the board and everything should work as expected.
I have tried the provided example using my NucleoL073+SX1272MB2DAS shield and I observed the same issue as you.
I then tried to change the compiler optimization and the firmware looks to operate better.
Just by changing the optimization level from -Oz to -O1 looks to improve as then we get txDone instead of txTimeout please refer to below log.
I would recommend that you contact ST support as it looks like there is a problem when compiler highest optimization level is activated.
Please note that I did not try to connect to a network server. Also I have used latest version of the en.i-cube_lrwan package (V2.0.0).
Log generated by changing sys_conf.h to the following:
/**
* @brief Verbose level for all trace logs
*/
#define VERBOSE_LEVEL VLEVEL_H
/**
* @brief Enable trace logs
*/
#define APP_LOG_ENABLED 1
/**
* @brief Enable Debugger mode
* @note 1:ON it enables the debbugger plus 4 dgb pins, 0:OFF the debugger is OFF (lower consumption)
*/
#define DEBUGGER_ON 1
/**
* @brief Disable Low Power mode
* @note 0: LowPowerMode enabled. MCU enters stop2 mode, 1: LowPowerMode disabled. MCU enters sleep mode only
*/
#define LOW_POWER_DISABLE 1
Generated log:
APP_VERSION: V1.0.0
MW_LORAWAN_VERSION: V2.2.1
MW_RADIO_VERSION: V0.0.1
###### OTAA ######
###### AppKey: 2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C
###### NwkKey: 2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C
###### ABP ######
###### AppSKey: 2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C
###### NwkSKey: 2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C
###### DevEui: 30-37-38-34-68-37-75-01
###### AppEui: 01-01-01-01-01-01-01-01
0s066:TX on freq 868500000 Hz at DR 0
31s532:MAC txDone
36s565:RX_1 on freq 868500000 Hz at DR 0
36s765:MAC rxTimeOut
37s565:RX_2 on freq 869525000 Hz at DR 0
37s765:MAC rxTimeOut
###### = JOIN FAILED
40s050:temp= 31
40s051:VDDA= 254
40s056:TX on freq 868100000 Hz at DR 0
41s581:MAC txDone
46s614:RX_1 on freq 868100000 Hz at DR 0
46s814:MAC rxTimeOut
47s614:RX_2 on freq 869525000 Hz at DR 0
47s814:MAC rxTimeOut
###### = JOIN FAILED
50s050:temp= 31
50s051:VDDA= 254
50s056:TX on freq 868300000 Hz at DR 0
51s581:MAC txDone
Hello,
I recently purchased the TTIG (The Things Indoor Gateway) and I started working on it.
I am using stm32l073 + I nucleo lrwan shield + arduinoIDE (I am using the stm32duino and lorawan library) to create an end node.
For the uplink, everything is fine and working as for the downlink I am getting nothing
I used the kerlink gateway using the same end node and both the uplink and downlink worked but when I changed to TTIG gateway the downlink does not work anymore.
So if there is a solution to this problem or if there is someone who had the same problem do not hesitate to guide me. Thanks
They are both on V3, and using OTAA.
ps : I am still new to the lorawan technology
I want to know if this problem occured before and is it a hardware or a software problem
Thanks
Hello, I am using stm32l073 + I nucleo lrwan shield + arduinoIDE (I am using the stm32duino and lorawan library) to create an end node. I am using TTIG (The Things Indoor Gateway) as a gateway.
I am using V3 and OTAA.
I’ll upload some screenshots so you can understand the issue.
As you can see in the 1st and 2nd screenshots the node is sending uplinks and the TTN console is able to read those uplinks.
So, there is no problem with the uplink, but, when I try to send a downlink I get nothing.
This screenshot shows the problem :
plus, as you can see in the TTN console I only find the rx2 data rate index I didn’t find the rx1 data rate index :
I’d appricate an answer to this problem and Thanks.
First, how did you ‘register’ your TTIG - as regardless of how the Nucleo-LRWAN1 setup is working, the TTIG should be able to send downlinks even if the device isn’t able to hear them or process them.
If you added it and entered the EUI it may well be a phantom entry - able to show traffic but not really attached to your account. So if you didn’t use the claiming procedure, you should delete it and claim it:
Until you get an entry in the gateway console log to say it has sent a downlink there is no point working on the device. To preempt any question about TTIG’s & downlinks, yes, they do work in EU868.
However I’m wondering how you get your device to join if the gateway isn’t doing downlinks!
As regards being able to change Rx1, the Rx1 channel/frequency & data rate is always the one the device used to send on a class A uplink so is not something we set on the console. The Rx2 will be setup for you on OTAA in the join-accept so again, not something we need to change.