You probably have some kind of home server. You probably have experienced that dreaded message that is the title at some point or another. If you attempted any kind of troubleshooting on it at all, you also probably know how frustrating it is to find out why you’re actually getting this error. Well, for some of you, I may have a fix for you.
Over the years, I have received the overly-frustrating “The network path was not found.” network error message on and off. The error code of “0x80070035” is extremely helpful, just like the sarcasm that statement is drenched in. What I have narrowed it down to is to a combination of a few things:
- My home router.
- My home router’s software (DD-WRT, for example).
- Static vs. dynamic IP addressing.
Looking at that may leave you to think that it’s still too vague, but it’s really not. If you think really hard about which systems you get the errors and the systems y0u are trying to reach when it occurs, you’ll see that it may start to narrow down to some specific criteria. Here’s how I narrowed it down a bit:
- The network always had this issue when using certain versions of DD-WRT. Do some research and you might find the version you are using has some issues with resolving hosts with static IPs.
- The systems I was trying to access had static IP addresses.
- The systems I was receiving the error on had static IP addresses with the router’s IP being used as the sole DNS server.
- The issue was more prevalent on more recent Windows operating systems (Vista and above/2008 Server and above).
- It only occurred when accessing via network shares by name. Accessing by IP address was never a problem.
If this sounds a lot like your predicament, then what you’re about to read might just fix your issue.
What I have found that is happening is that my newer Win7/8 and 2008/2012 Server systems that are configured with static IPs and have my DD-WRT enabled Linksys E2000 router as the sole DNS provider are failing NETBIOS name lookups for all other static-addressed systems on the network (at least on occasion). Even though I do have a WINS server on my network and have Enable NETBIOS over TCP/IP enabled, DNS is still the primary local hostname lookup mechanism and it’s not falling over to the WINS provider when it’s not found (or it doesn’t know that the system being accessed is local and it’s just trying to get to it over the Internet…I haven’t checked router logs). Anyway, I get this error a lot when I go to access my unRAID server by \\SERVERNAME\SHARE_NAME. However, if I substitute SERVERNAME with the IP address of that server, I can access it fine. What I have found is that my E2000 with DD-WRT is not caching any host names for the systems that are not pulling IP addresses via DHCP (at least, not for very long). So, whenever I go to access my unRAID server and the hostname is not available, it’s returning the error. IP resolution is easy, so it always works. How to fix this? It’s pretty simple…instead of editing the hosts file on every system that needs to access that server or two you encounter this with, let’s just edit the hosts file that already exists on your DD-WRT-enabled router!
First, access your router. If you put DD-WRT on it, you should know how to do this. Some DD-WRT versions are a little different than others, so you might have to do a little fiddling to find the right place for your version. After logging in, go to the Administration > Commands tab.
From here, we’re basically going to create a custom script that will execute at every startup. This script will append some entries to a hosts file that already exists on the router and add the missing hostnames that lead to the network path error. Your script will follow a template similar to this:
echo ‘192.168.1.100 servername1’ >> /etc/hosts
echo ‘192.168.1.101 servername2’ >> /etc/hosts
Of course, you’re going to want to modify the IP address and servername# to appropriate entries relevant to your own network. The restart_dns command restarts the DNS service on your router to accept the new hosts entries. You can add as many host as you need. I have 9 in mine. Once you have all of your entries in, click the Save Custom Script button and it will populate into the Custom Script area.
Now that the script is created, hit the Run Commands button to execute it, which will add the entries and restart DNS. You should now have no more issues accessing any of your problematic hostnames from any system! Hopefully, this solved your problem. Since doing this on mine, I’ve not had anymore issues.