diff --git a/Troubleshooting-Guide.md b/Troubleshooting-Guide.md index 71ff597..e9be7e2 100644 --- a/Troubleshooting-Guide.md +++ b/Troubleshooting-Guide.md @@ -147,9 +147,53 @@ Other paths to look in, depending on your hardware. /etc/dhcpd/dhcpd-zzz-ctrld.conf /etc/dnsmasq.d/dnsmasq-zzz-ctrld.conf /tmp/dnsmasq.d/ctrld.conf +/home/pi/.firewalla/config/dnsmasq_local/ctrld ``` -If this config doesn't exist, or has a different IP + port, that's a problem. Try restarting the `ctrld` service and see if the issue goes away. +If this config doesn't exist, or has a different IP + port, that's a problem. Try restarting the `ctrld` service and see if the issue goes away. + +On Merlin routers, you may want to check if `/jffs/scripts/dnsmasq.postconf` exists and contains following content: + +``` +root@RT-AX56U-4F98:/jffs/controld# cat /jffs/scripts/dnsmasq.postconf +# GENERATED BY ctrld - DO NOT MODIFY + +#!/bin/sh + +config_file="$1" +. /usr/sbin/helper.sh + +pid=$(cat /tmp/ctrld.pid 2>/dev/null) +if [ -n "$pid" ] && [ -f "/proc/${pid}/cmdline" ]; then + pc_delete "servers-file" "$config_file" # no WAN DNS settings + pc_append "no-resolv" "$config_file" # do not read /etc/resolv.conf + # use ctrld as upstream + pc_delete "server=" "$config_file" + pc_append "server=127.0.0.1#5354" "$config_file" + pc_append "add-mac" "$config_file" # add client mac + pc_delete "dnssec" "$config_file" # disable DNSSEC + pc_delete "trust-anchor=" "$config_file" # disable DNSSEC + + # For John fork + pc_delete "resolv-file" "$config_file" # no WAN DNS settings + + # Change /etc/resolv.conf, which may be changed by WAN DNS setup + pc_delete "nameserver" /etc/resolv.conf + pc_append "nameserver 127.0.0.1" /etc/resolv.conf + + exit 0 +fi + + + +# GENERATED BY ctrld - EOF +``` + +On routers with `nvram` utility (ddwrt, freshtomato), you may want to check if the config was set correctly in router memory: + +``` +nvram show | grep dnsmasq_ +``` ## Debug launch If the service doesn't start, or hangs, try running it in debug mode and collect a log. This can be done using the following command: