3.5mm microphone detection

Everything is working great on my Framework desktop except for the 3.5mm combo jack. I have tested two different headphone/microphones devices that both work with my framework 13, but on the framework desktop it always says the microphone is “not available” or “unplugged”.

Does anyone have this working? What is your OS / kernel version / audio system? I’m trying to narrow down my problem to a hardware or software problem.

  • OS: NixOS unstable
  • Kernel: 6.16.8
  • Using pulse audio

Output from pactl list sources:

Source #222
        State: RUNNING
        Name: alsa_output.pci-0000_c2_00.6.analog-stereo.monitor
        Description: Monitor of Family 17h/19h/1ah HD Audio Controller Analog Stereo
        Driver: PipeWire
        Sample Specification: s32le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor of Sink: alsa_output.pci-0000_c2_00.6.analog-stereo
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY 
        Properties:
                alsa.card = "1"
                alsa.card_name = "HD-Audio Generic"
                alsa.class = "generic"
                alsa.components = "HDA:10ec0623,f111000a,00100000"
                alsa.device = "0"
                alsa.driver_name = "snd_hda_intel"
                alsa.id = "ALC623 Analog"
                alsa.long_card_name = "HD-Audio Generic at 0xb0500000 irq 156"
                alsa.mixer_name = "Realtek ALC623"
                alsa.name = "ALC623 Analog"
                alsa.resolution_bits = "16"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.sync.id = "00000000:00000000:00000000:00000000"
                api.alsa.card.longname = "HD-Audio Generic at 0xb0500000 irq 156"
                api.alsa.card.name = "HD-Audio Generic"
                api.alsa.path = "front:1"
                api.alsa.pcm.card = "1"
                api.alsa.pcm.stream = "playback"
                audio.channels = "2"
                audio.position = "FL,FR"
                card.profile.device = "3"
                device.api = "alsa"
                device.class = "monitor"
                device.icon_name = "audio-card-analog"
                device.id = "51"
                device.profile.description = "Analog Stereo"
                device.profile.name = "analog-stereo"
                device.routes = "2"
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "Family 17h/19h/1ah HD Audio Controller"
                node.name = "alsa_output.pci-0000_c2_00.6.analog-stereo"
                node.nick = "ALC623 Analog"
                node.pause-on-idle = "false"
                object.path = "alsa:acp:Generic_1:3:playback"
                port.group = "playback"
                priority.driver = "1009"
                priority.session = "1009"
                factory.id = "19"
                clock.quantum-limit = "8192"
                client.id = "44"
                node.driver = "true"
                node.loop.name = "data-loop.0"
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "69"
                object.serial = "222"
                node.max-latency = "16384/48000"
                api.alsa.period-size = "1024"
                api.alsa.period-num = "32"
                api.alsa.headroom = "0"
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "1"
                api.alsa.split-enable = "true"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.bus = "pci"
                device.bus_path = "pci-0000:c2:00.6"
                device.enum.api = "udev"
                device.name = "alsa_card.pci-0000_c2_00.6"
                device.nick = "HD-Audio Generic"
                device.plugged.usec = "16652795"
                device.product.id = "0x15e3"
                device.product.name = "Family 17h/19h/1ah HD Audio Controller"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:c2:00.6/sound/card1"
                device.vendor.id = "0x1022"
                device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
                spa.object.id = "4"
                device.string = "1"
        Ports:
                analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability unknown)
                analog-output-headphones-2: Headphones 2 (type: Headphones, priority: 9800, availability group: Legacy 2, not available)
        Active Port: analog-output-headphones
        Formats:
                pcm

Source #223
        State: RUNNING
        Name: alsa_input.pci-0000_c2_00.6.analog-stereo
        Description: Family 17h/19h/1ah HD Audio Controller Analog Stereo
        Driver: PipeWire
        Sample Specification: s32le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor of Sink: n/a
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY 
        Properties:
                alsa.card = "1"
                alsa.card_name = "HD-Audio Generic"
                alsa.class = "generic"
                alsa.components = "HDA:10ec0623,f111000a,00100000"
                alsa.device = "0"
                alsa.driver_name = "snd_hda_intel"
                alsa.id = "ALC623 Analog"
                alsa.long_card_name = "HD-Audio Generic at 0xb0500000 irq 156"
                alsa.mixer_name = "Realtek ALC623"
                alsa.name = "ALC623 Analog"
                alsa.resolution_bits = "16"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.sync.id = "00000000:00000000:00000000:00000000"
                api.alsa.card.longname = "HD-Audio Generic at 0xb0500000 irq 156"
                api.alsa.card.name = "HD-Audio Generic"
                api.alsa.path = "front:1"
                api.alsa.pcm.card = "1"
                api.alsa.pcm.stream = "capture"
                audio.channels = "2"
                audio.position = "FL,FR"
                card.profile.device = "0"
                device.api = "alsa"
                device.class = "sound"
                device.icon_name = "audio-card-analog"
                device.id = "51"
                device.profile.description = "Analog Stereo"
                device.profile.name = "analog-stereo"
                device.routes = "1"
                factory.name = "api.alsa.pcm.source"
                media.class = "Audio/Source"
                device.description = "Family 17h/19h/1ah HD Audio Controller"
                node.name = "alsa_input.pci-0000_c2_00.6.analog-stereo"
                node.nick = "ALC623 Analog"
                node.pause-on-idle = "false"
                object.path = "alsa:acp:Generic_1:0:capture"
                port.group = "capture"
                priority.driver = "2009"
                priority.session = "2009"
                factory.id = "19"
                clock.quantum-limit = "8192"
                client.id = "44"
                node.driver = "true"
                node.loop.name = "data-loop.0"
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "90"
                object.serial = "223"
                node.max-latency = "16384/48000"
                api.alsa.period-size = "1024"
                api.alsa.period-num = "32"
                api.alsa.headroom = "32"
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "1"
                api.alsa.split-enable = "true"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.bus = "pci"
                device.bus_path = "pci-0000:c2:00.6"
                device.enum.api = "udev"
                device.name = "alsa_card.pci-0000_c2_00.6"
                device.nick = "HD-Audio Generic"
                device.plugged.usec = "16652795"
                device.product.id = "0x15e3"
                device.product.name = "Family 17h/19h/1ah HD Audio Controller"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:c2:00.6/sound/card1"
                device.vendor.id = "0x1022"
                device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
                spa.object.id = "4"
                device.string = "1"
        Ports:
                analog-input-mic: Microphone (type: Mic, priority: 8700, availability group: Legacy 1, not available)
        Active Port: analog-input-mic
        Formats:
                pcm

I noticed there’s a few quirks in the Linux audio driver for the framework laptop microphone detect, I’m guessing this is a software issue and there’s a similar quirk needed for the desktop: linux/sound/hda/codecs/realtek/alc269.c at e5f0a698b34ed76002dc5cff3804a61c80233a7a · torvalds/linux · GitHub

I tried adding this:

  • SND_PCI_QUIRK(0xf111, 0x000a, “Framework desktop”, ALC283_FIXUP_HEADSET_MIC), this did nothing
  • SND_PCI_QUIRK(0xf111, 0x000a, “Framework Desktop”, ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE) this made the headset microphone show as available, but it did not pick up any audio from the microphone.

If no one posts in a few days I’ll try an officially supported Linux distro.

Not a solution, but i’ll confirm that i’m experiencing this behavior too.

I’m currently using one of framework’s audio expansion cards as a dongle for my microphone because the rear audio port isnt’ detecting the plug or presence of the microphone on kernel 6.16.8-arch3-1

it works, but i’d like to get away from needing the dongle.

1 Like

Thank you! Having another person confirm my observation helps narrow this down to a likely software issue.

I am experiencing the same issue. I’ve also tried connecting a standalone external microphone to no avail.

Framework Desktop running Bazzite:

Operating System: Bazzite 42
KDE Plasma Version: 6.4.4
KDE Frameworks Version: 6.17.0
Qt Version: 6.9.2
Kernel Version: 6.16.4-108.bazzite.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD RYZEN AI MAX+ 395 w/ Radeon 8060S
Memory: 128 GiB of RAM (125.1 GiB usable)
Graphics Processor: Radeon 8060S Graphics
Manufacturer: Framework
Product Name: Desktop (AMD Ryzen AI Max 300 Series)
System Version: A6

Update, of a sort. I’m new to the Pipewire configuration and Bazzite (coming from Mint) and there don’t appear to be any input devices appearing at all. I don’t know if this is typical, but the ports show up in the drop-down menu as stereo duplex, so they ought to be bidirectional.

The other posts in this thread appear a couple weeks old, and the Framework desktop hasn’t been around long enough to have much info around on other search engines or the like. The Bazzite documentation is unhelpful in the extreme; it says “the latest drivers are included so you can be sure your hardware works!”

Has anyone made meaningful progress on this issue? Should I rebase to a different flavor of Fedora? Go back to Mint (I’d rather not; the last two releases have been disappointing)?

I have not made any progress, I intend to tinker more, but this is the kind of project that can drag on for months. I believe the issue is at the Linux kernel level, and switching distributions will not help.

I also noticed this issue too on my Framework Desktop with Ubuntu. When I plug in my headset and microphone using the 3.5mm on my laptop, it works fine, but not on Desktop. The input says “No input devices” and doesn’t pick up the mic at all, but the audio works.

Edit: PulseAudio (on PipeWire 1.4.7)

System Details Report


Report details

Date generated:                              2025-10-17 12:01:03

Hardware Information:

Hardware Model:                              Framework Desktop AMD Ryzen AI Max 300 Series

Memory:                                      128.0 GiB

Processor:                                   AMD RYZEN AI MAX+ 395 w/ Radeon™ 8060S × 32

Graphics:                                    Radeon™ 8060S Graphics

Disk Capacity:                               2.0 TB

Software Information:

Firmware Version:                            03.03

OS Name:                                     Ubuntu 25.10

OS Build:                                    (null)

OS Type:                                     64-bit

GNOME Version:                               49

Windowing System:                            Wayland

Kernel Version:                              Linux 6.17.3-061703-generic


1 Like

I opened a support ticket, maybe someone at framework is already working on a kernel patch.

1 Like

Ah, my old nemesis the AMD Audio Coprocessor.

Yes, it’s at a kernel level. I can rebuild the Mint Debian kernel to include a driver for it, but it’s… I’m not an expert at that and last time I did it I broke the update process and everything ground to a halt.

Hoping that support ticket gets a quick resolution.

Support asked me for a video of the issue the day after I made the ticket. I’m away from my desktop on business travel for a few weeks, if someone else wants to take a video I can move the ticket past L1, otherwise I’ll do it myself when I’m back at my desktop.

Video file types are not allowed as forum attachments, but I took a minute long video and can send it somewhere.

1 Like

Support suggested YouTube or Google drive, but I imagine any https based file sharing would work. Normally I would offer an upload link to my server, but I need to find a replacement for minio.

I’m really trying to bite my tongue here, but the suggestion that the support team needs a tiktok explainer on this issue is REALLY irritating.

Thanks for doing all the legwork.

1 Like

Thanks @JackBlastum !

Support is also asking me to reproduce with the latest BIOS, 3.03. my system was on 3.02. Has anyone reproduced this with the latest version?

Just updated my firmware and OSes, tested on Debian and Fedora (Atomic, Bazzite) with the same result. The stereo duplex does not seem to recognize any input.

While it doesn’t solve the issue at hand, I may pick up a USB mic this week. If that works with some of my software, perhaps it will shed some light on the issue.

1 Like

I got a response from support:

Thanks for reaching out and thanks for the Linux logs, to be transparent, The 3.5 mm audio jack for Framework Desktop is a WIP (work in progress) at this time. A more comprehensive component information can be found here

There may be a workaround, but we kindly need your confirmation if this works for you.

Execute below command:

sudo tee /etc/modprobe.d/alsa.conf <<< “options snd-hda-intel model=alc283-sense-combo”

Then reboot, unplug the mic, the plug it in again. And let’s see.

If the above doesn’t work, We would like to let you know that it may take a bit more time before we have a fix. For now, what we could suggest that you acquire the always working audio expansion card which has vastly better quality audio.

https://frame.work/products/audio-expansion-card?v=FRACCJBZ01

1 Like

I tried the suggested fix, it didn’t work for me on NixOS unstable. I’m glad it’s a known issue and they’re working on it though. I’m surprised I didn’t find that support matrix earlier.

1 Like

I have and am using the audio expansion card (see the video). I got the mic to pop up briefly, but as soon as I launched Discord it stopped being a valid input, and through a couple of reboots I was unable to get it to come back.