Some microphones are treated as speakers and vice versa

Fedora linux seems to think my microphone is a speaker

Basically when I plug in my microphone it thinks it is a speaker. It stops playing anything out of my internal speaker and instead plays it out of the microphone (I guess it has a tiny speaker in it as well). In pavucontrol I can’t change the speaker to be internal and it doesn’t even list the microphone as an input device. I have tried all profiles listed and none of them work, it just plays sound out of my microphone. I know that technically internally microphones and speakers are the same thing but is there any way to force it to recognize my microphone?

Here is some of the commands I have tried to list things but I don’t understand any of the things it lists, nor do I know if this contains good information to figure out the issue. Any help would be appreciated, I have no Idea what I am doing.

pactl list short sources

pactl list short sinks

50 alsa_output.pci-0000_04_00.6.analog-stereo.monitor PipeWire s32le 2ch 48000Hz IDLE

51 alsa_input.pci-0000_04_00.6.analog-stereo PipeWire s32le 2ch 48000Hz SUSPENDED

50 alsa_output.pci-0000_04_00.6.analog-stereo PipeWire s32le 2ch 48000Hz IDLE

arecord -l

**** List of CAPTURE Hardware Devices ****

card 1: Generic_1 [HD-Audio Generic], device 0: ALC255 Analog [ALC255 Analog]

Subdevices: 1/1

Subdevice #0: subdevice #0

lsmod | grep snd

snd_seq_dummy 12288 0

snd_hrtimer 12288 1

snd_ctl_led 28672 0

snd_hda_codec_realtek 221184 1

snd_hda_codec_generic 131072 1 snd_hda_codec_realtek

snd_hda_scodec_component 20480 1 snd_hda_codec_realtek

snd_hda_codec_hdmi 102400 1

snd_hda_intel 69632 6

snd_intel_dspcfg 40960 1 snd_hda_intel

snd_intel_sdw_acpi 16384 1 snd_intel_dspcfg

snd_hda_codec 225280 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek

snd_hda_core 155648 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek

snd_hwdep 20480 1 snd_hda_codec

snd_seq 135168 7 snd_seq_dummy

snd_seq_device 16384 1 snd_seq

snd_pcm 200704 5 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core

snd_timer 53248 3 snd_seq,snd_hrtimer,snd_pcm

snd 163840 24 snd_ctl_led,snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm

soundcore 16384 2 snd_ctl_led,snd

System information:

DISTRO Fedora Linux 40 (Xfce) x86_64

Linux 6.11.4-201.fc40.x86_64

3161 (rpm), 26 (flatpak)

DE/WM Hyprland (Wayland)

Nitro AN515-42 (V1.18)

AMD Ryzen 5 2500U with Radeon Vega Mobile z

AMD Radeon RX GraphicsAMD Radeon Vega 8 Graphics

1920x1080 @ 60Hz

2.45 GiB / 14.53 GiB (17%)

0 B / 8.00 GiB (0%)

Family 17h/19h HD Audio Controller Analo

Microphone information:

MouKey Professional Dynamic Microphone (MWm-5)

I have headphones which have an integrated microphone in them and they work fine, although it is a crappy microphone so the quality is bad. But normally headphones work perfectly.

My bluetooth speaker had the same issue in reverse but I just gave up and used ear buds on that one because I couldn’t get it to play sound out of it either.

Just to eliminate the obvious.
Check that you plugged into the correct socket.
What colour is the microphone socket?

No color, it is on a laptop so it’s just black. There is only one audio port on the laptop and my headphones speaker works on it so I assume it is duel channel.

Yes, and that typically means you need an adapter to plug in a microphone which is “just a microphone”. That’s what @barryascott referred to: laptops often have a single jack just like mobile phones, whereas PCs have to jacks with two colors (speakers+mic). In order to plug in a microphone you need a the mic jack, or an adapter (2 jacks to 1) and plug it into its mic jack.

what kind of adapter would I need? /where can I buy one?

Added f40, pipewire

That audio port probably supports a single plug headset with mic.

If the headset is headphones only the plug will probably be a normal stereo plug with tip - ring - shield (3 conductors on the plug)
If the headset is headphone + mic the plug will probably be the combined plug with tip - ring - ring - shield (4 conductors on the plug)

Many laptops with the single jack will expect the combined (trrs) plug which supports stereo out plus mic in.

The adapter you should look for is to convert a 2 conductor mic plug (tip - shield) to the 4 conductor combined plug (trrs).
They are made with a single plug with trrs and 2 jacks for audio out and mic in.
Something like this I believe

Another perfectly viable option could be to use a usb dongle to connect the mic