Troubleshooting

circle-info

Run with --log-level DEBUG to get detailed output that makes most issues immediately visible:

python roku_pihole.py --roku 192.168.1.100 --log-level DEBUG

MAC address to reach destination not found

This error means Scapy cannot resolve the MAC address for your Roku device, which happens when the device is unreachable on the network.

1

Confirm your Roku is powered on

Make sure it is displaying content or the home screen.

2

Confirm it is connected to the same Wi-Fi network

The Roku must be on the same Wi-Fi network as the machine running the tool.

3

Ping the Roku from your machine

ping 192.168.1.100
4

Check the Roku IP address

If the ping fails, check the IP address in your Roku’s network settings under Settings → Network → About.

Permission errors

ARP spoofing and raw packet capture require elevated privileges. If you see a permission denied error, you are not running the tool as an administrator.

Prefix the command with sudo:

sudo python roku_pihole.py --roku 192.168.1.100

No DNS queries being intercepted

The tool is running but not capturing any DNS traffic from the Roku.

1

Double-check the Roku IP address

Confirm the IP address you passed to --roku matches what is shown in your Roku’s network settings.

2

Verify the router IP

If auto-detection is picking the wrong gateway, pass the correct address explicitly with --router.

3

Make sure you are on the same subnet

The ARP spoofing technique does not work across different network segments.

4

Trigger network activity on the Roku

Open a streaming app (Netflix, YouTube, etc.) so that DNS queries are actively being made.

5

Run with debug logging

Use --log-level DEBUG to confirm that ARP packets are being sent and that Scapy is sniffing on the correct interface.

DNS queries intercepted but ads still showing

The tool is capturing DNS traffic but ads are not being blocked on the Roku.

1

Confirm your Pi-hole is running

Open the Pi-hole admin panel (typically at http://<pihole-ip>/admin) and check that the service is active.

2

Verify the Pi-hole IP address

Verify the IP you passed to --pihole matches your Pi-hole’s actual address.

3

Check the Query Log

In the Pi-hole admin panel, navigate to Query Log and check whether queries from your Roku’s IP are appearing. If they are not, the forwarding step is not working.

4

Update Pi-hole blocklists

Check that Pi-hole’s blocklists are up to date under Tools → Update Gravity.

Tool exits immediately after starting

The script starts and then stops without doing anything, often accompanied by an import error or version error.

1

Confirm your Python version

2

Confirm Scapy is installed

If it is not installed, run:

3

Verify Npcap on Windows

On Windows, verify that Npcap is installed from npcap.comarrow-up-right. Scapy requires Npcap on Windows to capture and inject packets.

Last updated

Was this helpful?