4

My 2009 MacBook’s speaker doesn't work (most times). The digital audio out port gets stuck (a red glow appears from within the socket). It is an old MacBook with separate headset & mic ports.

I have discounted problems with the speaker as the startup sound goes directly to the built-in speakers.

I think the OS controls which functionality the computer decides to use, but consults some hidden hardware in the socket. The System Preferences can sense but not control the state of the digital audio. As far as the computer is concerned, it is outputting digital audio and the speaker is disabled.

I did try to fix the problem by putting in a digital audio connector, but that didn’t help. I did find suggestions recommending things like poking a toothpick in the hole and trying to ‘unlatch’ some mechanism which (I assume) senses the presence of the plug.

My next step, unless I get a better idea, is to open the computer case in the hope that I can inspect the port from the inside. Alternatively, I might try to:

  • look further for software solutions, somehow overriding the computer's belief that something is plugged in; OS X doesn't seem to support this

  • mechanically probe from the outside (again)

  • get wireless speakers or headset

  • get some kind of optical portable or device

  • re-organise places I go (I carry a phone headset about, and in one office I keep a cheap pair of Logitech wired speakers. Some places have Apple TVs.)

  • something else I haven't seen yet

Any ideas about pros and cons? (I don't have much money to spend and hope to avoid the expensive options above. I have time, but want to explore more options before opening the case.)

2
  • I've often used software to work around hardware issues, and in this case I can almost do it - when nobody's using it, I can in software direct this computer's output to a nearby Apple TV. Apr 22, 2017 at 6:22
  • For someone with a similar problem to mine, but different hardware, see discussions.apple.com/message/26266848#message26266848. Apr 22, 2017 at 6:22

5 Answers 5

2

I just used a toothpick, flat headed, did a few swirls around inside the port with very light pressure & it just works, now Internal Speakers is available & the default choice in Sound prefs, volume icon is no longer grayed out in menu bar.

1
  • What model of Mac did you have? Feb 20, 2017 at 2:50
1

If you look down the socket while the computer is on, and the back of the socket lit red, then I would try putting a vacuum nozzle to the socket in an attempt to pull out whatever might be stuck back there.

You are correct; the operating system normally decides what output to go with. But in this case, the chip that converts digital to analog audio on your logic board will tell OS X when it thinks a mini toslink cable has been inserted, and you will lose the option for 'Internal Speaker' in System Preferences.

If the back of the socket is not lit red, then it may in fact be software issue. Perhaps try a PRAM reset?

1
  • Sorry! I forgot to mention that I see the red glow. Feb 20, 2016 at 11:42
1

There is no software that is going to fix a physical issue.

Now, I have never disassembled the audio port on a MBP logic board, but it is safe to say there is a physical connection being made within the jack to tell it either an analog or an optical jack has been inserted. It may be some as simple as a mechanical contact (something like a switch) or a photo sensor. Either way, there is no logic in your headphone jack to tell your MBP "I'm optical, turn on your red light!" It only does so, because a connection was made.

Because that connection is made, your audio subsystem is telling OS X that a headset is connected and to reroute all your audio through that device. There is no software or setting that is going to trick that audio subsystem into not "believing" what it is "seeing." In this case, that connection being made. Whether what is making that connection is an actual audio device or some gunk jammed in there is another story altogether.

Attempt to clean out your port

I wouldn't use a toothpick.
Try using compressed air to clean out the port. If that doesn't work, you can a small spritz of electronic component cleaner (I have used CRC Quick Dry Cleaner myself) Make sure you do this while the computer is off and unplugged, of course. Don't apply power until you are sure it's dry. Wait 1 hour to be sure!!! Oh...and make sure you read the directions and warnings on the label!

If that fails, have a logic board repair specialist look at it. They can probably replace the component pretty quickly and cheaply.

2
  • 1
    That makes no sense. Any decent maker would allow you to simply disable the digital out route and send sound to internal speakers. It is really stupid you need to fix something that won't ever be used. My headphones do work but internal speakers are not visible because of this
    – JBernardo
    May 3, 2020 at 20:59
  • It's not a physical issue. The computer Chimes when booting, and Ubuntu liveCD play through the speakers even when headphones are plugged in.
    – mankoff
    Jun 19, 2023 at 5:01
1

The steps below rely on the following diagnostics being met:

  1. The powerchime on startup works as expected.
  2. The headphone jack gives out sound when connected to external speakers.
  3. The internal speakers are silent, in normal operation, when no plug is inserted.
  4. Without a plug, menu-bar speaker symbol is greyed out and pressing the volume keys produces merely a grey no-parking sign in the speaker HUD
  5. There is a red light coming from within the plug itself, without a plug inserted
  6. In 'Audio MIDI Setup.app' as well as in the 'Sound' Preference pane, the status is listed as 'optical digital out'

If the above conditions are all met

There are numerous ways to fix the issue:

Most of the time the issue is from foreign objects/debris/dust/dirt.

The circuits involved giving the system the 'wrong info' about 'what's going on in the port' look somewhat like this: enter image description here

Meaning: with a regular jack inserted, internal speakers are muted, but sound signals are going out via line. But without a jack inserted, the system lacks the electric contact, the switch is stuck, and the system therefore assumes 'optical-out present', mutes the internal speakers, and sends out the light into the room.

There are in principle three ways to tackle this problem, two rather physical and one angle of attack that relies purely on software and its configurations

1. Clean out the headphone jack

The easiest and sometimes sufficient method is to replug a headphone jack repeatedly out and in again. This fucking works surprisingly often.

This may be done with a toothpick, the back of an ink reservoir from a ball pen, tightly wrapped paper towel, a Q-tip— with the latter two preferably dipped in some alcohol (not too much!), some report success with using a small screwdriver.

Alternatively, some say using compressed air or even blowing with their own lungs into the port. This may depend on the dryness or 'lack of grease' lack of adhesive power of the dirt. Compressed air sometimes did the trick, with 'blowing' I never achieved anything.

This all is a bit hit&miss, since I for example do not know the exact orientation of the switch (some say 3 o'clock, no proof, but see below), and most often I cannot see inside what's the problem.

One problem may be debris that might be all over the place. But the essential switch seems to be in the horizontal plane towards the lid/display — i.e.: at the 9 o'clock position. So engaging this switch with a match stick or similar should be concentrated on that location.

2. Physical alterations

The alternatives available in order of escalating invasiveness

  1. Replace just the headphone jack (very advanced tinkering, clean & relatively cheap, fixes the exact problem and nothing more, optical is available again as are all options associated with that port, if need be)

  2. Physically disable the SPDIF (even cheaper, but optical will be gone for good in most cases)

  3. Replace the entire logic board (the lazy, wasteful Apple-way. Will fix a tiny problem by shooting sparrows with cannons, often not available, certainly not from Apple if the machine is too old. In short: will work, with overkill)

None of these are advisable to for someone inexperienced with soldering trying to fix this at home. The 'entire logicboard' road is extremely wasteful and only an option if the problem would fall into the time window of warranty or AppleCare. (Even then such a simple replacement part…)

But: if 'cleaning doesn't work' (if cleaned too often, my impression is that the port tends to fail from stress permanently, ie: even if clean) and if you know someone, or someplace willing to go for 'option 1, just the port please', then that should be a very attractive alternative.

3. Software based solutions

The fact that a Mac stuck in optical can be heard using its internal speakers just fine (with easy configuration steps) in Linux proves that software can be used.

There may be a way disable SPDIF via NVRAM commands, but that's still to be found.

Some solutions that floated around the net involved launching either Sound-PrefPane or Garageband in specific orders turned out to be unsuccessful.

Working software solution

A software-only way entirely in MacOS that does work, although it relies on non-Apple system-level software:

Supersede AppleHDA.kext with loading VoodooHDA.kext!

On a Mojave 10.14 system I used Kext Utility (many shady looking sources on the net, but also available in more trusted Homebrew formula).

  1. Close all other programs
  2. Open Kext Utility
  3. Drop the VoodooHDA.kext on its window
  4. Wait until it says it finished
  5. Reboot

You should now have VoodooHDA active and should notice that you now have the option to switch the output in for example the menubar entirely at your will:

enter image description here

This image shows the state of the menubar selector, with a glitchy headphone port, under pure-Apple stuck in optical without internal speakers, now using the internal speakers again

This was done on an older system with SIP disabled. Whether this works as described, with additional hoops to jump through, or not at all in newer systems like Monterey or Ventura: I cannot test that now on this machine. Using such hackerish kexts and tools is altering the security profile of your software.

Feedback welcome, especially for which systems (still) allow this route, or what alternatives there are to force-bypass SPDIF in software.

6
  • I've been living with this issue for 2 years and from time to time I search for new options. Unfortunately I was forced to update from Mojave to Monterey recently on a 2015 15in MBP (built in 2018 -- the last ones they sold). I accepted there is no hardware fix for me that doesn't involve removing an inductor/resistor depending on the motherboard version. Because the contact isn't stuck but some other component thinks it is stuck as I've seen in several forums. This is very risky and only seem one person saying it worked.
    – JBernardo
    Sep 20, 2022 at 19:17
  • If someday you update your Mac, please let us know if there is a fix!! I wish I never updated from Mojave, the best mac os version, but some things from my work required newer versions :( :( :(
    – JBernardo
    Sep 20, 2022 at 19:19
  • @JBernardo Similar opinion about HW/sw here. The affected machine is a 2011 MBP, which I did upgrade from 10.14 (situation above) to Monterey, thrice, but the hack was so unreliable that I gave up on that for the time being… The few hours I was on 12, I hadn't bothered with any 'sound. But do you mean the latest Voodoo kext doesn't work for you? Sep 20, 2022 at 19:47
  • Just trying to run the kext Utility is giving me kernel panics. It asks for my password and 2 seconds later a kernel panic. It shows some messages, but I couldn't screenshot.... Then I tried to not give kext utility my password so I was able to drag the VodooHDA file one it. Then it asked password again and another kernel panic. I tried several times and closed everything but google chrome.
    – JBernardo
    Sep 20, 2022 at 19:53
  • @JBernardo I see. Forgot it says in app window for KU 2.6.6. 'up2 Sierra'… (but seems to work at least up to Catalina?) Some say to try github.com/acidanthera/AppleALC (for different issues, but again sourced from Hackintosh developments). Seems way more complicated though. But can you try that out? (Most general solutions go a hackin-route with bootloaders, like github.com/chris1111/VoodooHDA-2.9.6-Clover-Big-Sur) Sep 20, 2022 at 20:06
0

I scratched around the back of the port (right at the end where the red light source is) with a small screw driver and it reset back to internal speakers.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .