CC1314R10: Radio BER varying over time

Part Number: CC1314R10

Tool/software:

Dear community,

I have written an application for the CC1312 / 1314. This is essentially an Ethernet bridge over a 1 Mbps radio.
I fragment / reassemble 64-1514 byte ethernet packets into 1-6 fragements that are reassembled.

I have been chasing a problem for a long time, and have now found something strange. I have a residual error rate
of about 30/12M ~= 3 e-6. This is at 1 Mbps and -58 dBm or so in signal strength.

I have written test programs that sends 1000 full length ethernet packets over the bridge, and checks what is received.
Packets are numbered internally, and checked for correct sequence, 0 - 999. When I run the test programs I see the
following in lost packets:

0 0 0 0 0 0 0 21 30 34 35 22 1 0 0 0 0 0 0 0 0 26 28 25 13 4 0 0 0 0 0 0 0 0 .....etc

Each number represents lost packets for a 1000 packet transmission, total of 6000 segments of ~ 253 bytes.

The series is produced by a shell script that does transmissions over and over.

I.e It looks as packet reception follows a several minutes long "disturbance" in a period of 7 minutes.

The thing that comes to mind is that the crystals / frequencies of the two modules differ, so that depending on the phase
the reception is impared. The 7 minutes peroid *could* have to do to this.

I do not know HOW many bits are disturbed, but I "assume" it is only ONE bit per packet, i.e. one lost packet == one bit flipped.

I have written code to verify the packets
1) after ethernet reception (transmitting node OK)
2) after radio reception (receiving node LOSS)
3) after ethernet transmission (LOSS)

the conclusion being that we have lost radio frames. When running this test each of 1000 packets are translated to 6000 fragments,
and only ONE fragment lost will drop the entire packet.

The rather low error rate can be fixed with a simple ARQ scheme, but I would like to start from the best possible state BEFORE
applying error correction.

    So, do you have any input to offer in solving this puzzle? preamble loss? bit clock slide ? Anything else? Ideas of what to test?

Regards,

Gullik