Fixing Dropped Bluetooth Audio on Mac OS Catalina

Update:

So it turns out, the actual problem was that my headset was paired to both my iPhone and my computer. After doing all of the below and having it working perfectly, to troubleshoot further I reconnected the headset to my phone and the computer audio started skipping again.

I disconnected the headset from the phone (but didn’t Forget it) and it kept skipping. So then I turned of Bluetooth on the phone and the skipping stopped.

So the moral of the story? On the phone under Bluetooth, Forget the headset from the phone and only have it connect to the computer alone… no more skipping.


At some point after upgrading to Catalina I noticed my bluetooth headset kept dropping audio, several times a minute. I haven’t narrowed down the exact cause of the issue, but I was able to resolve it, so that is good enough for me!

Here are some steps that I took, and some potential causes, let me know if any of it works for you:

Reset the Bluetooth Module

There is a Bluetooth icon typically located near the clock at the upper right of the Mac desktop. Users typically use this to view their connected devices, check battery levels on them, and connect/disconnect devices. Nothing new there.

And a bit more advanced users know that if you hold down option and then click on the Bluetooth icon, you’ll see some additional details and options up there: The Bluetooth version, address, and if you click on the individual connected devices you can see their signal strength and more details about them. Nice, but nothing helpful for this issue.

Here is a trick I don’t think I was aware of, if you hold Shift-Option and then click on the Bluetooth icon, you get even more options, including a Debug menu item.

What you’ll want to do is click on the Debug option then choose Reset the Bluetooth module. After that you’ll want to restart.

That alone didn’t fix it for me, so I went on to…

Delete the com.apple.Bluetooth.plist File

This article gave me the basic instructions for doing this, here are my shorter version of those instructions:

  • From Finder click Shift-Command G which is the same as going to the Go menu and selecting Go to Folder
  • In that box enter /Library/Preferences (note that is different than the individual Users’s preferences which are located at ~/Library/Preferences)
  • Look through that list of files and find com.apple.Bluetooth.plist. You can delete the file, or just because I’m a cautious one, I dragged it to my desktop.

After doing that you’ll want to reboot again. On that reboot, I took the opportunity to do one additional step…

Reset the PRAM

PRAM or Parameter Random Accessory Memory stores some of the settings for your computer, so you’ll lose a few preferences such as if changing volume should play a sound, etc. Typically it is nothing major and I have rarely, if ever, had problems with a PRAM reset.

Go ahead and click to restart your computer, but before the grey screen appears press and hold the CommandOptionP, and R keys all at the same time.

Keep holding them down until you hear the startup chime at least 2-3 times. Then release them and let the computer start normally.

Re-connect your Bluetooth device and see if the problem is resolved!

One other option…

I’ll confess I did one other thing while the computer was restarting that may have had an impact on things, so I’ll mention it here. My headset was also paired to my phone, so I went ahead and had my phone forget the headset and turned off Bluetooth completely on it temporarily.

But either way, my audio hasn’t dropped out even once during the entire time it took me to write this post, so I’m going to consider the problem solved!

Let me know if it works for you, or try just unpairing your headset from your phone if yours was paired to both devices… or just try a PRAM reset without any of the other steps.

KI6ESH/AG … finally.

Upgrade to General ClassI tested for my original Technician class exam on July 15, 2006, and always expected I would upgrade to General or Extra at some point. I used my Technician quite a bit in the Santa Cruz area, checking in to weekly nets, playing around with APRS and some digital modes on 2-meters, doing some emergency communications when needs arose for Santa Cruz County, etc.

Over the years, I have spent less time on the radio, especially since moving to Bend, Oregon, which just seems a lot quieter and slower pace on the radio. But over the past couple of months, I decided it was time to upgrade to General so I could access additional frequencies and began the studying process.

I scheduled my exam to give me a target to aim for, and today I headed down to the library and met up with a group of people all taking their exams, many Technicians, two General upgrades, and one person testing for the Extra as a “practice test.”

Well, the studying paid off and I am finally a General. My goal was to finally be able to start doing some more learning and using of HF bands, allowing longer distance communications without the need for local infrastructure such as repeaters.

The thought is always that when “the big one” comes, be it the Cascadia Subduction Zone earthquake here in the Pacific Northwest, or the San Andreas or Hayward fault down in California, that amateur radio will always be there for communications. One of the topics that comes up is, “Who’s engineering do you trust more? AT&T, Verizon and T-Mobile, or a ham radio repeater on a mountain top held together with duct tape and baling wire?”

Either way, now I have the option of a third communications mode: If cell phones AND local repeaters go down, I will have the option of jumping over to HF!

I look forward to working with the various digital modes and especially in testing Near Vertical Incidence Skywave propagation which gives a communications range of 0–400 miles. So we’ll see what I do next!

I wanted to thank Joe Barry, K7SQ, Barbara Pace, K7RVW, and Loren Rasmussen, K7CWQ for taking the time out of their day regularly to be Volunteer Examiners (VE) and offer these exams for those seeking initial licenses or upgrades…thank you!

I also wanted to thank Dan Romanchik, KB6NU, for his excellent No-Nonsense Study Guides which were a huge help to me in my studying, along with the practice tests I took from a variety of sources.

And most of all I want to thank the two people who first really introduced me to amateur radio. Both of them are now silent keys, but their legacy lives on. Dan White, KB6TDW (SK) and Dick Mack, W6PGL (SK) both did a great job of showing me what could be accomplished with amateur radio and made me want to pursue it.

Is Extra in my future? Potentially… I’ll take a few practice exams, likely buy Dan’s Extra Class book, and see what happens :-) The jump to General opens up many frequencies and bands for me, I probably won’t feel too left out if I can’t access the additional Extra class frequencies.

Migrating Apple iBooks Library and Collections to a new computer

If you want to move all of your book as well as the Collections data you had for them from one computer to another you’ll want to copy all of these files from the old computer to the new one:

  • ~/Library/Containers/com.apple.BKAgentService
  • ~/Library/Containers/com.apple.iBooksX

It’s possible you only need to move the specific Books folder here:

Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks/Books

But it seemed to work okay to move the entire contents of the BKAgentService folder, but there are definitely non-iBooks related content in there.

Web Hosting and Server Management Tools

I was asked recently about what some of the tools and services I use for managing web hosting. It’s a great question and things are changing all the time, but I thought I’d pass along a few tools that are currently in my toolbox.

When I first started offering web hosting services for clients I was buying individual web hosting accounts from companies like Cruzio or Hurricane Electric (I’m takling about way back in the 90’s here). Once my number of clients started rising I became a reseller for HostGator and that worked pretty well for me for a number of years. HostGator uses the ubiquitous cPanel server management tools which I and my clients were very familiar with.

Following some problems with HostGator, such as sites running extremely slow, having a few server outages, etc, I decided it was time to start migrating my sites off of HostGator (at least the larger or higher priority clients) to have more control over their management. My initial migration was to Rackspace which is a great company and offered really good virtual servers, load balancing and content delivery networks. I still have some sites hosted with them and use their CDN for storing files especially larger audio and video files.

But with Rackspace, I felt it put maybe just a bit too much responsibility on me as a server administrator. I’ve gotten pretty good at managing Ubuntu servers, securing them, keeping them up-to-date, but I’m not an absolute linux guru, and it does take some work to set up new accounts, configure the sites and domains, and continue monitoring security and whatnot.

While looking for an alternative management tool to cPanel, I did a lot of research and ended up settling on ServerPilot. Basically you set up your hosting server (they support a wide variety such as Amazon Web Services, Rackspace, DigitalOcean, Linode, etc.) and then connect ServerPilot to the new server.

Why I love ServerPilot

What ServerPilot does for me is manages some of the low level system and package updates, it makes it simple to deploy new “apps” or web sites, makes it extremely simple to deploy LetsEncrypt SSL certificates, manage the domain names and databases for those client sites. One of the things it makes SUPER easy is deploying a new WordPress site… check the box saying you want WordPress set up, fill in a few fields (site name, admin user account, etc.) and it’s done, you’re ready to start developing.

ServerPilot also offers the choice of multiple PHP versions (5.4, 5.5, 5.6, 7.0 and 7.1) so I can manage legacy [ancient] sites as well as the needs of the most up-to-date clients. They offer server monitoring and statistics, and one of the things I think ServerPIlot has done amazingly well is their customer support! I love that I can submit a support request and even if it’s not exactly related to their exact platform they’ll usually get me the answer. I mean like, if I’m asking a linux question about how to do something on a ServerPilot managed server, they have still been extremely helpful for me.

My primary choice for servers at this point is DigitalOcean, they have been doing an excellent job for me and at a fair price as well. With Rackspace I was typically choosing servers in Chicago or Texas, not ideal for my West Coast clients. So with DigitalOcean I’ve been able to choose servers in their SFO datacenter and that makes site load times even faster.

One problem I’d experienced before was where my servers were needing to be upgraded in order to get more disk storage space. But maybe I didn’t really need more processor or RAM at that time. In the past I would push large files to the CDN on Rackspace or elsewhere, but with DigitalOcean, at their SFO2 datacenter, I’m able to attach additional Volumes to my server and pay separately for that storage space, without the need of upgrading the entire server and paying those higher monthly fees, very nice!

Let me know if you have any questions about ServerPilot or DigitalOcean, or about other tools I use for web hosting, I’d be glad to point you in the right direction (or at least, point you in a direction even if it’s wrong hehe!)

Corrupt Apple Keychain in OSX 10.11.6 after Security Update 2016-003

Not sure if it was directly related to the installation of Security Update 2016-003, but very soon after that installation I started having trouble with accounts on Apple Mail. All of my email accounts are Google Apps or Google Suite accounts, or just plain Gmail accounts. All of them went offline and entering their passwords would not restore access to them.

When I went to System Preferences –> Internet Accounts and entered a new password, it accepted the password but on the screen where you select which parts of the Google account you want to sync the Done button was greyed out and there was no way to get past this screen:

I went to Keychain Access and tried deleting everything related to Google, then tried deleting all of the keys and continued having trouble. Some online guides were recommending resetting the password for the Login keychain:

That didn’t appear to do the trick for me either. The only thing that would finally work is if I went to Keychain Access –> Preferences –> Reset My Default Keychain:

Then I went to System Preferences –> Internet Accounts and re-entered the passwords for all of my accounts, this time when I got to the Google window where I was stuck before I could select the items I wanted (Mail, Calendars, etc.) and the Done button wasn’t greyed out and I could proceed normally.

I’m guessing the keychain got corrupted in some way, possibly when the security update was applied. I did attempt just restoring the Keychains folder from Time Machine and that did work (I still had to re-enter some passwords) but I didn’t really want to revert to and older backup and kept working on various solution attempts.

My other thoughts for the possible cause were incompatibilities with GPG Mail with this version of mail after the security update, but I was able to re-activate that mailbundle and it has no problems running.

I had also attempted the solutions from this thread: Can’t login with Google using Internet Accounts

But I needed to do a larger reset than just deleting the Google keychain items.

Many of the threads I was reading kept referring to Apple’s Keychain First Aid but that functionality was removed with the 10.11.2 update and it appears there is no current alternate tool for it. Some mentioned that running Disk Utility would fix keychain problems and I tried it but had no luck getting it to update anything. I don’t think Disk Utility really verifies or repairs broken keychains.

More information on that topic can be found here:

Were you having the same problem with your Google accounts in Apple Mail? Did any of these solutions help you or did you find other solutions that worked for you? Please let me know and share the info with anyone else who stumbles across this issue.

Configuring Soundflower for use with El Capitan for Multiple Output Devices

Prior to upgrading to El Capitan I had my iMac set up so that I could send audio to the built in speakers at the same time as sending audio through a USB sound card dongle to my sub-woofer.

After upgrading it still had some of the SoundFlower application installed, but my multi-speaker configuration was no longer working. With some searching I found that Rogue Amoeba has given up development of Soundflower and is now directing users to this GitHub project as maintained by Matt Ingalls (thanks Matt!)

So the key to this is, you must uninstall the old (unsigned) version prior to installing the new one. And you must reboot after running the uninstaller or else it won’t work. Yeah, we’re always told we should reboot, and we never do, and things usually work fine. Well, not in this case. REBOOT! :-)

So I installed the most recent version of Soundflower from the Releases page. In my case it was Soundflower-2.0b2.dmg but you should see if there are any updates:

https://github.com/mattingalls/Soundflower/releases

Here is the quick version of getting the multi-device output to work, or at least how mine is set up:

  • Download the new version of Soundflower
  • Run the uninstaller that was in the package
  • Reboot the computer (really)
  • Run the installer on the newest version available (2.0b2 or above?)
  • Go to System Preferences –> Sound –> Output and select Soundflower (2ch) as the output device.
  • Launch /Applications/Utilities/Audio Midi Setup
  • Select Soundflower (2ch) in the left column and right click, then enable it to Use this device for sound output and Play alerts and sound effects through this device
  • Click the + in the lower left corner and create a new Multi-Output Device
  • Enable Built-in Output and your second audio device, in my case USB PnP Sound Device. Here is a screenshot:

Audio MIDI Setup - Multi-Output DeviceBut this was the point I realized I could not adjust the volume with my keyboards volume keys and if I remember right, I wasn’t even hearing anything. Of course from my old experiences this is where I would jump to Soundflowerbed and check my settings, verify my inputs and outputs, etc.  But where is Soundflowerbed?!  It’s gone! Usually it was in /Applications/Soundflower/Soundflowerbed but it was nowhere to  be found.

It turns out you can run the old copy of Soundflowerbed from the old installer! Just be careful to only install Soundflowerbed and NOT the old copy of Soundflower which we know won’t work.  Here were my steps:

  • Download a copy of an old version of Soundflower, the most recent binary I could easily find was Soundflower-1.6.6b.dmg from this Soundflower Google Projects Hosting site.
  • Open the Disk Image you downloaded
  • Run the installer labelled Soundflower.pkg
  • Accept the various pop-ups about unsigned apps, Readme’s, License, etc. But stop and look at Installation type!
  • Once you get to Installation Type instead of pushing Install push Customize
  • In the Customize section uncheck Soundflower leaving only Soundflowerbed checked. Complete the installation.
  • Now you have Soundflowerbed installed just like old times!

Soundflower-1.6.6-install-soundflowerbed-window

My final setup summary:

  • System Preferences –> Sound –> Output: Select Soundflower (2ch) as the output device.
  • In Audio Midi Setup: Select Soundflower (2ch) and enable it to Use this device for sound output and Play alerts and sound effects through this device
  • In Audio Midi Setup: Select Multi-Output Device and select the check boxes next to Built-In Output and USB PnP Sound Device
  • In Audio Midi Setup: Under Built-in Output in the Output tab, raise the volumes to Maximum values. Under the USB PnP Sound Device in the Output tab, adjust the subwoofer volume level to your desired level.
  • In Soundflowerbed under Soundflower (2ch) select Multi-Output Device
  • With that setup I can control the audio via my keyboard volume controls, and I can fine tune balance between my two output devices via the Audio Midi Setup Multi-Output Device panel.

 

Connecting the Kenwood TH-D7 to MacMemories Manager in Yosemite

It had been enough years since I’d used my Kenwood TH-D7 that I couldn’t remember how to get it to connect to my MacBookPro.  Mostly for my own reference, and possibly to assist others, I’ll post my quick notes here.

  • I used my Keyspan USA-19HS USB to Serial Adapter along with a Kenwood PG-4W programming cable.
  • Of course I needed to install some drivers to get the PL2303 Serial Driver to work in Mac OS X Yosemite, and the original project I used to use is still there and had the source for free, but you had to pay for the download. I did eventually find a download link to the Keyspan USA-19HS driver (here is the direct file link)
    2023 Note: For newer M1 MacBook Pros running Sonoma and needing a Prolific PL2303 Serial Driver, it looks like this works: Prolific V.2.2.2 
  • Next I just plugged in the Keyspan device, plug the radio in to it, and turn the radio on.
  • Launch MacMemoriesManager and selected the Radio Kenwood TH-D7 and for Port selected USA19H143P1.1. It immediately connected and I could download all of the frequencies from the radio.

Awesome :-)

Arduino and Accelerometer: Testing Resumes

Sure, it’s been like two years since I posted anything, but I did actually pull out my Arduino and started refreshing myself on how everything worked. It had been so long I had to reinstall the Arduino software and the serial driver for the old Arduino Diecimila.

arduino_accel_05I started back up on one of the last projects I had worked on. Having lived in California most of my life, earthquakes were always on my mind, so the idea of having an early warning network in the state was always something of interested to me.  Similar to the promises of an inexpensive flying car, public space travel and hoverboards, it seems like one of those things that will not happen in the near term.

Funny thing is, people manually typing “Earthquake, OMG!” in to Twitter can actually travel fast enough to give others warning, so why not build something automatic?  Back in 1989 after the Loma Prieta earthquake when I was still regularly using Bulletin Board Systems (BBS’s, like Deeptht, Gorn and The Omni) I had the F12 function key on my computer programmed with “Earthquake!” to notify those I was chatting with that another aftershock was on it’s way to them. I believe it was 20-30 seconds between Santa Cruz and San Francisco.

All that to say, now that I have moved to Oregon at first glance I was relieved… no more worries about earthquakes, only these volcanoes that surround me and they don’t move all that often.  Then I learned about the Cascadia subduction zone and it’s very real potential of magnitude 9+ Megathrust earthquakes. Now I’m reading a great book on the topic, Cascadia’s Fault, and learning more about it.

And that of course has all brought back my interest of receiving an early warning when that fault actually lets loose. Not counting capture/sensor and transmitting/receiving delays, there should be somewhere between 30-40 seconds warning before the shaking actually arrives here.

I had already started working with an Arduino with a dual-axis accelerometer so today I started working on it again.  I had seen a GitHub project from someone in Seattle, the P-Wave Detector that uses the Quake Alarm detector tied with an Arduino to send out text messages to anyone who subscribed.  Even with one detector in Seattle (if it’s even still online in the three years since he posted it) it would give me approximately 155 seconds of warning, and of course the shaking would be greatly reduced due to the distance traveled.

So, I’ll keep working on this little project, and if I build something that I think would actually work well enough to deploy I’ll contact my friends along the Oregon/Washington coast (Brookings, Coos Bay, Eugene, Portland, Vancouver and Seattle) and place sensors there for testing.

Maybe in a few years I’ll step off of my Hoverboard and write another post on how the project is coming along ;-)