Faster First-Time Time Capsule Backup

Turns out this post is a draft in process – the instructions work up until step 13, lucky 13! If I continue to update this, I will look at instructions here, here, here, here, and maybe even here.

*************************************************

My macbookpro11,4 rocks a 2TB SSD and over half of it is full. I jailbroke our Time Capsule and successfully transferred 3 Time Machine backups, but the backup for my macbookpro11,4 got messed up. Rather than troubleshoot further, I decided to erase the macbookpro11,4’s sparsebundle from the Time Capsule and start fresh. A first-time backup to our Time Capsule would take days to transfer this much data from the macbookpro11,4 and the first backup would likely be disturbed every time I pull my macbookpro11,4 off the local network and go somewhere.

To speed this up, I had the macbookpro11,4 complete its first-time backup to a FireWire 800 2TB hard drive, which took 6 hours. I then moved the FireWire drive to a desktop computer that stays on my network. Fortunately Aaron Cohen has kindly published instructions for what I proposed above. I’ve ever so slightly tweaked those instructions, here:

  1. Preferably using USB, FireWire, or Thunderbolt, connect an external hard drive to your Mac you wish to backup and complete a Time Machine backup.
  2. Make sure your computer has a name in System Preferences -> Sharing or your first Time Capsule backup could fail.
  3. Set up your Time Capsule using the AirPort Utility. When you’re done, you should be able to see the Time Capsule under Locations in the sidebar of a Finder window.
  4. Mount the Time Capsule drive, by selecting the Time Capsule in the sidebar, and then, if necessary, clicking the Connect As… button and entering your Time Capsule password (that you set up in the AirPort Utility).
  5. You should then see a folder called Data, representing the internal disk in your Time Capsule.
  6. Double-click on the Data folder to open it; it should be empty.
  7. From the Mac you wish to back-up over your Time, open the Time Machine preference pane, click “Select Backup Disk…”, and choose your Time Capsule from the list.
  8. From the Time Machine menu on your Mac, click “Back Up Now” to force Time Machine to start backing up to your Time Capsule. Once it starts whirring along, look in the Time Machine preference pane and you should see “Backing up X MB of Y MB” or check out the Finder window that was showing the contents of your Data folder where a sparsebundle file should now appear. When either of these conditions are true, cancel the Time Machine backup as we only started it to create a sparsebundle file that we’ll use later. When your Mac stops backing up to the Time Capsule, turn Time Machine off on your Mac.
  9. Download SuperDuper!, which is an excellent backup and disk copying application. The free version is all you’ll need, but if you like it, I recommend the full version to support Dave Nanian and his super effort.
  10. Move the external hard drive to a computer on your local network. Preferably this computer will have an ethernet connection (preferred) to your Time Capsule
  11. From the Time Capsule Data folder, double-click the sparsebundle file that was created moments ago. Doing this should mount a new drive Time Machine green icon on your desktop called “Backup of [your computer name]”.
  12. Launch SuperDuper, set it to copy your old backup drive to “Backup of [your computer name]” with “Backup – all files”, and click the “Options…” button and under “During copy” choose “Erase Backup of [your computer name], then copy files from [your computer’s hard drive name]”, click “Copy Now”, and enter your credentials when SuperDuper! prompts you.
  13. This transfer will take a while, but at least your MacBook device is free to leave the network. It appears my 1.2 TB of backups will take at least a day, copying from a FireWire 800 drive to a Mac mini ethernet connected to a Time Capsule.
  14. When the Mac mini to Time Capsule transfer finishes, re-visit Time Machine preferences on your MacBook select your Time Capsule as the backup drive and check the box for automatically backup.
  15. Either enter Time Machine to verify that your backup history is still present or run another backup to verify connectivity. The first network based Time Machine backup after the copy described above may take a while during the Preparing… phase, but after that it should be working.

Thanks for setting us up, Aaron! Before finding Aaron’s instructions, I also checked out Pondini’s old site and a couple Apple Exchange sites, but Aaron’s website was the best.

OpenCore Legacy Patcher

Courtesy of OpenCore Legacy Patcher, my older macmini5,3 and macbook6,1 have been running Monterey smoothly. With macOS Ventura due later this year, I will likely move our macpro5,1, macbookpro11,4, and macbookpro12,1 machines to Ventura and also need to use OpenCore Legacy Patcher. Before we do that, I want to jot down instructions for upgrading Ventura for these machines and Ventura is not running well on OpenCore Legacy Patcher just yet. The instructions below are based on Mr. Macintosh’s video on upgrading Monterey with OpenCore Legacy Patcher, but I expect these steps to be the same or similar:

1. Backup your machine! (I recommend a bootable backup in addition to a Time Machine backup if you can afford the space).

2. Update macOS like you would on a supported machine (click Apple logo->About This Mac->Software Update…->Advanced…->Ok->Update Now. Adding clicks for “Advanced” and “Update now…” might allow your Mac to update faster if it already had a chance to download the patch. This will probably take about an hour and ends with your Mac needing to restart. If your Mac doesn’t install the update, skip to the next step and then repeat step 2 at the end.

3. When your Mac boots back up, run the latest version of OpenCore Legacy Patcher, get it here. Fire up the OpenCore Legacy Patcher application and then we will build and install OpenCore to the boot drive EFI. Before you do build and install, you might want to change the bootpicker to false if you don’t want your Mac users seeing extra options during boots or restarts (and you can still get to these by holding down the option key at start-up). Build and install OpenCore to the boot drive’s EFI. Also, to get macOS system updates to load, you’ll need to set spoofing to “minimal” through OpenCore Legacy Patcher).

4. This step is not needed for Metal Macs. For non-Metal Macs, run OpenCore Legacy Patcher and then click “Post Install Root Patch”, click “Start Root Patching”, click “Yes” to give OpenCore Legacy Patcher root access, enter your credentials when prompted, and when prompted click “Reboot” and then “Restart” to restart your machine. This step will load the proper GPU graphics drivers and more to speed up your Mac.

Expect to see edits to these instructions as I continue bringing our legacy hardware to Ventura. Also note, I started using the text-based interface and moved to the GUI OpenCore Legacy Patcher interface since the two codebases should be in sync, at least according to Mr. Macintosh that is true. OpenCore Legacy Patcher will be called OpenCore-patch when it is sitting in your Applications folder or wherever you install it. Ventura will not

Jailbroken Time Capsule and scp

After successfully jailbreaking each of my Time Capsules, I successfully transferred a pair of .backupbundle files that refused to transfer via Finder, go figure.

1. In macOS, mount a disk from each Time Capsule drive you’d like to pass information between.
2. Open Terminal.app.
3a. To transfer data from your Time Capsule to a drive mounted locally, execute this command from your Mac:

scp -3 -r root@10.0.1.15:/Volumes/dk2/ShareRoot/tina.backupbundle /Volumes/WD\ 4GB\ Backup

3b. To transfer data between a pair of Time Capsules, this command should work:

scp -3 -r root@10.0.1.15:/Volumes/dk2/ShareRoot/tina.backupbundle root@10.0.1.1:/Volumes/dk2/ShareRoot

4. You can continue to monitor the status of the transfer in the Terminal.app window, this will likely take several hours if the .backupbundle file is more than a terabyte.

If you are doing this transfer, you too may be like me and finding your internal Time Capsule drive out of space. If you make a secure shell connection to your Time Capsule, you can execute the following command to find out how much space remains on the Time Capsules internal storage and disk drive:

df -h

Filesystem Size Used Avail %Cap Mounted on
/dev/md0a 15M 11M 4.5M 70% /
/dev/flash2a 2.7M 63K 2.5M 2% /mnt/Flash
tmpfs 16M 4.0K 16M 0% /mnt/Memory
/dev/dk2 2.7T 2.0T 746G 73% /Volumes/dk2

In the case above, only 0.7 TB remained on the storage disk and I needed a bit more to fit everyone in the family…

Sintech ST-NGFF2013 and Xiwai

I’ve been hot-rodding older MacBook, MacBook Pro, and MacBook Air machines for a few years with NVMe SSD drives and Sintech and Xiwai adapters. I’ve found just about every NVMe drive, if properly formatted, will work with these machines; however, I have noticed several times now where these machines break into kernel panics, as shown below and discussed by others, with the first line of errors that would typically be seen in Apple’s Bug Reporter:

panic(cpu 0 caller 0xffffff80207597c6): nvme: "3rd party NVMe controller. Loss of MMIO space. Write.

In the past I resolved these errors by ordering a new adapter and then things were fine again. I had a couple bad adapters (the original ST-NGFF2013 and Xiwai) and decided to use my trusty 10x loupe to look closer at the failed PCBs. As shown in the pictures below the outer pins near the edge of the rev. C/D board pulled away from the Sintech ST-NGFF2013 rev C adapter, seemingly no longer soldered to the board:

I also looked at a failed Sintech ST-NGFF2013 (sorry, no pictures) and found the outermost pin (ground?) had cracked away on one side.

I made a warranty claim to Sintech on the rev. C/D board, but wanted to quickly revive my macbookpro11,4. Since the original ST-NGFF2013 had only one pin cracked away, I decided to pull out my trusty soldering iron and fix it. A quick dab of silver solder and the old ST-NGFF2013 was working admirably with my macbookpro11,4 again on May 30. It’s now a week later and not a single kernel panic. Better yet, Sintech agreed to send me a replacement rev. C/D ST-NGFF2013 and I expect to have that next week. Will report back afterward.

P.S. I purchased the ST-NGFF2013-C adapter on Amazon because I understood it may have a lower profile than the ST2013AM2. Maybe others can report in the comments what has worked better for them.

Restoring CloudTabs.db

I’m terrible about opening lots of tabs and then quitting Safari twice to lose them. Or do you?

I’ve found if you have Time Machine running on your Mac, it’s possible to restore your lost tabs if you restore the Cloudtabs.db file, saved here:

/Users/(your user folder)/Library/Containers/com.apple.Safari/Data/Library/Safari/CloudTabs.db

I’ve been able to restore the file such that Safari will launch with all your tabs in place before you lost them, but I seem to have forgotten how I did that. As a temporary workaround, you can open the CloudTabs.db file with “DB Browser for SQLite“. After you double-click CloudTabs.db to open your lost tabs, click “Browse Data” to view your tab information.

When I lose all my tabs in another month, I may try to figure out how to do a quicker restore that brings back Safari’s window and tabs in the same place they were, but for now you get this post. According to my notes though, all I had to do was restore the history db files, but I think it’s more complicated than that… According to this one you just have to restore all 3 CloudTabs.db files, presumably they mean CloudTabs.db, CloudTabs.db-shm, and CloudTabs.db-wal? And the most interesting link is that the backup files have moved and now reside here:

~/Library/Containers/com.apple.Safari/Data/Library/Safari/CloudTabs.db

Will report more later when I can try this with my Time Machine backups at home.

Xtracycle Sidecar enhancements

Tina, Liam, and Ella gave me an Xtracycle Sidecar kit several years ago and I’ve logged several hundred miles with it, including trips with Suki. Last summer it received upgrades and it logged 500 RAGBRAI miles it was time to publish their success here:

1. For anyone who has a Sidecar, you might notice the axle makes noise when hitting bumps in the road. If you’re willing to use a screwdriver in addition to the easy-to-use and push-to-release button on the Sidecar’s lone wheel, you can silence the axle with a single 3/8-inch electrical conduit to NEMA clamp as shown in the pictures below.

2. Prior to last year, my Sidecar’s tire went flat a couple times. After I wore the first tire out, the Sidecar received an upgrade to a Schwalbe Fat Apple set up tubeless (this seems reasonable since I keep the pressure at 50 psi or less). Last summer, I was a cheap bastard and used a single layer of Kapton tape on the stock rim, which allowed a spoke to poke through after 500 miles. This year I took off the Kapton tape, replaced the Fattystripper with a hole in it, and installed a fresh Fattystripper, 1 ounce of Orange sealant, and 2 layers of Whisky 30mm tape (if you try this, consider 25mm tape, 30mm is what I had on hand and it was a bit too wide).

3. Finally, for bikepacking Sidecar trips that need power at their destination, we mounted a solar panel to the Sidecar’s deck and use it to charge Makita 18-volt battery packs. The solar setup proved it’s worth while riding across Iowa, keeping 3 of our iPhone’s charged in the evening. Also, detaching the Sidecar at camp with the wheel attached gave it perfect angles for tilting toward the sun, I recommend it:

AirPort Time Capsule ssh access

I’m trying to copy some Time Machine backups from one Time Capsule to another and permissions seem to be getting in my way. I’m hoping to circumvent this by using scp to copy files from one Time Capsule to another. Before I can do that, I need to get ssh access to each of the Time Capsules and I was having a heck of a time before I figured out a couple things.

Following these instructions (converted to English) and this thread helped, but the acp and airpyrt scripts would error out. This thread helped me learn that the airpyrt script cannot handle a number IP address, it must instead use the Time Capsule’s mDNS hostname AND for either acp or airpyrt the Time Capsule cannot have a password with special characters – I’ll report this back to Samuel in he or the other developers care to address it.

If you’re hoping to use airpyrt and your Time Capsule’s local IP address is “10.0.1.15” (adjust to your fit in command below) you can obtain its mDNS name through the following Terminal.app command:

dig -x 10.0.1.15 @224.0.0.251 -p 5353

(the output from this command will show a Time Capsule name that ends in .local)

In my case it was “Basement-Shop-AirPort-Time-Capsule.local” (I skipped the period after local).

After revising my Time Capsules passwords to omit special characters, I then used the following commands to install acp or airpyrt (take your choice although acp should be newer and can roll with number IP addresses). I’ll refine the commands below when I try again from a Mac that is not yet configured to make these connections.

First, I’m pretty sure we have to do this with Python 2, not 3, so use brew to install pyenv and enable it in Bash shell:

brew install pyenv
eval “$(pyenv init -)”
pyenv versions
pyenv global 2.7.18
python –version
pip install acp (might be able to skip this?)
npm install –global node-acp (might be able to skip this)

Or, if you prefer to use airpyrt, follow these instructions.

I followed some additional advice here:
https://www.reddit.com/r/jailbreak/comments/f01d2r/tutorial_how_to_jailbreak_an_apple_airport_device/
https://sites.google.com/site/lapastenague/a-deconstruction-of-routers-and-modems/apple-time-capsule-repair/change-country-on-airport-router

To do cute things like get a list of all MAC addresses connected to an AirPort, Josh has a ruby script. And Jörg is trying to mount the hard drive. Ray has all kinds of good stuff.

Bosch SHU8805 and Bad Odor

We love our Bosch SHU8805 and it just turned 20 years old. Recently we noticed our plates had a white film on them, a bad odor was emitted through the sink when the discharge pump operated, and less heat/steam erupted from the dishwasher when opening the dishwasher door during or at the end of a cycle. Additionally, some nasty black sludge was hanging from the bottom inside of the door and some little black bits were caught in the drain mesh. Time to fix this!

For those needing a quick hack to stop the smell and keep limping by with what you’ve got is to clean out as much of the black matter as possible and jack up your hot water heater to the maximum temperature. We used this approach for a couple weeks until I had time to get my hands dirty.

I went through a bit more hassle than I needed to, but I wanted to make sure other components in the dishwasher were fine. If you want to skip my additional troubleshooting, skip to step 3, below.

1. It’s a good idea to make sure the heater element isn’t shot, so check it’s resistance. The heater element itself is somewhat a consumable item and Bosch wants you to replace the entire heater assembly for a couple hundred dollars. A guy in the U.K. made his own heater element replacements, but when I checked he was out of stock and frustrated with how eBay was handling his transactions. I plan to buy one from him if he ever carries more stock… Unfortunately, checking the heater element resistance requires pulling the machine out from under the countertop and using a multimeter.

Heater element poles are identified by white arrows.

I watched this video for some pointers and, fortunately, ours checked out fine! I pulled all the wires off the heater element assembly, including the thermistor, flow meter, and shut-off and measured:

  • 48.7 kOhms at thermistor
  • 4 ohms at 185 degree F shut-off
  • 14.4 ohms across the heater element poles
  • 0 ohms between heating element pole and ground

  • 2. Here’s the full throubleshooting chart for the heater element:

    While assuming the heater relay was faulty, I still wanted to follow the chart to a few of its end points to make sure nothing else exhibited damage. Anyway, after obtaining the resistances above, I pushed the machine back in place under the countertop since it was late and I still wanted to loosen the door panel to observe the control board. One note, the black plastic inside the door panel is very brittle after 20 years. The black plastic covering the control board pretty much disintegrated into little pieces in my hand when I pulled it out. It was so bad I had to use a zip-tie on one side to secure it inside the dishwasher while buttons are pressed.

    Skipping to the good part, I removed the control board to find the heater relay was indeed looking bad with black stains all around it on the control board:

    White arrow points to bad relay, see black stains on board.

    Close-up of relay, stains somewhat cleaned up.

    The bottom side of the control board shows where the heater relay blew itself off:

    Bottom of board where bad relay blew off.

    Bottom of board closeup where bad relay blew off.

    The black stains cleaned up with cotton q-tips and 99% alcohol, paving the way for a replacement relay, although I should find out if some sort of board sealer is required to stabilize what remains – I’d probably just buy a new board, but Bosch doesn’t make them anymore! And seeing all the heat damage makes me wonder why our model dishwasher wasn’t included with CPC’s safety recall that Bosch also mentions on their website.

    3. Before buying replacement relays, I soldered a jumper wire from the blown part of the board to a nearby pad on the same trace. I then initiated a 20-minute test program and the dishwasher was producing heat again, woohoo! Knowing the jumper wire is a temporary fix with the existing/damaged 10 amp heater relay, I purchased two more relays; one from MicroCenter and one from Amazon. Surprisingly, MicroCenter was the fastest option; I reserved 2 relays from MicroCenter Wednesday evening and the next morning they said I could come pick it up in-store, whereas Amazon’s part arrives Friday, I’ll keep that one as a spare or maybe return it. The new part is manufactured by NTE and rated at 12 amps, whereas the original part is rated at 10 amps. If the NTE 12 amp relay doesn’t last long I may order up a larger 16 amp relay that others on the web are reporting good success with (see video description in this YouTube video for the part number).

    4. After using my trusty solder gun, the removed relay exposed an area on the control board with significant damage. I can see why models in CPC’s recall caught fire, as the condition of our control board appears to have been on a similar path with the top side of the PCB coating completely eaten away:

    Here’s the replacement relay next to the removed relay:

    After soldering the new relay into place, I noticed the leads on the board were starting to yellow, notice how the leads on the left of the power jack are yellowed and the leads to the right of the jack are shiny after yours truly scrubbing them with an eraser:

    Finally, here’s the plugged in board going back into the dishwasher panel:

    Thanks to the thousands of people who went through this and published info before me, I’m so happy to be on your shoulders and have saved our trusty Bosch from a landfill! I also used information sources, below, if you’re looking to see test methods or soldering techniques:

    https://www.youtube.com/watch?v=-g43ZMtQwUI
    https://www.youtube.com/watch?v=-g43ZMtQwUI
    https://www.youtube.com/watch?v=Jb8gAnMb2zQ
    https://www.youtube.com/watch?v=BK9RVGy4MX0 (this guy makes the replacement heater element)
    https://www.unlimitedapplianceparts.com/heater-assy-bosch-00480317-00480317/?utm_source=google&utm_medium=surfaces&utm_campaign=shopping (if I were to buy a heater element, not this time!)
    https://www.youtube.com/watch?v=YjNHI1xJPmE (should I ever need to rebuild the heater element)
    https://www.youtube.com/watch?v=snV2eZb8FoE (short tutorial on testing relays)
    https://www.youtube.com/watch?v=2i8TUZoSdP4 (info about decalcifying Bosch dishwasher)
    https://wowsoclean.com/how-to-clean-dishwasher-heating-element/ (should I ever need to decalcify the heater element, maybe running vinegar a couple times a year replaces the need for this?)
    https://web.archive.org/web/20120403222555/http://gregpye.wordpress.com/ (musings from others)
    http://www.farmfreshmeat.com/2014/04/bosch-dishwasher-stuck-on-1-second.html (more musings from others)

    KitchenAid KSCS25FJSS01 and Whirlpool Every Drop Filter 5 (EDR5RXD1)

    I bought a set of Whirlpool Every Drop Filter 5 cartridges for our KitchenAid KSCS25FJSS01 side-by-side refrigerator. 6 months ago, I noticed the first Filter 5 I installed in refrigerator was really hard to install. Upon removing it 6 months later, I looked at the threads and they were well worn from where I installed it:

    It appears Every Drop made these threads too deep, so I used a file on the next filter I was about to install and removed some plastic as shown in this pic:

    Boom, the filter installed effortlessly this time. I removed about half the plastic at the thread as seen in the closeup above. I’m going to follow up with Every Drop and Whirlpool, this is either a design issue or a manufacturing error that they probably already know about since I’m getting it to it at least 6 months after I purchased them.

    ** Update 5-2-2022 **
    This morning I contacted Whirlpool at 800.442.9991. Brandon with support kindly forwarded me to Whirlpool’s “Water Filter Deparment” who then had a female representative review my KitchenAid model and cross-reference it with their filter offerings, eventually confirming the Every Drop Filter 5 is the correct option for my refrigerator.

    I explained to her that I purchased a multi-pack of Filter 5’s from a local store and removed a filter I installed 6 months ago that required considerable effort and, upon removing it, I noticed damaged filter threading in the pictures above and how it was potentially damaging my refrigerator housing. I told her how I have since modified the threads and offered her pictures on my blog, but she said she had “no access”. She continued that she has no access to the supplier’s quality control for these filters since it is a separate company from Whirlpool, she offered to replace my filters for a discount, and she would “add a note to my file” about our exchange. I told her I didn’t care so much about a replacement filter or a note to my file as I wanted Whirlpool’s filter supplier to know that these filters are not being manufactured to specification and that they could be damaging housing on other people’s older refrigerators. I offered to send her an unopened filter for Whirlpool’s inspection to correct the matter. Prior to this I should have requested her name again, but she eventually hung up on me and was not interested in escalating the issue I was observing. Surely someone at Whirlpool cares, I may try other channels.

    ** Update 5-6-2022 @ 11:00 A.M. CDT **
    This morning I spoke with Whirlpool’s support specialist, Diane. She informed that counterfeit products are sold by others. I purchased my filter from Amazon and a couple others from a local store; however, she said both of those channels are not authorized resellers. I’m a bit surprised, as my Amazon order says the seller is “Amazon.com Services LLC”, which most manufacturers allow – not Whirlpool.

    So, if you want a guarantee with your Whirlpool/Every Day Filter 5, only buy it from Whirlpool. Since my filter has threading that is too large, Whirlpool is basically chalking this up as a counterfeit seller. I may take this up with Amazon, next.

    ** Update 5-6-2022 @ 11:30 A.M. CDT **
    Whirlpool website list 30 authorized resellers around me and presumably includes Amazon if they are the authorized reseller. I call Whirlpool back and this time reached Toni, she’s looking into why Diane told me the information above.

    Toni came back on the phone and said I will have to take this up with Amazon. I told her that’s fine, but when I take it up with Amazon, they tell me to take it up with Whirlpool.

    I told Toni I’d push Amazon on it again. To do so, I asked her if she can send me the warranty that Whirlpool would offer on this filter if I had ordered it from them. She said she’d check with her supervisor and get back to me. I told her I want an email copy, whether it is 6 months or whatever, I want to see it in writing.