Added ASHA (Audio Streaming for Hearing Aids) mode functionality to Asahi Linux

Hello :blush:

I’m using Google Translate because I don’t speak English, so I apologize for any mistakes. I’ll keep it short.

I have Macbook Pro M1 (16GB RAM).

Problem: It is not possible to connect a Med-el Sonnet 2 speech processor that has an Audiostream module and a Bernafon LX7 BTE UP hearing aid.

How does this communication work?

Devices such as hearing aids or speech processors overwhelmingly connect via Bluetooth Low Energy. There is no standard audio codec like A2DP or others. According to chatGTP, ADPCM or LC3 are used. This works on all iPhones and some Android smartphones that have implemented this feature.Does not work on Windows or Macbooks with an M1 processor. Only Macbooks with an M1 Pro processor or newer/more powerful will work.

In my opinion, Apple deliberately did not implement this feature even though it could be done without any problems in terms of hardware.

I’ve been looking for various methods for Linux, but I’m still encountering difficulties. I’ve read somewhere that the Intel AX200 Wi-Fi card allows for this method on Linux. I’ve read elsewhere that this feature is implemented in Pipewire 1.5.0, but I can’t find a relatively simple way to download and install it.

I really want this feature. I’m willing to even provide remote access to my MacBook if I’m doing something wrong and financially support your efforts.

I really want this feature. I’m willing to even grant remote access to my MacBook if I’m doing something wrong, and I’d be willing to financially support your efforts and test the system, especially this feature, with you.

I don’t know who to contact with this issue, as I’ve even tried to contact the developers directly.

Best regards, and have a nice day :blush:

I might not be the most knowledgeable person to answer this because I don’t use hearing aids and having them connect to bluetooth was news to me but I’ll try anyway.

First, it might help to take a look at this article which was written up by one of the people working on the ASHA implementation in bluez and pipewire. It also contains a link to their Slack which might be the best place to ask if my answer isn’t sufficient.

Second, it might help to know what you already tried to pair your Asahi Macbook with your hearing aids. Did you use the bluetooth applet in Gnome/KDE or the command line? Do the hearing aids show up in the list of devices to pair?

Alternatively, the Asahi folks sometimes hang out in the Asahi Matrix room too, so if worse comes to worst, I’d suggest asking there as well.

Hopefully some of this helps!

1 Like

If you can connect via Android, there should be a generic way to connect via Linux.

Can you detail the steps you take on Android?

Do you use any special software on Android, or does the device show in the Bluetooth menu?

Any BLE device should work, it is the software, not the hardware that is the problem.

I’m sure that with a bit of trying we can find a solution that applies across Linux, and not to only Asahi.

1 Like

Hi @theprogram @curtisy

I already know that the hearing aid won’t be supported because it doesn’t include ASHA. The Med-El Sonnet 2 Audiostream does.

To connect with any device, a lot of conditions must be met, and many services need to be implemented. The ASHA standard was created by Google. Regular Bluetooth doesn’t recognize it. Blueman can see it, but the connection attempt is immediately rejected. Sound processors connect via BLE; they have to monitor a large number of variable addresses and support GATT, while the rest of the functionality must be implemented in the kernel. Today I checked, and at least one function is missing – CONFIG_BT_ISO.

On Android, I simply connect, and the hearing aid icon appears. On Asahi Linux Remix, it sees the Audiostream name with a Bluetooth icon, but any connection attempt is almost immediately rejected.


1 Like

Hi @pkonrad,

I now understand the issue a little better but unfortunately, that doesn’t allow me to be any more helpful.

I found two more interesting links that may be worth checking out, though. The first one is for the Bernafon as it supposedly supports regular bluetooth (from a quick Google search). There’s a project called Pico ASHA that uses an RPi Pico as a bridge of sorts

And then there’s also some documentation on LC3 and how to enable some of the experimental BLE features in pipewire which might help

As for the KConfig parameter, I’m unfortunately not knowledgeable enough to provide feedback on why it’s not enabled and whether enabling it might break stuff. This is a prime question for the Matrix room, though. Or maybe it’s a general Fedora thing that @theprogram can answer?

1 Like

I cannot give a satisfactory answer. I think you should contact the developer of the LE Audio you linked at GitHub, explaining your use case and ask for help there.

Also lots of technical people are active on our Fedora Matrix, and they could give more quaified hep than I can.

Good find! Looks like BLE will come into main Linux products soon (that could mean one to three years though).

1 Like