Unfortunately, It means that now I have to get back to work, looking for work.
My network is once again happy and stable. Backups are being made in minutes instead of hours and surprise surprise surprise, my access to the internet is once again solid.
It’s amazing what a few bad components (all of whom report they’re happy and functional) can do to screw your world up.
It’s going to take me a few more days to stop being twitchy about my network, but I’m sure that in no time I’ll take it for granted like I’ve done for the past 5 or 6 years.
We’ve got bandwidth, we’ve got gigabit, we’ve got connection!
Oh and I discovered another little bit of interesting information.
Those of you that are not Time Capsule or Mac users might want to stop reading here.
I think I’ve found an answer to a problem that I’ve been seeing over the past month or so. The internet has been almost completely useless in resolving the issue in part because of one guy who apparently posted the exact same question on every message board ON THE PLANET! Hey dumbass, that kind fucks up any useful search results for the rest of us.
I think I’ve found the solution for one of the discoveryd problems. This may work for you, it may not. Apple’s discoveryd service has been, and is being documented as having serious issues. Some of these issues appear to be associated with Apple’s “handoff” and automatic hotspot functions.
I haven’t figured out that stuff yet. But I have managed to put a stop to my logs being overrun with one particular error.
Here’s the deal,
I’ve been seeing this error all over my logs.
5/15/15 10:31:05.057 PM discoveryd: Basic Sockets Couldn’t set IP_BOUND_IF on socket fd scopeID errno result[-1]
This error happened so frequently and hit my computer so hard that it would suck the battery down in just a few hours, my computer would heat up because it was running the CPU at near 100% and all the while it’s silent except for the traces in the log.
I thought this was an artifact of the dying routers and drives, but that assumption was wrong.
Last night after I’d become mostly convinced that the network was stable, I noticed my computer was running warm again. I wasn’t doing anything to account for the system being run hard enough to be that warm. I had safari open in the background but I was actually doing some word processing.
I checked the logs and found that this error was literally zipping past. The console application was posting this message 50 times a second.
So I went to google. There I found the dumbass person’s question all over the place but few possible explanations and no answers.
Then I decided to look at IP_BOUND_IF to find out if it was an Apple only function or if it was a general UNIX function. Turns out, it was discussed on a general UNIX board.
From there I started investigating. I noticed by navigating to some web sites I could increase the frequency of the messages and by going to other web sites I could stop the message all together.
This suggested that the problem wasn’t actually in my computer or even in my network, but that the problem was externally induced.
There were some websites that wouldn’t render any page, but those same sites would make this IP_BOUND_IF error post faster.
Then I stumbled across some sites talking about IPv6 having been enabled on some ISPs. This reminded me that I’d seen an IPV6 DNS entry when I was setting up the new router and that entry had been automatically populated.
I was curious if my new ISP had in fact turned on IPv6, so I went to the router control interface. Sure enough, there was an IPv6 DNS entry. Oh Cool! I thought, then I noticed there was no IPv6 address being provided to the router via the WAN.
DHCP is providing my IPv4 xxx.xxx.xxx.xxx address and an appropriate DNS address to the router. But the only IPv6 information is a WAN supplied DNS address.
I wondered if my web requests were trying to go out to the IPv6 DNS address for lookup and results were supposed to come back to an IPv6 Client address that wasn’t assigned. That might explain why IP_BOUND_IF was failing. I know next to nothing about IPv6 standards. I’ve tried reading about it but have found that the specification makes a much better sleeping aid than educational one.
I figured, “Awww what the hell,” I told the router, do local link IPv6 only. That means that my machines that support it inside my network will get IPv6, but that it will not be routed to the internet at large.
The IP_BOUND_IF errors went away, my internet surfing got faster and all pages now rendered properly. I don’t know if I guessed right, but my logs aren’t sucking up 100% of my CPU resources anymore.
Obviously, my ISP is working on IPv6 and they’ll probably implement it sometime in the future. When they do turn is on I’ll tell my router to use it. For the time being though, I’ll keep the IPv6 internal and rely on the good old IPv4 standard to surf the web.
For what it’s worth, I hope this helps. I make no warranty or guarantee.