Audio & Video live streaming regularly freezing for a ~3-5 seconds
-
I have a Netgate 6100 setup and connected to the internet via PPPoE to my ISP's modem, which is in bridge mode. Internet speed is 1Gbps down & 200 Mbps up & typical loaded latency is ~10ms.
I'm running the latest version of pfsense:
- 21.05.2-RELEASE (amd64)
- built on Fri Oct 22 15:24:02 UTC 2021
- FreeBSD 12.2-STABLE
Services enabled & running:
- dhcpd - DHCP Service
- dpinger -Gateway Monitoring Daemon
- iperf- iperf Network Performance Testing Daemon/Client
- openvpn - OpenVPN server: Skynet VPN
- pcscd -PC/SC Smart Card Daemon
- syslogd -System Logger Daemon
The only WAN rules in place is for OpenVPN that was created with the wizard, and the default block private & bogon networks. Similarly, the only rules on the LAN are the default ones - anti-lockout rule, allow LAN IPv4 any any & allow LAN IPv6 any any.
When joined to video/audio meetings, every few minutes the stream will freeze for a few seconds before resuming. The only workaround I've found so far is to completely bypass the firewall or to not bridge the modem and put the firewall in between the modem and the LAN. Neither is desirable and double NAT comes with their own issues with the ISPs modem. I'm not really sure what the issue is and I need to have flawless streaming for work meetings. I'd also like to start using more of the firewalls features.
Can anyone help or point me in the right direction? If I've left out any important information let me know. I've tried monitoring the system logs but I haven't been able to identify what's causing it - unfortunately I'm nowhere near being an expert. Thank you in advance for taking the time to read this and any help you can offer will be appreciated.
Edited to add version
-
Connect to the command line and run:
top -aSH
With that running test a call and see if some process it jumping to the top of list when it freezes. That would indicate something using excess CPU cycles for some reason.
Otherwise check the system logs for errors. Perhaps the PPPoE session is dropping for some reason. You should be able to see how long it's been connected for in Status > Interfaces.
Steve
-
@stephenw10 said in Audio & Video live streaming regularly freezing for a ~3-5 seconds:
top -aSH
Thank you for taking the time to reply. I don't see any processes hogging CPU cycles - see screenshots taken when the issue was occurring:
Here's a screenshot of the dashboard, the PPPoE connection doesn't drop - the uptime continues to increase
The screenshots below show the regularity with which the issue is happening:
I've looked in most of the logs & I can't identify the cause - I am however not an expert so I might have missed something obvious to someone else. In the firewall logs, I've tried creating rules from the logs for blocked traffic but they never resolve the issue. (I remove them after testing)
-
Two things I noticed in your screenshots.
First, if you do not have any wireless cards installed in the firewall, you should stop the
pcscd
service as it currently has a known issue with memory leaks. There is a posted bug on the Redmine site here: https://redmine.pfsense.org/issues/12095. While I don't think the memory leak bug is directly impacting your problem, you will be better off without the service running if you do not need it.Second, I see in your Gateway Status info that the DHCP6 Gateway is showing as "Pending". Do you actually have active IPv6 addresses with Internet routing on your WAN? If not, I would be sure that IPv6 on your WAN is set to "None", then go delete any IPv6 gateway showing under SYSTEM > ROUTING. Pretty much all of the streaming services have IPv6 addresses, but if your firewall and local network are not configured for IPv6, you don't want your clients attempting to use those addresses. It is normal for streaming media to come in as bursts of data. Your clients read a batch of data and then buffer it. So that shows up as bursts of network activity as the clients go fetch the next buffer load. But if the client tries an IPv6 address first, and fails to connect, so then swaps over to IPv4; that could show up as the long pauses you are seeing.
When you turn off the Bridge Mode and use your modem as a router, it may not be providing any IPv6 info to the firewall and thus the issue is not created. What is IPv6 Configuration Type set to under INTERFACES > WAN? If you do not have IPv6 service provided by your ISP, then that drop-down should be set to "None".
-
@bmeeks
Thank you for the suggestions. I've bypassed and turned off the firewall for the moment as I won't get to do any testing until the weekend now but I don't have any wireless cards so I'll stop the pcsd service when I do.I didn't have the DHCP6 gateway enabled before but I had just done a factory reset, and hadn't turned it off yet. I was seeing IPv6 addresses in the firewall logs previously though, so I'll go through all the settings and disable IPv6 on the WAN & LAN interfaces.
I'm actually not having any issues with streaming videos or audio on demand - the traffic drop is only for a few seconds so the buffer can handle that, but it's video/audio meetings & calls that suffer. It's bad enough that it's not really possible to have a conversation because it's happening about every minute.
Thanks again for the advice & i'll reply at the weekend to update on whether the issue is still there.
-
Mmm, nothing that would obviously cause this. The system logs show nothing at those intervals?
One interesting thing is that the upload traffic continues without issue. Is that from the same app? Like when you're in a call do the other users see you freeze?
You might try doing something else at the same time as a call so there is other traffic using the connection and you can see if that too stops during the freeze.
Check the gateway quality graphs in Status > Monitoring. At the shortest period you should be able to see see if that is failing during the freeze.
Steve
-
This post is deleted! -
Hmm, you shouldn't normally see any packet loss on the gateway but it may just be the gateway itself under load.
Try changing the monitoring IP the gateway is using for something external like 8.8.8.8. Do that in Sys > Routing > Gateways > Edit Gateway.You might also disable the gateway monitoring action (not the actual monitoring) since you only have one gateway.
Steve