Friday, September 16, 2022

Expelling demons from 2020 Air: when Disk Utility says to run against the Container (and more)

If you have to maintain a modern Mac, it helps to be retired. How else would I have hours to spend one Friday pm?

The 2020 Air I inherited from my daughter had met with a beverage at a bad time. We paid a third party to resurrect it (Apple doesn't touch wet stuff) but the machine seemed quirky in a software way. Maybe related to the T2 chip and doing the battery swap and then (mistake) Migration Assistant from my ancient Air.

First I had to fix the VoiceTrigger bug, but the machine was slow and I kept running into weird sh*t, like being unable to enable the default App Expose gesture.

So I decided to cleanup by removing files on that machine (they are still on my working Air) and also clean up the user library. I removed a lot of 2007 and earlier items, including a RAZR plug-in. Maybe did nothing but didn't take long.

Then I ran Onyx and it complained the disk was corrupted. When I tried to run Disk Utility I ran into the SMC reset bug.

Once I fixed that Disk Utility would run, but it complained about a corrupt snapshot on my Data drive. Deleting the snapshot didn't fix the error though, so it's likely a red herring. The message said to run fsck on the Container, but I didn't see how to do that. Running it on the Volume didn't help.

The Disk Utility directions were, of course, wrong. As were various web sites that said to try fsck in single user mode (is single user even possible in Monterey?).

Eclectic Light had the best guidance, but the real missing piece was telling Disk Utility to show everyone, not just Volumes. That showed me the Container so I could run DU there; the details console shows it's running fsck_apfs -y -x /dev/disk0s2. It ran against all the /dev/disk* things and fixed them all, exiting successfully. My App Expose gesture returned.

I think the demons are purged for now. macOS is pretty damn fragile these days ...

Monterey T2 bug - First Aid, unlocking disk, operation canceled - Do an SMC reset

When I tried to run Disk Utility on my 2020 Intel Air running Monterey I got:

    Running First Aid on ..

    Unlocking Disk

    Operation Canceled. 

Google found exactly one reference to this in a 2021 Apple Discussion post with a link to an Apple Support article that has since been removed ...

... That turned out to the known issue linked with the T2 Security chip (https://support.apple.com/en-us/HT203127).  Resetting the SMC solved that problem as well as the original problem with the hard drive.

Resetting SMC (I used two methods) fixed the bug and First Aid was able to continue. (There are other problems, but at least this one was fixed.)

I don't know if this insanely rare or if Google simply isn't that useful any more (probably both). Resharing here.

Monday, September 05, 2022

Managing multiple Apple Store Apple IDs in Monterey: how to sign out and thus change default Apple ID for app update and purchase

There's a lot of complexity in Apple's software, but my nomination for the ultimate complexity is the web of undocumented and slowly changing rules and tools around Apple's Digital Rights Management (FairPlay) including rights to use media (music, video) and software (apps) for both individuals and family members.

I don't think anyone truly understands it all, not even Apple's senior developers. Sometime in the past decade Tim Cook said he'd fix the Apple ID problem and then things went silent. It's a nightmare. I remember when changing a phone number associated with an Apple ID could switch the ownership arrangement for device history (presumably a matching problem between disparate databases).

My most recent experience with this was trying to fix the default Apple Store Apple ID used to for Mac App Store DRM on my wife's Air Monterey account. It was defaulting to an Apple ID we used to share for iTunes purchases 10+ years ago. I've been slowly disentangling it for 4 years now and the rules change with each macOS/iOS release. Currently there's a bit more tooling to sort out who owns what on a Mac but it's obscure.

As far as I can tell the controls for this are now hidden in the App Store app. That kind of makes sense, because the rules (and Apple's DRM contracts) for movies/TV, music and apps are all likely different. You have to go into the App Store app, which can show the apps associated with multiple Apple IDs, then you have to sign out from the menu:

After signing out the default account for App Store purchases was her Apple ID.

Her Music account seems to be based on her Apple ID, but I didn't check to see if changing the App Store Apple ID changed that too. It would make sense if Apple were to have separate rules though. 

I think the complexity of Apple ID DRM may be one of the reasons Apple never provided a multi-user iPad for families. (Our shared iPad has its own unique Apple ID but is a member of our family sharing.)

Monday, August 29, 2022

Monterey orphaned our physical podcast files. What can we do with them?

Podcasts started out as distributing MP3 files; back then iTunes was a great podcast app (and music and audiobooks, and voice memos and more -- it was a glorious app before the fall.)

Over the years Podcasts really shifted to streaming, listen once, don't keep. Then, somewhere post Mojave (Monterey) Apple orphaned the physical podcast files stored in iTunes. The Finder shows physical files in your media library but neither Music.app or Podcast.app can browse them. Music. app's browser Get Info still shows the media type dropdown, but there's only one type! (Music)

If you click on a podcast file iTunes will play it and import the file into the media library where it has media type Music but genre podcast.

So the fix is:

1. Move Podcast folder out of media library

2. Reimport all podcast as music.

3. For genre podcast multi-edit to make more like podcasts. You use macOS Music.app column browse to see all with genre "podcast", select all then hit cmd-I. You'll see a prompt asking if you wish to multi-edit (yes). Then in Options select: 'remember playback position' 'skip when shuffling'. I think this operation may fail if a file is being uploaded to Apple Music (at least I get to burn GB of Apple Storage!) so let uploads complete if it doesn't work.

Reference Stack Exchange.

PS. Voice Memos are supposed to have a migrate path, but that didn't show for me.

Saturday, August 27, 2022

Using Apple's USB-C to T2 adapter: not for video but still good

My 2015 MacBook Air uses Thunderbolt 2; it was connected to an elgato T2 hub (reliable for over 6 years) with a few USB and Firewire 800 peripherals. That Air is in for a battery swap after which it will be primarily an Aperture machine with some portable use. At the moment I'm sharing my son's 2020 Air; there may be a Pro or M2 Air ahead.

To reduce costs and hassles I decided to try Apple's T3/USB-C to T2 adapter. It costs around $45. Everything works for now -- except my external HDMI monitor. It flickers on and off. I might play with it a bit but for now I have it connected directly to the laptop via a compact Anker USB-C hub [1]. Apple tells us that "This adapter does not support DisplayPort displays...". I wonder if the HDMI display connected to a Hub with a DisplayPort/T2 cables affected by this limitation.

Overall it's worth the money, even though I'm likely to switch everything to a USB-C or better hub eventually. The single remaining Firewire 800 device can be retired.

- fn -

[1] When I disconnect the laptop I have to pull two cables! Oldness helps with the indignity.

Tuesday, August 23, 2022

Migration Assistant from Mojave to Monterey is mostly a train wreck

Ugh. Almost nothing went well with doing migration assistant from Mojave to Monterey. I had to trash my Photo Library and recreate a new system photo library to repopulate from iCloud. I had to turn off iCloud Drive, delete the Archive versions, then turn it back on again. A bug with deleting user accounts was unrelated but took up an hour or two.

Kind of what I'm used to with Apple to be honest.

I probably would have been better off to migrate my documents folder and my mail files manually, then recreate the rest.

Unrelated but also sad: I hoped Apple's T2 to USB-C cable would let me continue to use my T2 hub and related peripherals (some Firewire 800!) but it's unstable in early testing.

Can't empty trash because VoiceTrigger is in use: It's a macOS system integrity bug

If you delete a user account in some versions of macOS (Monterey in my case) where the user account was created in certain earlier versions of macOS you will run into a System Integrity bug.

There's a folder called VoiceTrigger that in the deleted user account that is protected by System Integrity (~/Library/VoiceTrigger/SAT. ) It's located in the User's Library, so it should not be SIP protected. (In Monterey there's nothing there called SAT).

I'm guessing the bug is that it was never supposed to be SIP protected but in some version of macOS it was. Maybe Big Sur. (There's a second bug because the error message is incorrect. The problem isn't that the file is in use, the problem is it's SIP protected.)

I found the fix in in r/MacOS - disable SIP, delete, re-enable SIP:

Disable System Integrity Protection

  1. Click the  menu.

  2. Select Restart...

  3. Hold down Command-R to boot into the Recovery System.

  4. Click the Utilities menu and select Terminal.

  5. Type csrutil disable and press return.

  6. Close the Terminal app.

  7. Click the  menu and select Restart....

Login normally, then Empty the Trash Can

Re-Enable System Integrity Protection

  1. Click the  menu.

  2. Select Restart...

  3. Hold down Command-R to boot into the Recovery System.

  4. Click the Utilities menu and select Terminal.

  5. Type csrutil enable and press return.

  6. Close the Terminal app.

  7. Click the  menu and select Restart....

Things other's suggested that didn't work:

1. Terminal: sudo rm -rf ~/.Trash/*

Note you need to be admin to do this. There's a way to escalate non-admin to use sudo but I think Apple has basically given up on non-admin user accounts.

2. Turn off iCloud document sync.