Skip to content

AirPods like Normal - Access AirPods' Apple-exclusive features on linux and android!

License

Notifications You must be signed in to change notification settings

kavishdevar/aln

Repository files navigation

ALN - AirPods like Normal

Access AirPods' Apple-exclusive features on linux and android!

Check out the packet definitions at AAP Definitions

Tested device(s)

  • AirPods Pro 2

Other devices might work too! Features like ear detection and battery should be available for any AirPods! Although the app will show unsupported features/settings! I will not be able test any other devices than the ones I already have (i.e. the AirPods Pro 2).

Implemented Features

Feature Linux Android
Ear Detection
Conversational Awareness
Setting Noise Control
Battery Level
Rename AirPods
Adjust Adaptive Audio
Loud Sound Reduction

Linux

Check out the README file in linux folder for more info.

This tray app communicates with a daemon with the help of a UNIX socket. The daemon is responsible for the actual communication with the AirPods. The tray app is just a frontend for the daemon, that does ear-detection, conversational awareness, setting the noise-cancellation mode, and more.

Tray Battery App Tray Noise Control Mode Menu

Android

Currently, there's a bug on android that prevents this from working (psst, go upvote!)

Workaround

Download the required files from Releases. Donload the required based on your Android’s version. Currently, I have only built patched libraries for Android 14, and 15, and have tested on stock android. I am not sure if the same libraries would work for other android skins. Try at your own risk!!

  • Create a folder structure like this:
/data/local/tmp/overlay:
upper  work
/data/local/tmp/overlay/upper:
libbluetooth_jni.so
  • Copy the overlay and name it overlay2.
  • Place bt.sh in /data/adb/post-fs-data.d/
  • create a folder in /data/adb/modules/
/data/adb/modules/btl2capfix:
module.prop
/data/adb/modules/btl2capfix/system/lib64:
libbluetooth_jni.so
  • Now, you have the bug in android's bluetooth stack fixed!

But once that's fixed hy Google devs, or you have fixed the issue using root, download the APK, and you're off!

I don't know how to write READMEs for android apps, because they're just that, apps. So, here are two screenshots of the app:

AirPods Settings Debugging View

Quick Tile to toggle Conversational Awareness and to switch Noise Control modes, and Battery Widget (App and AndroidSystemIntelligence)/Notification coming soon!!

License

AirPods like Normal (ALN) - Bringing Apple-only features to Linux and Android for seamless AirPods functionality! Copyright (C) 2024 Kavish Devar

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program over here. If not, see https://www.gnu.org/licenses/.