Random Thoughts – Randocity!

What does Reset Network Settings in iOS do?

Posted in Apple, botch, business, california by commorancy on October 25, 2018

apple-cracked-3.0-noderivsIf you’ve experienced networking issues with your iPad or iPhone, you may have called Apple for support. Many times they recommend that you “Reset Network Settings.” But, what exactly does this operation do? Let’s explore.

What’s included in this Reset Network Settings process?

This is a complicated answer and how it affects you depends on several factors. What this process does, in addition to resetting a bunch of locally stored device settings on the iOS device itself, it also deletes network settings stored in your iCloud Keychain. If you have only an iPhone and own no other devices (i.e., no iPads, no Macs, no iPods, no Apple Watches, no Apple TVs, nothing else), resetting these settings will likely work just fine for you.

However, if you own or use multiple Apple devices and these devices participate in iCloud Keychain, things can get complicated… very, very complicated. The “or use” statement is the one that makes this process much more complicated. If you have a work Mac computer that’s hooked up to your Apple ID and is participating in iCloud Keychain, performing “Reset Network Settings” on an iPhone can become problematic for your work computer. How? First, let’s find out more about iCloud Keychain.

iCloud Keychain

What is iCloud Keychain? This is an iCloud network service that stores sensitive passwords and credit card information in a secure way. This iCloud service also lets multiple iOS, MacOS, tvOS and WatchOS devices participate and use this data as part of your Apple ID. If you own multiple Apple devices, they can all share and use this same set of sensitive data without having to enter it individually on each device (convenience).

Your iCloud Keychain is specific to your Apple ID which is protected by your Apple ID login and password. The iCloud Keychain was created as both a convenience (all devices can share data), but also secure in that this data is protected behind your Apple ID credentials.

When you “Reset Network Settings” on any iOS (or possibly even MacOS, tvOS or even WatchOS) device and your devices participate in iCloud Keychain synchronization, a “Reset Network Settings” can cause networking issues for all of your devices. Why?

The iCloud Keychain stores WiFi access point names (SSIDs) and passwords. Not only that, it also stores credit cards that you might use with Apple Pay (this becomes important later). When you run “Reset Network Settings” on any iOS device, it will wipe all access point SSIDs and Passwords from your iCloud Keychain.

You might be asking, “Why is this a problem?” This will become a problem for all devices participating in iCloud Keychain. All of your Apple devices share in using this SSID and password data from your iCloud Keychain. This important to understand.  Because of this level of sharing, it only takes one device to learn of an access point for all Apple devices to use that network when in range. For example, if you bring your Mac to a convention and log it into an access point at the convention, your Mac logs this access point data to the iCloud Keychain. Your phone will immediately pick up on this new access point addition and also connect to that access point using the newly stored password as soon as it finds it… automagically.

Likewise, it only takes one device to wipe an access point and all devices lose access to it. It’s a single shared location for this networking data. One device adds it, all can use it. One device deletes it, all devices forget about it. Is this a good idea? You decide.

Reset Network Settings and Multiple Devices

Here’s where things get complicated with iCloud Keychain. If you are having network troubles with your iPhone, you might be requested by Apple Support to “Reset Network Settings”.

If all of your MacOS, tvOS, iOS and WatchOS devices participate in iCloud Keychain and you actually perform “Reset Network Settings” on your iPhone, it will wipe not only the current access point, but every access point that every device is aware of. It returns your network settings on iOS (and in iCloud Keychain) to a clean slate to start it over. It does this to try and clear out any problematic network settings. It also deletes known access points from the iCloud Keychain. This wipes access to this data for ALL of your Apple devices, not just the one you performed “Reset Network Settings” on.

What this means is that every device participating in iCloud Keychain will lose access to ALL access points that had previously been known because they have been deleted as part of “Reset Network Settings”. If your iOS device knew of all access points, they will ALL be wiped from iCloud Keychain. This means that every device will immediately lose access to its current access point. It also means that every Apple device you own must now be touched to reselect a new access point requiring you to reenter the password for that access point… On. Every. Apple. Device!

For example, I own two Macs, two iPads, three iPhones and two iPod Touches. A “Reset Network Settings” from a single device means I will need to go and manually touch 9 different devices to reconnect them to WiFi after a single iOS device performs a “Reset Network Settings” operation. It requires this because every device has lost access to even its home network which means no access to iCloud Keychain… which means, touching every device to get them back onto a WiFi network.

For me, it was even more complicated than the mere hassle of setting up WiFi on every device. It wiped known access points created by my employer on my Mac which were put into my iCloud Keychain… access points where I didn’t know the name or passwords. Thankfully, I was able to recover this data from another co-worker’s Mac and get back onto my corporate network. Otherwise, I’d have been down at my IT team’s desk asking for them to fix my Mac… and all as a result of performing “Reset Network Settings” on my iPhone.

Horrible, horrible design.

Avoiding This Problem

Can this problem be avoided? Possibly. If you turn off iCloud Keychain on your iOS device BEFORE you perform “Reset Network Settings”, it may avoid wiping the data in the iCloud Keychain. I say “may” because after you take the device out of iCloud Keychain, then reset the network settings and then rejoin it to iCloud Keychain, it may propagate the differences at the time the device rejoins. Hopefully, not. Hopefully, the newly reset device will ONLY download the existing data in the iCloud Keychain without making any modifications to it. With Apple, you never know.

The secondary issue is that removing your iPhone from iCloud Keychain may remove stored credit cards. This may mean reentry of all of your credit cards after you have “Reset Network Settings” and after you have rejoined your device to the iCloud Keychain. This may also depend on iOS version. I just tried removing iCloud Keychain, then performed “Reset Network Settings”, then rejoined iCloud Keychain and all my cards are still intact on the device. If you’re on iOS 11 or iOS 10, your results may vary.

Why is this a problem?

First off, I don’t want to have to go touch many devices after a single device reset. That’s just stupid. Second, removing the device from iCloud Keychain to perform “Reset Network Settings” will wipe all of your current credit card data from the device and likely from the iCloud Keychain. Third, Apple needs to fix their shit to allow more granularity in what it wipes with “Reset Network Settings”. In fact, it shouldn’t even touch iCloud Keychain data. It should wipe only locally stored information on the device and then see if that works. If that doesn’t work, then wipe the data on iCloud Keychain, but only as a LAST RESORT!

I understand that Apple seems to think that wiping all network data (including what’s in iCloud Keychain) might solve “whatever the problem is”, but that’s just a sledgehammer. If what’s stored in iCloud Keychain were a problem, my 8 other devices should be experiencing the same issue as well. It’s basically, stupid Apple troubleshooting logic.

As I mentioned, disabling iCloud Keychain may unregister your credit cards from your device (and from the Keychain). I know this was the case in iOS 11, but in iOS 12 it seems to not require this any longer. I definitely don’t want to have to rescan all of my credit cards again onto my iOS device to restore them. It takes at least 30 minutes to do this with the number of cards I have to input. With the Apple Watch, this process is horribly unreliable and lengthy. It can sometimes take over an hour diddling with Bluetooth timeouts and silly unreliability problems to finally get all of my cards back onto the Watch (in addition to the iPhone).

Such time wasting problems over a single troubleshooting thing that should be extremely straightforward and easy. Horrible, horrible design.

Representatives and Suggestions

If you’re taking to an Apple representative about a networking problem and they suggest for you to “Reset Network Settings”, you should refer them to this article so they can better understand what it is they are asking you to do.

Neither Apple Support, nor will any of your phone carrier support teams warn you of this iCloud Keychain problem when requesting “Reset Network Settings.” They will ask you to perform this step as though it’s some simple little step. It’s not!

Whenever Apple asks me to perform the “Reset Network Settings” troubleshooting step, I always decline citing this exact problem. Perhaps someone at Apple will finally wake up and fix this issue once and for all. Until then, you should always question Apple’s troubleshooting methods before blindly following them.

How to disable iCloud Keychain

To disable the iCloud Keychain on your iOS device, go to …

Settings=>Your Name=>iCloud=>Keychain

… and toggle it off. Your Name is actually your name. It is located at the very top of settings. Once toggled off, it will likely unregister your credit cards stored on your iOS device, but I guess it’s a small price to pay if you really need to reset these network settings to your restore networking to 100% functionality. Of course, there’s no guarantee that “Reset Network Settings” or jumping through any of these hoops will solve this problem. There’s also the possibility that “Reset Network Settings” could still screw with your iCloud Keychain even if you disable it before performing “Reset Network Settings”.

With Apple, your mileage may vary.

How to Reset Network Settings

Settings=>General=>Reset=>Reset Network Settings

If you own multiple Apple devices and they are using iCloud Keychain, don’t perform this step first. Instead, disable iCloud Keychain first (above), then perform this step. If you only own one Apple device, there is no need to disable iCloud Keychain.

Network Problems and Quick Fixes

In my most recent case of being prompted to “Reset Network Settings”, my phone’s Wi-Fi calling feature simply stopped working. I first called T-Mobile and they referred me to “Reset Network Settings” (based on Apple’s documentation) and they also referred me to Apple Support. Because I already knew about the iCloud Keychain problem from a previous inadvertent wipe of all of my network access points, this time I opted to turn off iCloud Keychain before attempting “Reset Network Settings.” Suffice it to say that “Reset Network Settings” didn’t do a damned thing, as I full well expected.

In fact, I tried many options prior to “Reset Network Settings”. These included:

  • Disabling and enabling Wi-Fi calling
  • Joining a different access point
  • Restarting my Comcast modem
  • Restarting my network router
  • Restarting my Apple Airport
  • Restarting my phone
  • Hard restarting my phone
  • Disabling and enabling Wi-Fi
  • Dumping Sysdiagnose logs and digging through them
  • Killing and restarting the Phone app

I tried all of the above and nothing resolved the issue. No, not even “Reset Network Settings”.

I recall reading a year or two back that sometimes Airplane Mode can resolve some network connectivity issues. I’m not sure exactly what Airplane Mode actually does under the hood in detail, but it appears to modify a bunch of configs and disable all networking including Cellular, Wi-Fi, Bluetooth and anything else that performs networking.

Once Airplane Mode was enabled, I allowed the phone to sit for 30 seconds to make sure all components recognized Airplane Mode. Then, I disabled Airplane Mode. Almost immediately, the phone’s menu bar now says ‘T-Mobile Wi-Fi’. Wow, that actually worked.

If you’re having networking problems on your iPhone, try enabling then disabling Airplane Mode instead of “Reset Network Settings”. At least, it’s worth a try before resorting to disabling iCloud Keychain followed by “Reset Network Settings”.

iOS 11 vs 12

The first time I experienced my issue with the iCloud Keychain and “Reset Network Settings”, I was using iOS 11. I’m firmly of, “Once Bitten, Twice Shy.” This means, I haven’t tested this on iOS 12 to see if Apple has changed their ways. It’s very doubtful they have and very likely this problem still persists even in the most current version of iOS.

Design Rant Mode On

Apple seems to be under the delusion that we’re still living in a one-device-ownership-world. We’re not. We now own Macs, Apple TVs, Watches, iPhones and iPads that all rely on their multi-device services, such as iCloud Keychain. To design a feature that can wipe the entire data shared by multiple devices is not only the very definition of shit software, it’s also the very definition of a shit company that hasn’t the first clue of what the hell they’ve actually built.


If this article is helpful to you, please leave a comment below.

↩︎

Advertisements

Comments are encouraged under these rules: 1. No personal attacks allowed. 2. Comments with personal attacks will not be posted. 3. Please keep your words civil. Thank you for contributing!

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: