Liberating AirPods With Bluetooth Spoofing

Apple’s AirPods can pair with their competitors’ devices and work as basic Bluetooth earbuds, but to no one’s surprise most of their really interesting features are reserved for Apple devices. What is surprising, though, is that simple Bluetooth device ID spoofing unlocks these features, a fact which [Kavish Devar] took advantage of to write LibrePods, an AirPods controller app for Android and Linux.

In particular, LibrePods lets you control noise reduction modes, use ear detection to pause and unpause audio, detect head gestures, reduce volume when the AirPods detect you’re speaking, work as configurable hearing aids, connect to two devices simultaneously, and configure a few other settings. The app needs an audiogram to let them work as hearing aids, and you’ll need an existing audiogram – creating an audiogram requires too much precision. Of particular interest to hackers, the app has a debug mode to send raw Bluetooth packets to the AirPods. Unfortunately, a bug in the Android Bluetooth stack means that LibrePods requires root on most devices.

This isn’t the first time we’ve seen a hack enable hearing aid functionality without official Apple approval. However, while we have some people alter the hardware, AirPorts can’t really be called hacker- or repair-friendly.

Thanks to [spiralbrain] for the tip!

18 thoughts on “Liberating AirPods With Bluetooth Spoofing

      1. It’s not an Android bug. It’s Android’s bluetooth stack not handling a device behaving in a noncompliant matter. That’s not a bug – it’s fundamentally Apple’s fault that a compliant-with-spec stack breaks when talking to their hardware.

    1. Are they really gatekeeping in this case? Or are they just not making an app to support this and other operating systems? If they really wanted to keep people out, they have the capability to do so.

    1. I’ve been using LibrePods new Linux software for connecting AiPods 4 to my desktop and it has all the functionality listed, pretty great stuff. Still needs a little cleanup work it seems but definitely usable. Wish Android didn’t need root because I’d love to make them my main earbuds.

    2. This isn’t breaking any DRM. I doubt Apple will care unless this news somehow ends up painting Apple in a bad light. They don’t stand to gain anything by preventing this. No one switches to an iPhone just for better Airpod support, and selling more Airpods makes them money.

      Just because something is undocumented or unsupported doesn’t make it protected by DRM.

  1. Made me think:
    If capitalism worked as they claim you would be able to purchase rooted devices.
    But AFAIK you cannot.
    (Apart from second hand device, but that does not count since it’s not a sale-feature)

    Now I wonder though, can you buy pre-rooted devices in India or China or some such?

    1. That’s a horrible idea. Root is powerful enough for you to destroy your phone so it should be your responsibility that it gets installed. It’s not that hard to install it and if you can’t, that’s probably a sign you shouldn’t since you don’t know what you’re doing.

    2. Like… Rooted android phones? Why would you want that? Just buy a phone that you can root and root it yourself. That’s the only way to know that what you are getting isn’t loaded with spyware or other naughty stuff.

      1. “why would you want that” – because rooting androids is a load of delicate work laden with risks and emphatically out of reach for both non-nerds and nerds specialising in other fields.

        Source: I root them and there isn’t a single time I don’t find myself scratching my head and/or cursing at least a few times, as I try to make sense of arcane bootloader unlocks and xda files made available through dodgy filesharing services.

  2. Just a comment: Please properly follow the instructions provided by the developer regarding the Google issue:
    The issue tracker has a +1 button you can click. This is NOT the same as spamming “+1” comments. PLEASE don’t leave +1 or “fix your s***” comments as those will cause Google developers to just flag anything originating from the issue as spam and/or unsubscribing from issue notifications.

    It’s probably too late unfortunately. :(

    I’ve submitted a PR to try and clarify the language and reduce the spam. https://github.com/kavishdevar/librepods/pull/391

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.