Replies: 4 comments 1 reply
-
0,5m distance between node and gateway is very much to close. The receiver of the node/gateway may be overloaded. Try 10m or a wall in between. |
Beta Was this translation helpful? Give feedback.
-
" I've also tried to set adr to false and force SF 7 but it always ends up with SF 12.:" I observed this behaviour too with my T-Beams. I can't explain why this happens. There seems to be a MAC-command from TTS that switches the node to SF12. |
Beta Was this translation helpful? Give feedback.
-
Thanks @wolfpcgn! I've made some more experiments, moving away to different distances and the result is the same, having payloads with some wrong bytes (1 to 5 wrong bytes) at random positions. I've also tried with different MCU and some of them always fails and some of them never fails. I'm starting to think it could be a hardware issue with some boards. Just to discard memory overflow, any idea on how could I check it? Right now I'm printing the received frame inside LMIC_DEBUG_PRINTF("Frame: ");
for (i = 0; i < LMIC.dataLen; i += 1) {
LMIC_DEBUG_PRINTF("%02x", LMIC.frame[i]);
}
LMIC_DEBUG_PRINTF("\n"); I've been always sending the same data
|
Beta Was this translation helpful? Give feedback.
-
Hi, I'm completely frustrated with this problem. From about 100 devices, I have more than 5 with this problem and I've not even been able to predict it when flashing the device. Some of them worked fine at the beginning so they could join via OTAA. But some day they unjoined and tried to join again and stopped working and presented this problem. The problem is always on the last bytes of the packet, apparently randomly changed. I would be really grateful if you could give me some ideas or an advice on how I could continue investigating this problem. |
Beta Was this translation helpful? Give feedback.
-
I'm using chirpstack to enqueue downlinks to ttgo lora device. I've tried with 3 different gateways from RAK (raspberry PI, rak edge lite and rak edge lite2) and different MCU's (all of them ttgo-lora32-v1).
On small payload packets, 1 byte, all works fine and the packet is correctly received, decoded and verified.
When packet payload sizes are >= 2 bytes then the device starts to fail in receiving the packets. I've been trying with different packet sizes. The packet received on the gateway seems ok, I've been reading the packets from mqtt broker. I couldn't find a way to log the real bytes that the gateway is sending to the device, but all other communications (join request, accept, uplink, etc...) are fine.
To me the problem seems seems a memory allocation problem: it seems that the last bytes from the
LMIC.frame
are wrong usually starting from byte 27. In small packets it makes MIC to be wrong, but in large packets data is also wrong:I've tried with different distances, most of the trials with 0.5m distance and no obstacles in line of sight.
Environment
To Reproduce
device configuration
.pio/libdeps/latest-dev/MCCI LoRaWAN LMIC library/project_config/lmic_project_config.h
:The power supply of the device is completely cut off on each cycle, as it has an external power management system. The keys are stored on EEPROM on join success and recovered from memory on each cycle. I've also tried to set adr to false and force SF 7 but it always ends up with SF 12.:
Beta Was this translation helpful? Give feedback.
All reactions