Samsung phone stops getting notifications if pihole is router's DNS server. It gets weird

Edit This may be misleading, I didn't realize I had randomized MAC address for the phone, so my tests are invalid. I will need to revisit this when I have time with new tests.

This is extremely frustrating, confusing and exhausting.

Expected Behaviour:

Setting my (TP-link Deco) router's DNS to point to pi-hole ip address lets pihole filter/block for all clients on local network.

Actual Behaviour:

Exactly that - except now my samsung android phone stops getting notifications in the background. If I disconnect from wifi I all-of-a-sudden get a bunch of notifications that seem to have been 'queued'. This is consistent/reproducible. My phone still has internet connection and pihole blocks sites like normal, I just don't get notifications. The pihole isn't blocking anything that is preventing the phone getting notifications.

The most frustrating thing? As long as my router's DNS isn't pointing to the pihole - I can set my phone's connection to static and point its DNS to my pihole, and this works. My pihole blocks sites for my phone while my phone still gets notifications.

Notes

I am using pihole in a docker container, I've updated the pihole image to latest, and I updated firmware on router to latest. Phone is up-to-date. I've actually factory reset my phone that is how desperate I've gotten - but no dice - still won't give notifications if my pihole is router's DNS.

I can verify that without changing the block list, I can effectively have my pihole be my phone's DNS either way, but if I set it via router DNS, it breaks notifications for my phone only, while all other clients work exactly as expected.

My pihole gives no errors, or indication in logs that anything wrong is happening. I have even tried disabling blocking for the pihole entirely, or setting my phone client to not be a part of any block lists (including removing from Default group), and still notifications won't make it through unless I turn off the wifi when the pihole is the router's DNS.

Edit

I am hesitant to upload debug log from pihole - it has mac addresses/ip addresses that I'd kind of want to keep private? I'd rather provide any specific snippets anyone would want directly. You can also rule out pihole blocking issues based on my described tests above.

You do not upload the pi-hole log, generate a debug token, and post just the token. Only the pi-hole team can access the log when done that way.

Block lists used by pi-hole may contain entries that your phone depends on for various functions. You need to determine what is needed by examining at the pi-hole query log in the dashboard. When you isolate the domain(s) used by your phone, you can whitelist the domain(s) to the pi-hole Domains management interface.

1 Like

Ok I didn't know that it limited who could see it, I generated and uploaded the debug log. The token is:

https://tricorder.pi-hole.net/No7jzqE9/

I have looked through the query logs - I have even run with 0 domains blocked - my phone still wasn't getting notifications. As long as my router's DNS was pointing to my pihole, at least.

The token is for the current setup which is only my phone is pointing to the DNS, I'm not sure if there is any info you'd get from me re-running it with the router pointing to the pihole.

While you're waiting for a dev to chime in, to narrow down a couple of variables you can point your phone to Pihole again, verify the issue is still occurring, then Disable Pihole ("Disable Blocking" on the menu bar) for brief period of time and try the operation again.
If it starts working, it's something in Pihole. If it doesn't start working, there may be an OS / Docker setup issue. Either way, it will be more information to work with for troubleshooting.

:white_check_mark: If I point only my phone to my pihole, I get blocking and notifications.
:x: If I point my router to my pihole, my phone gets blocking but stops getting notifications.
:x: If I point my router to my pihole, and disable blocking for 10 minutes, my phone still doesn't get notifications (and doesn't get blocked either).

So yes, the test confirms that there isn't anything the pihole is blocking (at least directly) that is stopping notifications.

I think pihole has something to do with what is going on, but I'm not even sure its the one 'at fault'. I was talking with someone on reddit and they suggested that behavior could point to some expectation of upstream DNS configuration or ipv6 usage in android or something. Not sure exactly what they were alluding to though.

Its certainly odd behaviour. It doesn't appear to be pihole to me as it works as intended when you manually point to it. When you are pointing the router to the pihole is this via the DHCP / LAN setting or the WAN setting?

You may want to run through 1st two scenarios while doing an active tail on the pihole and try and compare the requests. It might give some insight.

I'm going to have to come back to this. I didn't realize my phone had randomized mac address so a bunch of my tests are basically null since I was toggling filtering via the client group access. So there is still definitely the possibility I'm blocking something preventing notifications from being received.

I had the same issue a few years ago.
As it turned out later, this was because I had added the following domains to my blocklist:

mtalk.google.com
mtalk4.google.com
alt1-mtalk.google.com
alt2-mtalk.google.com
alt3-mtalk.google.com
alt4-mtalk.google.com
alt5-mtalk.google.com
alt6-mtalk.google.com
alt7-mtalk.google.com
alt8-mtalk.google.com

You should check that none of them are in your blocklists.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.