Trying to get mbed-os-example-lorawan
going with a NUCLEO_F091RC board and a Libelium SX1272 based module.
I have connected the 4 SPI lines and am feeding the Libelium module from the 3v3 pin on the NUCLEO_F091RC.
For now I’m using ABP to simplify as much as I can. Keys and device address typed in.
And yes, it can actually transmit, I see data on the server.
But this might be more luck than skillz. I cant get any kind of downlink traffic going (which for one is why I’m using ABP and not OTAA)
I first tried with OTAA. I saw the join requests on the network, but the module timeout out before the join accepts were transmitted back. I’m using chirpstack which seems to be using RX2 for join accepts. And the timeout were fired already after 3 seconds.
The serial console shows some errors:
[DBG ][LSTK]: Initializing MAC layer
Mbed LoRaWANStack initialized
CONFIRMED message retries : 0
Adaptive data rate (ADR) - Enabled
[DBG ][LSTK]: Initiating ABP
[DBG ][LSTK]: Frame Counters. UpCnt=0, DownCnt=0
[DBG ][LSTK]: ABP connection OK.
Connection - In Progress ...
Connection - Successful
[INFO][LMAC]: RTS = 5 bytes, PEND = 0, Port: 15
[DBG ][LMAC]: Frame prepared to send at port 15
[DBG ][LMAC]: TX: Channel=2, TX DR=5, RX1 DR=5
5 bytes scheduled for transmission
[DBG ][LSTK]: TX Timeout
[ERR ][LSTK]: Fatal Error, Radio failed to transmit
Transmission Error - EventCode = 3
Now I’m confused. If I see data on the network, the transmit must have succeeded, then what is the TX Timeout
all about?
I have concluded that the SPI must be working as expected, otherwise I wouldn’t have got this far. And it indeed looks good on the logic state analyzer as well.
A few questions:
- What causes the TX timeout?
- Do I need to make more connections? (reset or others)
- What can be the reason for the complete lack of downlink. (as far as the module get it)
- Suggestions?
I have confirmed that network and gateways are working good, have several other lorawan devices and a few gateways around which are chatting happily away.