Re: P25 North America reflector


Steve N4IRS
 

We are looking at the the superframe received from the reflector by MMDVMHost. We are seeing lost records and records out of sequence (as to be expected via UDP) We are looking at the assumption made in P25Control. We believe that method is filling the buffer improperly. This is a example of the result:

M: 2021-09-19 15:27:00.376 P25, received network transmission from KB0AJQ to TG 10200
M: 2021-09-19 15:27:01.964 P25 recType = 63 nextRec = 62
M: 2021-09-19 15:27:01.964 P25 recType = 62 nextRec = 64
M: 2021-09-19 15:27:01.970 P25 recType = 64 nextRec = 63
M: 2021-09-19 15:27:02.331 P25 recType = 65 nextRec = 64
M: 2021-09-19 15:27:02.332 P25 recType = 64 nextRec = 66
M: 2021-09-19 15:27:02.337 P25 recType = 66 nextRec = 65
M: 2021-09-19 15:27:02.873 P25 recType = 6E nextRec = 6D
M: 2021-09-19 15:27:02.874 P25 recType = 6D nextRec = 6F
M: 2021-09-19 15:27:02.879 P25 recType = 6F nextRec = 6E
M: 2021-09-19 15:27:03.765 P25 recType = 65 nextRec = 64
M: 2021-09-19 15:27:03.766 P25 recType = 64 nextRec = 66
M: 2021-09-19 15:27:03.771 P25 recType = 66 nextRec = 65
M: 2021-09-19 15:27:03.940 P25 recType = 6C nextRec = 6B
M: 2021-09-19 15:27:03.941 P25 recType = 6B nextRec = 6D
M: 2021-09-19 15:27:03.946 P25 recType = 6D nextRec = 6C
M: 2021-09-19 15:27:03.952 P25 recType = 70 nextRec = 6F
M: 2021-09-19 15:27:03.957 P25 recType = 6F nextRec = 71
M: 2021-09-19 15:27:03.963 P25 recType = 71 nextRec = 70
M: 2021-09-19 15:27:04.122 P25 recType = 63 nextRec = 62
M: 2021-09-19 15:27:04.122 P25 recType = 62 nextRec = 64
M: 2021-09-19 15:27:04.128 P25 recType = 65 nextRec = 63
M: 2021-09-19 15:27:04.133 P25 recType = 64 nextRec = 66
M: 2021-09-19 15:27:04.139 P25 recType = 66 nextRec = 65
M: 2021-09-19 15:27:04.145 P25 recType = 69 nextRec = 68
M: 2021-09-19 15:27:04.145 P25 recType = 68 nextRec = 6A
M: 2021-09-19 15:27:04.151 P25 recType = 6A nextRec = 69
M: 2021-09-19 15:27:04.868 P25 recType = 6A nextRec = 69
M: 2021-09-19 15:27:04.868 P25 recType = 69 nextRec = 6B
M: 2021-09-19 15:27:05.017 P25 recType = 6B nextRec = 6A
M: 2021-09-19 15:27:05.756 P25 recType = 71 nextRec = 70
M: 2021-09-19 15:27:05.762 P25 recType = 70 nextRec = 72
M: 2021-09-19 15:27:05.762 P25 recType = 72 nextRec = 71
M: 2021-09-19 15:27:06.643 P25 recType = 63 nextRec = 62
M: 2021-09-19 15:27:06.644 P25 recType = 62 nextRec = 64
M: 2021-09-19 15:27:06.649 P25 recType = 64 nextRec = 63
M: 2021-09-19 15:27:07.011 P25 recType = 65 nextRec = 64
M: 2021-09-19 15:27:07.011 P25 recType = 64 nextRec = 66
M: 2021-09-19 15:27:07.017 P25 recType = 66 nextRec = 65
M: 2021-09-19 15:27:08.271 P25 recType = 70 nextRec = 6F
M: 2021-09-19 15:27:08.271 P25 recType = 6F nextRec = 71
M: 2021-09-19 15:27:08.282 P25 recType = 71 nextRec = 70
M: 2021-09-19 15:27:08.436 P25 recType = 63 nextRec = 62
M: 2021-09-19 15:27:08.436 P25 recType = 62 nextRec = 64
M: 2021-09-19 15:27:08.442 P25 recType = 64 nextRec = 63

M: 2021-09-19 15:27:08.650 P25 lostPacketCount = 44

M: 2021-09-19 15:27:08.651 P25, network end of transmission, 8.8 seconds, 2% packet loss


44 times MMDVMHost receive a record it did not expect, or in the wrong order.

I ran a copy of MMDVM on the reflector host, connected to the reflector. In a 123 second transmission, there was one bad record.
What we are working to prove is that the reflector is not sending out of sequence or missing records. Since this is UDP, records can be lost or arrive out of sequence. The problem is what MMDVMHost does when this happens.
We are adding more debugging and I will post the change after the next pass. What we need to prove is where the records are getting lost and what MMDVMHost does when it does not get all the records it need to build a superframe.



On 9/19/21 11:34 AM, Miguel wrote:

Another data point... on that station around 1120am today that was all garbled... both hotspots exhibited the same loss - as expected. We suspect this was issue with the transmitting station and not related to the issue at hand (which we are leaning slightly to believe it is related to the receiving stations...) Notice below close to or exact same behavior on both hotspots... I edited call signs btw...

Hotspot A (stock sw on pizero)

M: 2021-09-19 15:24:34.143 P25, received network transmission from N4xxx to TG 10200
E: 2021-09-19 15:24:35.357 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:35.552 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:35.724 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:36.248 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:36.277 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:36.467 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:36.981 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:37.360 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:37.367 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:37.685 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:37.714 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:37.868 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:38.080 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:39.519 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:39.867 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:39.892 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:40.068 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:40.594 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:41.351 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:41.374 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:42.567 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:43.078 P25, overflow in the P25 RF queue
E: 2021-09-19 15:24:43.138 P25, overflow in the P25 RF queue
M: 2021-09-19 15:24:43.687 P25, network end of transmission from N4xxx to TG 10200, 14.9 seconds, 34% packet loss
M: 2021-09-19 15:24:48.599 P25, received network transmission from KB0xxx to TG 10200
M: 2021-09-19 15:24:58.323 P25, network end of transmission from KB0xxx to TG 10200, 10.1 seconds, 0% packet loss

Hotspot B (instrumented on pi3b+)

M: 2021-09-19 15:24:34.136 P25, received network transmission from N4xxx to TG 10200
E: 2021-09-19 15:24:35.552 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:35.696 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:35.717 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:36.284 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:36.427 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:36.464 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:36.979 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:37.365 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:37.653 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:37.689 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:37.710 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:38.073 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:38.249 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:39.515 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:39.893 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:40.022 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:40.423 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:40.775 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:41.490 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:42.039 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:42.772 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:43.132 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
E: 2021-09-19 15:24:43.296 P25, overflow in the P25 RF/WriteQueueNet queue (space = 124 Length = 218)
M: 2021-09-19 15:24:43.686 P25, network end of transmission from N4xxx to TG 10200, 14.9 seconds, 34% packet loss
M: 2021-09-19 15:24:48.598 P25, received network transmission from KB0xxx to TG 10200
M: 2021-09-19 15:24:58.320 P25, network end of transmission from KB0xxx to TG 10200, 10.1 seconds, 0% packet loss

Join main@DVSwitch.groups.io to automatically receive all group messages.