Bluetooth audio problems Catalina

I've updated to Catalina and I'm not experiencing a lot of problems, but one problem in particular and it annoys me a lot.


I'm always using Bluetooth headphones or speakers on my Mac to listen to music.


The problem is that the sound to my output device randomly drops to zero. First I thought it lost connection but when I go to Bluetooth Settings it's still there and connected. When I go to Audio settings the device is still there and selected. So I push the volume-up button and the output device instantly changes to internal speakers and the sound is being played through my speakers instead of my Bluetooth connected device. When I look at the Bluetooth Settings again, the headphones are still connected. So it looks like an audio-codec-driver-software-hardware(or whatever it is)-problem instead of an Bluetooth problem. My Bluetooth apple mouse stays connected and keeps working.


The problem, as described above, appears randomly. Sometimes 3 or 4 times spread over the day, sometimes 4 or 5 times within an hour, sometimes 2 times within a minute! Very annoying.


The quickest way to solve the problem ad hoc is to disconnect and connect the Bluetooth device again through the top at Bluetooth settings.


I'm using different devices and each of them have the same problem;

- Apple AirPods 2

- Steelseries Arctis Wireless Pro

- Jbl charge 3


I've already deleted the Bluetooth folder in Library and rebooted my Mac.


I've already forgot the devices and reconnected everything.


I've already turned off and on my Bluetooth on my Mac


I've already turned off my Bluetooth on my phone (thought maybe this caused the problems but.. unfortunately no..)


Is there anyone with the same problems or does anyone has any ideas to fix this extremely annoying problem?


It looks like this problem appeared eversince I've updated my device to Catalina.

MacBook Air 13", macOS 10.15

Posted on Oct 27, 2019 11:16 PM

Reply
Question marked as Top-ranking reply

Posted on Nov 13, 2019 4:55 AM

Apple Support suggested undertaking a NVRAM reset (see link below).


I have been testing it since and I haven't experienced anymore issues after an hour (it usually disconnected in less than 5 minutes before this).


Let me know if it works for you guys.


NVRAM Reset: https://support.apple.com/en-us/HT204063

(Don't worry it doesn't erase your data)

Similar questions

380 replies

Jan 9, 2020 8:03 AM in response to jmattdb

I opened Finder, selected “Go” and the “Go to Folder...” and typed in “~/Library/Caches”. Then I deleted everything in there and watched my RAM increase substantially. I’ve been watching it carefully and clearing the RAM down periodically to see if it is a RAM issue. So far, the Bluetooth has stayed connected for over two hours (where it was doing it every minute or so when available RAM was running around 32MB on my MacBook Air with 4GB RAM).


I’m going to try this for the next couple of days to see if this works. I know that this started when I upgraded to Catalina but they may be using the RAM a different way in this version?


MacBook Air (13-inch, Mid 2013) macOS Catalina 10.15.2

Jan 16, 2020 3:27 PM in response to d_fuser

I have been having this issue, and also another one to do with Photos.


I have submitted both of them as issues through Apple support, using serial number from my 2014 macbook air.


I got quick and useful responses for both, using chat and phone response. Not all resolved, but they are definitely helpful and willing to pursue and escalate the issues. Response times are amazingly fast.


Interestingly, they always check for previous similar issues issues, and they tell me that there are very few. They don't monitor these chat groups with any regularity, so if you have a problem, its much better to go to the real deal technicians!


Go to https://support.apple.com/en-ca/contact




Jan 25, 2020 3:28 AM in response to Bunkface

Same problem. I use a Logitech bluetooth (BT) adapter to connect to external speakers. When Catalina mysteriously switches to the internal speakers, and I go to sound preferences and click on the bluetooth audio device, which is still showing as connected, nothing happens. I think at that point the bluetooth audio device may not, in fact, be connected -- not sure.


But! Here's an interesting twist. If at that point I click on "Disconnect" for the bluetooth device, the device gives a signal indicating that Catalina just reconnected to it. Then I can go to sound preferences and switch the audio back to the bluetooth audio device. (For now.)


But I shouldn't have to do any of that, of course. What a hot mess.

Jan 30, 2020 11:59 PM in response to anhans

In Mojave the same Bose phones worked without any disconnection even I had more memory consumption. Now in Catalina, when memory consumption goes up, kernel kills bluetoothaudiod because IT'S IDLE, while I'm listening music.


I updated to .3 release, will do a test next hour. Will check if it still there. And also will try to remove plist and test. And if not helped then reset NVRAM. Also I have 4 devices: 2 sony headphones, 1 bose and 1 JBL. Will do a test with all of them :)



Jan 31, 2020 6:45 AM in response to shahedshah

shahedshah you might had different issue than me. Most of us had issue with automatic killing of bluetoothaudiod by OS kernel. It's quite logic behaviour of kernel when it needs some memory. The problem was that bluetoothaudiod actually wasn't idle, but detected by kernel as idle (some wrong settings/flags or idk what in the code). And it's only software problem of kernel or of bluetooth audio daemon and not NVRAM settings or BT issue (many noticed that BT device even didn't disconnect, just audio couldn't switch there).


And now I see they finally fixed it.


But of course here some people who has more than 8Gb memory and probably didn't even had it fully filled (as I have on MacMini for example). And also there are some people with other BT issues, like firmware or bad chinese mouse clogging BT and WiFi channels (I had one in the past, when understood it became a garbage and replaced with normal one).


Anyway, tomorrow I will close my second question with technical details about it. Thank you all for pushing on Apple, but it seems they had .3 update previous year already, but not everybody got it that time.

Feb 23, 2020 9:40 AM in response to butyear

Unfortunately, CreateCheckInvalidUserName's solution is more of a walk around (no harm meant PhillB). I think that AAC codec is widely popular for obvious reasons and forcing it shut isn't a solution.

I have been having this issue for over 4 months now (and yes, before Catalina update!)

Coreaudiod is going crazy when RAM memory starts getting full. And that isn't rare with Mac since it allocates all available memory to opened apps to make use of it and improve UX.


One trick though to avoid that awkward blast of music on internal speakers at work:

  • Mute internal speakers before connecting your audio device so when the bug happens, it goes back to mute ;)




Aug 25, 2020 7:41 PM in response to Bunkface

POSSIBLE HACK FIX FOR YOU


If I connect my Alexa to my Mac through bluetooth, and then connect my bluetooth headphones (which are having similar problem to those you described), the headphones connect, disconnect, and then connect again. Sometimes I have to click its button to get this to occur, but once they are connected, they stay pretty well connected (albeit the strength of the connection seems a little weaker than it was before I upgraded to Catalina and this problem appeared). The "sound output device" still shows the Alexa (does NOT even show the headphones -- even though they DO appear in the "connected bluetooth device" list), but it plays through the headphones. Nice.


So, try keeping a stronger device connected to bluetooth as well as the headphone. It seems to find its way through its big brother.... :)



Oct 29, 2019 8:09 AM in response to Bunkface

I'm also having this issue, it's completely annoying.

I constantly use bluetooth audio devices (Airpods, Bose QC II and a bluetooth speaker).

They keep getting disconnected after a few minutes using them, and worse, I work remotely so I had a lot of issues during important work calls, while using Hangouts, if this disconnection bug happens, you don't have other option than restarting your browser to make your mic work again. I had this problem 4 times during a 30 minute work call, totally embarrassing and annoying.

I wanted to downgrade to Mojave but it takes lots of time (backup, bootable installer, uninstalling Catalina, installing Mojave).


Please, as Bunkface mentioned on his comment: if you have this same problem, click on "I have this problem too" so this issue get's Apple attention.

Nov 14, 2019 7:03 AM in response to Bunkface

I get this too with my Bose QC35ii which always worked fine before. This time I grabbed the dmesg output just after they dropped out - sugggests an issue with power saving mode:


+ IOAudioEngine[<ptr>]::stopAudioEngine()

+-IOAudioEngine[<ptr>]::setState(0x0. oldState=0x1)

+ IOAudioDevice[<ptr>]::audioEngineStopped() - numRunningAudioEngines = 1

+ IOAudioDevice[<ptr>]::scheduleIdleAudioSleep: idleSleepDelayTime = ffffffffffffffffffffffff

- IOAudioDevice[<ptr>]::scheduleIdleAudioSleep: idleSleepDelayTime = ffffffffffffffffffffffff

- IOAudioDevice[<ptr>]::audioEngineStopped() - numRunningAudioEngines = 0

- IOAudioEngine[<ptr>]::stopAudioEngine() returns 0x0

+-IOAudioEngine[<ptr>]::setState(0x0. oldState=0)

+ IOAudioEngineUserClient::externalMethod, selector=0x0, arg0 0x0, arg1 0x109f5b000, arg2 0x8010 arg3 0xe77

scalarInputCount=0x4 structureInputSize 0x0, scalarOutputCount 0x0, structureOutputSize 0x0

+ IOAudioEngineUserClient::registerBuffer64 0x0 0x109f5b000 0x8010 0xe77

+ IOAudioEngineUserClient::safeRegisterClientBuffer64 <ptr>

+ IOAudioEngineUserClient[<ptr>]::registerClientBuffer64 (<ptr>[1], 0x109f5b000, 0x8010, 0xe77)

null clientBufferSetList

did not find clientBufferSetList for ID 0xe77

PMRD: setAggressiveness(0) kPMMinutesToSleep = 0

clientBuffer->mAudioClientBuffer32.sourceBuffer before offset: <ptr>, offset size: 16

clientBuffer->mAudioClientBuffer32.sourceBuffer after offset: <ptr>

null clientBufferSetList

did not find clientBufferSetList for ID 0xe77

creating new IOAudioClientBufferSet

output

!isOnline

- IOAudioEngineUserClient::registerClientBuffer64() result 0x0

- IOAudioEngineUserClient::safeRegisterClientBuffer64 returns 0x0

- IOAudioEngineUserClient::registerBuffer64 0x0 0x109f5b000 0x8010 0xe77 returns 0x0

- IOAudioEngineUserClient::externalMethod returns 0x0

+ IOAudioEngineUserClient::externalMethod, selector=0x3, arg0 0x0, arg1 0x0, arg2 0x0 arg3 0x0

scalarInputCount=0x0 structureInputSize 0x0, scalarOutputCount 0x0, structureOutputSize 0x0

+ IOAudioEngineUserClient[<ptr>]::startClient() - 0

audioEngine && !isInactive(). State = 0

audioEngine->getState() != kIOAudioEnginePaused

+- IOAudioEngineUserClient[<ptr>]::setOnline(1)

!isOnline() setting online

+ IOAudioEngine[<ptr>]::startClient(<ptr>)

+ IOAudioEngine[<ptr>]::incrementActiveUserClients() - 0

+ IOAudioEngine[<ptr>]::startAudioEngine(state = 0)

+ IOAudioDevice[<ptr>]::protectedCompletePowerStateChange() - current = 2 - pending = 2

- IOAudioDevice[<ptr>]::protectedCompletePowerStateChange() - current = 2 - pending = 2 returns 0x0

+ IOAudioDevice[<ptr>]::protectedCompletePowerStateChange() - current = 2 - pending = 2

- IOAudioDevice[<ptr>]::protectedCompletePowerStateChange() - current = 2 - pending = 2 returns 0x0

+ IOAudioDevice[<ptr>]::audioEngineStarting() - numRunningAudioEngines = 0

- IOAudioDevice[<ptr>]::audioEngineStarting() - numRunningAudioEngines = 1

+- IOAudioEngine[<ptr>]::resetStatusBuffer()

+-IOAudioEngine[<ptr>]::setState(0x1. oldState=0)

- IOAudioEngine[<ptr>]::getTimerInterval()

- IOAudioEngine[<ptr>]::startAudioEngine() returns 0x0

- IOAudioEngine[<ptr>]::incrementActiveUserClients() - 1 returns 0

- IOAudioEngine[<ptr>]::startClient(<ptr>) returns 0x0

engine started

bufferSet <ptr>

output clientBuffer <ptr>

+ IOAudioStream[<ptr>]::addClient(<ptr>)

- IOAudioStream[<ptr>]::addClient(<ptr>) returns 0x0

- IOAudioEngineUserClient[<ptr>]::startClient() - 1 returns 0x0

- IOAudioEngineUserClient::externalMethod returns 0x0




This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Bluetooth audio problems Catalina

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.