Categories
Apple iCloud

My Ongoing iCloud Issues (And a Possible Fix)

When technology “just works” it is absolutely fantastic. It can allow us to do things that we never thought possible. Technology can provide us interactions and efficiencies that were mere ideas only a short time ago. However, when technology goes awry, it can be a complete disaster. This is exhibited with my ongoing iCloud issues.

The Issue

The issue I am having with iCloud is that I cannot upload any files to iCloud Drive. When I do, it just sits and pretends it will upload the files, but it does not. The same goes with downloading files from iCloud Drive; no files can be downloaded. This renders iCloud entirely useless.

Now, this may not be a big issue if I only used iCloud randomly and sporadically; but that is not the case. I use Apple’s “Desktop & Documents folders” syncing feature, which allows any files I create in m “Documents” or “Desktop” folders to synchronize to all of my Macs and iCloud. This includes being able to access the files from within any application or on my iOS devices. Due the inability to upload or download any files to iCloud, these features are entirely broken.

Backstory

This actually began on December 1oth, 2019 after I upgraded my iMac to macOS Catalina 10.15.2. My MacBook Pro is usually on the developer version of macOS and it did not exhibit any of this behavior and was synchronizing files without a hitch. At first I thought it might have just been a fluke and that iCloud needed time to resynchronize everything. After a few days of not being able to synchronize anything, I contacted Apple Support.

Apple Support

When I contacted Apple support I was connected with a tech support person who attempted to help me. We did some testing, which included trying to upload files to iCloud on all of my devices and on different networks, rebooting the device, but none of these steps had any effect.

Since the first tech support person I contacted was not able to find a fix, I was transferred to a specialist. Over the course of a couple weeks we did various things, including:

  • Creating a test file and uploading it (does not work)
  • Creating a new account and trying to upload a file (does not work)
  • Trying to find any offending files that were not uploading and remove them (had no effect)
  • Uploading files via the web interface (which did and does still work)
  • Creating a file at a specific time and then gathering the logging information for 24 hours

After all of this testing and nothing working, the issue was sent to Engineering. Engineering came back with some questions and requests, and required screenshots on iOS of the issue. One of the things they requested was to install a configuration profile to gather some data. The log that was uploaded ended up being well over a gigabyte in size; and that was when it was compressed.

Partial Fix

Due to the complete hassle this has been I began looking for a fix on my own. As with any problem, it is best to search google. I came up with this solution from stackexchange.com. The following commands were entered into terminal:

killall bird
cd ~/Library/Application\ Support
rm -rf CloudDocs

These steps will do the following:

  1. Stop the “bird” service. The “bird” service is the service that controls uploading and downloading data to and from iCloud Drive.
  2. Change directories to the local user Application Support directory under the “Library” directory.
  3. Remove all of the cached files for iCloud.

When these have been done, you need to restart the computer, just to be on the safe side. When I did this on my MacBook Pro, it began downloading the file list in iCloud Drive. Once this was done, the biggest portion of the work began. That work is comparing the local copies of the files with the files that are stored in iCloud Drive. The length of time is depending on the number of locally stored files that you have.

Due to the amount of information I had on my MacBook Pro this ended up taking several hours. But once it was finished I tested uploading a file to iCloud Drive and it worked. I waited a couple of days to make sure things still worked. Upon verification, I then performed the same steps on my iMac and it produced the same results, albeit the amount of time it took on my iMac was a bit longer due to having more files on my iMac.

My iOS devices were another matter entirely. Because you do not have access to terminal on iOS, you cannot perform the same actions. The only steps you can do on iOS are:

  1. Open the Settings app.
  2. Click on your Name at the top to open up the iCloud settings.
  3. Tap on “iCloud” to open iCloud options.
  4. Scroll down to “iCloud”.
  5. Tap on iCloud Drive toggle switch to disable it. A popup may appear.
  6. Click on “Delete from iPhone” to confirm any documents that are not synchronized will be deleted. This will turn off iCloud Drive and delete any locally saved documents.
  7. Reboot the iOS device.
  8. Plug the iOS device into power.

You can then restart your device and perform the same steps to turn iCloud Drive back on. When I did this, it did not seem to have any effect, at first. After about 45 minutes the files that are stored in iCloud Drive populated. Unlike on macOS, I do not think any of the downloaded files that I had remained on the device. One last thing to keep in mind is that when you disable iCloud Drive on an iPhone it will also disable the Wallet app, because the Wallet app depends on iCloud Drive to function properly. So you will want to re-enable Wallet on your device as well. Disabling iCloud Drive will not remove your cards, so I am not sure what function requires iCloud Drive within the Wallet app.

Once I saw the list of files, I then created a test folder and verified that it would indeed upload and I could see it on my other devices. So, this seemed to work.

It may not strictly be necessary to plug the iOS device into power, but it cannot hurt because when an iOS device is connected to power, additional processes will run that may not run when the device is on power and this may ultimately speed up the population of the iCloud Drive files.

Possible Root Cause

While I cannot fully know, I think I have determined the cause of the issue. When it comes to any app, you are likely to have a “state” for something. In the case of Files, the “source of truth” is iCloud. I think that the synchronization information on my iMac somehow got corrupted and that corrupted information propagated to all of my devices. The only way to get things back into place was to erase the local cache and re-download all of the data from the server.

Closing Thoughts

As of this writing, everything seems to be working. I am somewhat disappointed that Apple could not find a solution, and I was left to find a solution on my own. Also, at the moment, my issue is still in Engineering, and I do not expect to hear back from my support representative about a fix for the issue. I am glad I was able to find a solution to get things back on track, but these types of things need to be handled by Apple in a much faster manner than they are now.

One way to mitigate this from happen would be for Apple to create some sort of automated testing that occurs on each device where it attempts to create a file and upload it to iCloud. If this does not happen within a period of time, say 24 hours, send a push notification that will trigger the resetting of the iCloud cache information stored on the device. This type of solution would be able to mitigate, if not eliminate, these types of issue because it would end up being proactive and not wait for the user to notice that something is wrong and attempt to find a solution with the help of Apple. I completely get that I may have just been a “lucky” one to run into this bug and it may only be affecting a small percentage of users. However, when you have 1.5 billion active devices, even one tenth of one percent is still 1.5 million people. Even if the percentage is much smaller, this type of solution could go a long way to improving user experience.

Categories
Apple iPhone

Apple’s Battery Mess

One of the issues with today’s technology is that almost every device relies on a battery. Maybe there will be a giant leap in battery technology that makes them effectively obsolete. Unfortunately, it is not likely a giant leap will be found soon. Hence, we are stuck with modern battery technology. Most batteries in today’s technology is based on lithium-ion technology. One of the issues with this technology is that it may no longer be able to provide all of the necessary power to devices. Up through September of 2016, if an iPhone was not capable of providing the necessary power to the device, it may act in strange ways. The most noticeable of these is that the device might end up shutting down. This is an unacceptable solution.

Starting with iOS 10.2.1, which was released in January of 2017, Apple made some changes in order to minimize the instances of iPhones inexplicably shutting down. The change that they made was to reduce the speed of the iPhones in order to reduce the burden on an iPhone’s battery. By doing this, users will still be able to keep using their iPhones. Along with this, if you went to “Settings” -> “Battery” and iOS detected issue with the battery you would see a notice indicating that you might need to get the battery serviced.

All of this came to light due to a set of benchmarks that were run that showed that the speed of the iPhone was noticeably slower. Once these benchmarks were released, it played directly into the narrative that Apple was deliberately slowing down devices to force users to upgrade. This was not the case.

Even though this is not the case, Apple has acknowledged the issue with their approach. At first they released a support article the discusses Lithium-Ion batteries. While this is informational, it did not directly address the cause. In order to help rectify it, Apple has issued an open letter. In this, Apple indicates that they will be reducing the price for out of warranty battery replacements. Currently, it is $79. Starting in late January, this price will be reduced to $29. This will be valid on iPhone 6 models, and later, from late January 2018 to December of 2018.

This is a good step to help those who have purchased an iPhone 6, or later, to be able to continue to use their devices. As the message about the battery states “Early in 2018, we will issue an iOS software update with new features that give users more visibility into the health of their iPhone’s battery, so they can see for themselves if its condition is affecting performance.” This is absolutely necessary and should have been done before.

With this apology and price reduction, Walt Mossberg, former technology writer, had something to say about it in a series of tweets. Or you can read it in its entirety

It is as follows:

It’s natural that, after Apple’s apology and battery replacement discount, people are calling for the return of user-replaceable batteries in phones and other devices. And it may well happen. But one big reason Steve Jobs wanted to get rid of replaceable batteries was to make room for *larger* batteries, taking advantage of the space gained by eliminating the user-accessible battery compartments and covers and user-safe casings. Thinness was secondary. And industry sales figures showed hardly anyone bought spare batteries or kept them charged, and that device turnover was fast enough that degrading batteries weren’t much of an issue. Also, in the case of phones, their processors and other components for years weren’t potent enough to run truly powerful software or tax the batteries nearly as much as they do today. Now, I wouldn’t be surprised to see 2020 smartphones with much more easily replaceable batteries, especially since Apple is now calling them “consumable” components.

Mossberg makes a good point, particularly the last sentence “especially since Apple is now calling them ‘consumable’ components.” If this is truly the case, then I would expect Apple to begin incorporating user-replaceable batteries. It would be nice to see a return, however I do not know how likely it is. I am sure that Apple will begin looking the feasibility of replaceable batteries. I do not expect it for 2018, but as Mossberg postulates, 2020 is a possibility.

It is not known what Apple will end up doing in the long run, but it would be nice to see a bit more flexibility. However, with the move to subscription phone subsidies, the need for user-replaceable batteries may be moot and not really an issue. Yes, this is absolutely bad for Apple, but Apple cannot control chemistry and the way that chemicals react. Should Apple have warned users, yes. I hope that Apple learns from its mistake and provides more information to the users. This incident may cause some users to switch to Android, but ultimately I do not think it will hurt Apple sales that much, but time will tell on that. Even with this battery issue, having an iPhone feel slower is still not as bad as having them explode, as Samsung experienced with their Galaxy Note 7, even so, this is not good.

Categories
Apple Apple Watch

Apple Series 3 Watch Cellular Errors

The Apple Watch Series 3 was just released on Friday. There were two models that were released, the GPS and the GPS + Cellular model. The GPS + Cellular model, also referred to as the LTE model, allows for an additional feature, the ability to answer phone calls and receive texts directly on your Apple Watch Series 3. This feature is called “NumberSync”. It may have a different name for your carrier, but it is a simple descriptive name. The way the NumberSync works is that each device has its own line, which is part of the monthly cost that carriers charge. On the carrier end, your iPhone number is then forwarded to both your Apple Watch Series 3 as well as your iPhone. This feature requires carrier support since the switching has to be done on the carrier side. With that information, let us look at an issue I had setting up the feature.

As it seems to be the case for me this year, I had issue with setting up the the cellular connectivity on my Apple Watch Series 3. You can see my post about the issues I had with cellular on my iPad Pro. During the setup process of the Apple Watch Series 3 with LTE, you are prompted to configure a cellular connection. You can, of course, set it up later as well. When I attempted to setup cellular, I got the following error message:

The error message states: “We’re sorry, but your order can’t be completed using your current rate plan. Please call us at 800.331.0500 for assistance. (EAPS460004)”

So I called AT&T’s customer service and talked to a tech, they tried a few different things and none of it worked. At one point, he indicated there was a “magic number” that had to be added to the account to allow the activation. I do not think he had any clue what he was talking about. At his request, I then again tried to setup cellular on my Apple Watch; to no avail. He then determined that it was an activation issue, and proceeded to give me a number to call. I called the activation line and talked to another rep, she said I had to go to a store to get the issue fixed, because they had access to things that she did not. We will circle back to this in a little bit. This was about 20 minutes before my local corporate AT&T store closed, so I went to the AT&T reseller store that is also nearby.

At the AT&T reseller store, I talked to the representative there. She understood what the issue was and knew that a new line had to be added. One of the downsides of an AT&T reseller is that they cannot always perform certain actions that need to be done. When this occurs it requires a call to an internal AT&T number. So the reseller rep called the activation line to get some help activating the line. Which brings us back to my call to the activation line. If the AT&T reseller rep had to call AT&T, then why is it that the activation rep that I called could not assist me? That one bugs me. Once the new wearable line was added, the “Setup Cellular” had a different display. The one below.

Okay, so that is progress. So the Apple Watch app on my iPhone at least saw that there was a line that could be used. I again attempted to setup cellular, but received yet another error message, the one below.

The error reads “Device Syncing is blocked on this device. To enable it, ask the person who manages your account to call us at 800.331.0500. (EDS0005)”.

That seems like a straight forward one to fix and a call to AT&T customer support should help fix it. The AT&T reseller rep called AT&T support line back, and they said everything looked good and that it could be because the terms and conditions were not accepted. So there was another number for that, we called that one and the automated system indicated that the terms and conditions were accepted. Another attempt to configure cellular resulted in the same error message. I decided to call AT&T’s support line back from the AT&T reseller store at about 8:40pm. I was on hold for about 25 minutes and the AT&T reseller store was closing, so I talked to another AT&T support rep, for about 25 minutes in my car about the issue. He suggested restoring the Apple Watch and setting up again, which I was reluctant to do and he indicated that there was a known issue and to wait for the fix. The issue that he was referring to was a wifi issue, not a cellular one.

I hung up with the AT&T customer service rep and drove home. I then attempted to restore the watch and try setting up cellular again. That did not work, so I gave up for the evening. I opted to go to the AT&T corporate store, since the issue, at least to me, seemed to be an AT&T one, and nothing with the watch. I worked with an AT&T rep at the corporate store and eventually we figured out the issue.

The Fix

The AT&T corporate rep began looking at resetting passwords to allow the “primary” account to login to the “MY AT&T” app. The AT&T corporate thought this was the issue because this is how the Android-based Smart Watches needed to be configured. During his testing he was looking at the line for the Apple Watch to find the NumberSync feature, but he could not find it there. It could not be found under the Apple Watch line because the NumberSync feature is under the line for the iPhone. The item that was blocking setup was that a feature called “NumberSync blocking for Apple” had been added to my iPhone line. I do not know when this was added, and I certainly do not remember adding it. Once this was removed as a “feature”, I was able to proceed with the cellular setup.

After removing it, I received this email in my inbox.

It took 19 hours, a half dozen phone calls to AT&T, totaling up to two hours on the phone, and over 90 minutes in different AT&T stores just to get the issue resolved. Ultimately it was fixed, but it would have been nice to have an AT&T phone customer support rep realize that it was a NumberSync issue after first calling, that way it would have been done and out of the way sooner. If you find yourself in the same boat, I hope this fixes the issue for you.

Categories
Apple

Access Denied: Issues with Connecting to the Internet

I do not recall exactly when I bought my first AirPort Extreme base station. It was probably sometime around late 2009 or early 2010, when I moved into my house. I upgraded from the 5th generation and added a 6th generation model in 2014. Within the last week, with no change in configuration what-so-ever, I began receiving the follow error message when I tried to access usps.com.

Access Denied

You don’t have permission to access “http://www.xfinity.com/” on this server.
Reference #18.bda04968.1474239094.10f163b

Let me go through my Network Setup. I have a 5th Generation AirPort Extreme that is directly connected to my cable modem. Connected to this is a 5 port switch in my second bedroom/office. Connected to this is a 6th Generation AirPort Extreme. The two AirPort Extremes are connected via Bridge Mode, where the 6th Generation AirPort does not do any DHCP serving, but still provides services. I have three networks total, my standard 2.4GHz network, a 5GHz network and my Guest Network. To have bridged mode work as well as possible, you need to setup the same network on both AirPort Extremes, so that is what I setup.

At first I figured it might have been a temporary Comcast issue. I hardly ever need to go to the usps.com website, but there were a couple of packages that I wanted to track, and having to turn off wifi to do any tracking, while not the end of the world, was quite inconvenient.

I did the first set of maintenance that one does, I rebooted the cable modem as well as the 5th Generation AirPort Extreme. This did not fix anything, So the next step was to contact Comcast.

I contacted Comcast, and since it worked when directly connected via cable modem, there was not much else that they were able to do. As with most of their other things to test, they asked me to directly connect to the cable modem. When I connected directly to the cable modem, everything worked, so that clinched that it was something on my network.

I began doing some google searching, as one does, and I came across this thread on the Apple Discussion Forums.

I tried a couple of the things that they suggested in the thread. One of the suggestions was to make sure that “Enable NAT Port Mapping Protocol” was enabled. That was already checked, so that was not the issue. Another suggestion was to disable the Guest Network. When I did this, it fixed the issue. While this worked, something told me that this was not the issue.

I did some more testing. I remembered that I had not yet rebooted my 6th Generation AirPort Extreme, so I rebooted this and there was no change. I switched the network names on the 6th Generation AirPort Extreme. When I did this everything worked fine. Yet, this is not how it is supposed to work. When I switched the names back to the original names, the original behavior returned.

Since I was back to square one, this is when I decided to use an suggestion from the Apple Discussion thread and decided to disable the Guest Network on the 6th Generation AirPort Extreme. After I disabled everything worked. I left the guest network disabled for 30 minutes, and re-enabled it again. When I double-checked everything, it continued to work.

I cannot explain what caused the contention between the two guest networks, but leaving one of them disabled seemed to fix the issue. I do not know if this is due to clearing out some cache, or some other issue. If that had not worked, my next step would have been to downgrade the firmware to the previous version and see if that fixed the issue.

I will admit that my network configuration is a non-standard one, but it seems to me that the two AirPort Extremes should be able to handle the communications without any issues. However, given the number of wireless networks in my area, it could easily be that they all got confused and needed to be reset. One of the suggestions from the Apple Discussions thread was that it could be an issue with ISP caching. Ultimately, this may still be the case, and it could just be that it is temporarily working and may stop working again in the future.

One of the things I also opted to do was to enable IPv6. When I did this, I noticed a horrendous slowdown in internet connectivity. After having it enabled for a couple of days, I ended up turning it off. The speed decreases were just too much to handle.

The thing to keep in mind is that no matter how good technology gets, it is still bound to have problems every once in a while.

Categories
Apple

iOS 8.0.1 Gets Released and Subsequently Pulled

Whenever you develop software, there are going to be bugs. There is no way around this. As much as you try, you cannot get around this. iOS 8.0 was released on September 17th, or exactly one week ago. Apple released iOS 8.0.1 today, but almost immediately pulled the update. While many users were discussing iPhone 6 and iPhone 6 Plus issues, the update was pulled for all models of iPhone and iPad.

The reason that Apple pulled the update was two fold. The first was that users were reporting issues with the Touch ID sensor no longer working after updating. This is a slight inconvenience if you have Touch ID enabled.

The second issue, which for many people is more of an issue, is that all cell phone reception was lost. If it had just been the voice portion of data, I do not think as many people would have noticed, but it was both voice and data. This poses a significant issue.

The entire list of actual fixes is as follows:

  • Fixes a bug so HealthKit apps can now be made available on the App Store
  • Addresses an issue where 3rd party keyboards could become deselected when a user enters their passcode
  • Fixes an issue that prevented some apps from accessing photos from the Photo Library
  • Improves the reliability of the Reachability feature on iPhone 6 and iPhone 6 Plus
  • Fixes an issue that could cause unexpected cellular data usage when receiving SMS/MMS messages
  • Better support of Ask To Buy for Family Sharing for In-App Purchases
  • Fixes an issue where ringtones were sometimes not restored from iCloud backups
  • Fixes a bug that prevented uploading photos and videos from Safari

These are some good bugs to fix, but introducing some rather major bugs is definitely not a good thing. There is no estimation as to when Apple will re-release the update. If I were Apple, I would opt to release the fixed update as 8.0.2, and not 8.0.1. But that is just what I would do.