I ported the LMIC library for Arduino to the AT32UC3B processor from Microchip. In the port everything runs fine, except the downlinks. There are times where I can get downlinks pretty reliably to my device, but some other times, seemingly out of nowhere, there are periods of times where the node just would not receive any downlinks at all.
I considered it being a timing problem, but the clock used is set up correctly, which I also checked with an oscilloscope
I used the LMIC_setClockError and dialed in multiple configurations with no noticeable results.
The gateway I use is an industrial grade Kerlink Wirnet iStation, so I doubt that anything is wrong with that either.
I also checked the debugging information from LMIC, but the tick timing seems about right, at least to me. An example of the output (the timer runs at 56,000 ticks per second) is given below:
169171: engineUpdate, opmode=0x8
170014:lmic event ==> EV_TXSTART
170338: TXMODE, freq=868100000, len=23, SF=7, BW=125, CR=4/5, IH=0
170749:Os info ==> packet queued
228832: setupRx1 txrxFlags 0X20 --> 0X01
start single rx: now-rxtime: 10
229672: RXMODE_SINGLE, freq=868100000, SF=7, BW=125, CR=4/5, IH=0
rxtimeout: entry: 230440 rxtime: 229488 entry-rxtime: 952 now-entry: 9 rxtime-txend: 55665
284606: setupRx2 txrxFlags 0X01 --> 0X02
start single rx: now-rxtime: 10
285448: RXMODE_SINGLE, freq=869525000, SF=7, BW=125, CR=4/5, IH=0
rxtimeout: entry: 286676 rxtime: 285264 entry-rxtime: 1412 now-entry: 9 rxtime-txend: 111441
287246: processRx2DnData txrxFlags 0X02 --> 0X00
287534: processDnData_norx txrxFlags 0X00 --> 0X20
287828:lmic event ==> EV_TXCOMPLETE
288035: engineUpdate, opmode=0x900
I would be happy for any help. Thanks in advance.