Solution 1:

Use the pacmd list-sources or pactl list commands to show PulseAudio devices. To show only names you can grep on it's output. This is an example from PulseAudio FAQ

$ LANG=C pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f2

With additional grep on ".monitor" you can get only monitor devices.

Solution 2:

So in short, it looks like the problem is up at the alsa level and not at the pulseaudio level? If you want to see the alsa devices try.

aplay -l

(but aplay -L which you've already mentioned is similar).

pulseaudio sits on top of alsa. So looking at pactl brings in another layer of software... see here troubleshooters.com/linux/sound/sound_troubleshooting.htm. If alsa can't see the sound device then certainly pulseaudio won't?

Solution 3:

It's brutally simple:

This shows you the sinks/output ports:

aplay -L

Since a 'monitor' is a source/input port, you'll want this:

arecord -L