OP25 OP25 AMBE Tone Feature Missing

Status
Not open for further replies.

squirrel

Member
Joined
Jan 4, 2006
Messages
110
Reaction score
5
I have done a fresh install on a Dell E4310 laptop (Core i5 M650 @ 2.67Ghz, 8GB Ram) with Ubuntu 18.04.1 LTS and latest version of OP25. I am still getting the audio delay / cutoff issue. I have checked the log and it looks like there were about 15 PCM underruns reported in 24 hours. My startup command is below. Just like on the Pi, if I go back to a version prior to the tones being added everything works fine.

./rx.py --args 'rtl' -N 'LNA:47' -S 57600 -f 772.9812e6 -o 25000 -q 0 -U -T trunk.tsv -V -2 2> stderr.2

Am I missing something else? I was hoping that dumping the Pi and going to a higher power CPU would have solved this issue.

Thanks
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,616
Reaction score
1,012
Location
Talbot Co, MD
I have done a fresh install on a Dell E4310 laptop (Core i5 M650 @ 2.67Ghz, 8GB Ram) with Ubuntu 18.04.1 LTS and latest version of OP25. I am still getting the audio delay / cutoff issue. I have checked the log and it looks like there were about 15 PCM underruns reported in 24 hours. My startup command is below. Just like on the Pi, if I go back to a version prior to the tones being added everything works fine.

./rx.py --args 'rtl' -N 'LNA:47' -S 57600 -f 772.9812e6 -o 25000 -q 0 -U -T trunk.tsv -V -2 2> stderr.2

Am I missing something else? I was hoping that dumping the Pi and going to a higher power CPU would have solved this issue.

Thanks
Very puzzling. Perhaps you could try adding some additional debug to sockaudio.py to make sure the flush is being detected & acted upon. I'm not aware of anyone else who has reported anything remotely similar with the new code.
 

squirrel

Member
Joined
Jan 4, 2006
Messages
110
Reaction score
5
Very puzzling. Perhaps you could try adding some additional debug to sockaudio.py to make sure the flush is being detected & acted upon. I'm not aware of anyone else who has reported anything remotely similar with the new code.

I have added some logging around the def dump(self): If you can confirm that is what does the flush or correct me.

In the meantime I set a cron job up to restart OP25 every 2 hours and that has seemed to worked around this issue I am having until I can figure this out.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,616
Reaction score
1,012
Location
Talbot Co, MD
I have added some logging around the def dump(self): If you can confirm that is what does the flush or correct me.

In the meantime I set a cron job up to restart OP25 every 2 hours and that has seemed to worked around this issue I am having until I can figure this out.

Actually you should look at the drain() method invoked at line 310. That in turn calls snd_pcm_drain() at line 228 of sockaudio.py
 

squirrel

Member
Joined
Jan 4, 2006
Messages
110
Reaction score
5
Actually you should look at the drain() method invoked at line 310. That in turn calls snd_pcm_drain() at line 228 of sockaudio.py

Ok I actually did that first but the drain seemed to be getting hit constantly so I thought I was in the wrong area. I added logging around those 2 lines and I have attached my log file. It appers the self.pcm.drain() is being constantly hit. when a transmission comes in it stops, but then when it completes the drain resumes. The log is only about 2 minutes of running. Not sure if this is normal behavior?
 

Attachments

  • stderr.txt
    56.2 KB · Views: 2

boatbod

Member
Joined
Mar 3, 2007
Messages
3,616
Reaction score
1,012
Location
Talbot Co, MD
Ok I actually did that first but the drain seemed to be getting hit constantly so I thought I was in the wrong area. I added logging around those 2 lines and I have attached my log file. It appers the self.pcm.drain() is being constantly hit. when a transmission comes in it stops, but then when it completes the drain resumes. The log is only about 2 minutes of running. Not sure if this is normal behavior?

Yes, that's pretty normal; any time there is a TDU (ph1), MAC_HANGTIME (ph2) , or MAC_END_PTT (ph2) the system should flush the pcm because it's considered the "end of a conversation". Some systems send multiple end messages so the pcm can be drained numerous times consecutively.

What you're looking for is a scenario where there is no drain when the voice ends, then new audio starts up and unavoidably plays whatever was left over in the buffer from the previous conversation.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,616
Reaction score
1,012
Location
Talbot Co, MD
I've pushed a change that will likely cure the problem, but if not, it should make it easier to track down.
 
Status
Not open for further replies.
Top