Solved Audio broken after attempt to use USB microphone: help wanted

A few months ago, I decided I wanted to setup a USB microphone so I could have a voice chat with someone.
I followed the instructions in webcamd's pkg-message, specifically to enable cuse and webcamd.
After rebooting, I noticed there was a constant hissing/static in my headphones (they just have a regular headphone connector, they're not USB) whose volume didn't change even as I changed my system's volume. Things like music or other sounds could be heard along with the static, and their volume can be controlled.
The microphone also wasn't working, either, though that's not what I worry about right now.
So I disabled cuse and webcamd, undoing everything I did to enable them, and rebooted. But the static remained.
And since then, I haven't found a way to get the constant static to stop. I haven't used any audio at all on FreeBSD since then, and sorely miss it.
The static seems to start at the same time the login prompt appears on screen, after the dmesg -a type stuff.

Does anyone have any ideas? What could enabling cuse or webcamd could have done that wouldn't have been undone by disabling them?
I'd like to have working sound again so I can listen to music once more, and would be thankful if anyone could help me.

Specific information, in case it helps:
Code:
$ freebsd-version
12.0-RELEASE-p10
$ uname -a
FreeBSD nyann.tanasinn.mochi 12.0-RELEASE-p10 FreeBSD 12.0-RELEASE-p10 GENERIC  amd64
I also use Lumina as my DE.
 
Hi,

What you are experiencing is likely a sympthom of out-of-USB bandwidth.

What does usbconfig say?

Are all devices directly connected to the computere or via a USB HUB. I do suspect you are using an USB HUB in the middle, which cause out of bandwidth.

Did you try to lower the vchan sample rate?

--HPS
 
Can you try updating your computer to the latest 12.1 build?

> After rebooting, I noticed there was a constant hissing/static in my
> headphones

If the hissing only appears in your headphones and they are not USB based, then my suggestions don't apply.

The output from the following sysctls may be useful:

sysctl -a | grep pcm

dmesg
 
Can you try updating your computer to the latest 12.1 build?
After 12.1 comes out, I plan to.
> After rebooting, I noticed there was a constant hissing/static in my
> headphones
If the hissing only appears in your headphones and they are not USB based, then my suggestions don't apply.
That's correct. My headphones use a plain headphone jack. They are not USB.
The output from the following sysctls may be useful:

sysctl -a | grep pcm

dmesg
Attached!
:D
 

Attachments

  • dmesg.txt
    9.7 KB · Views: 133
  • dmesg-a.txt
    12.2 KB · Views: 131
  • sysctl.txt
    3.2 KB · Views: 185
Can you also dump this:
sysctl -a | grep snd

and

mixer

Repeat for all /dev/mixerN

mixer -f /dev/mixer0
mixer -f /dev/mixer1
mixer -f /dev/mixer2
mixer -f /dev/mixer3
mixer -f /dev/mixer4
mixer -f /dev/mixer5
mixer -f /dev/mixer6
mixer -f /dev/mixer7
...

Did you check that the mixer for the headphone jack is correctly configured? That you don't monitor some loose input?
 
Can you also dump this:
sysctl -a | grep snd

and

mixer

Repeat for all /dev/mixerN

mixer -f /dev/mixer0
mixer -f /dev/mixer1
mixer -f /dev/mixer2
mixer -f /dev/mixer3
mixer -f /dev/mixer4
mixer -f /dev/mixer5
mixer -f /dev/mixer6
mixer -f /dev/mixer7
...
Attached!
Did you check that the mixer for the headphone jack is correctly configured? That you don't monitor some loose input?
I wouldn't know how to do this. (Audio worked for me when I first installed FreeBSD and I never needed to configure anything, and it continued working until what happened in my original post.)
How would I check?
 

Attachments

  • mixer.txt
    404 bytes · Views: 153
  • mixernum.txt
    1.2 KB · Views: 147
  • snd.txt
    895 bytes · Views: 156
Hi,

I would first try to dump the mixer nodes before logging in, and then after.

It is likely your desktop is setting for example "monitor" to non-zero, causing feedback noise.

Try:

mixer -f /dev/mixer5 -s monitor=0

Also try:

mixer -f /dev/mixer4 -s mix=0

Which of these make audio on the headphones?

sysctl hw.snd.default_unit=5

or:

sysctl hw.snd.default_unit=4

--HPS

$ mixer -f /dev/mixer4
Mixer vol is currently set to 50:50
Mixer pcm is currently set to 100:100
Mixer speaker is currently set to 74:74
Mixer line is currently set to 1:1
Mixer mic is currently set to 67:67
Mixer mix is currently set to 74:74
Mixer rec is currently set to 35:35
Mixer igain is currently set to 4:4
Mixer ogain is currently set to 100:100
Recording source: speaker
$ mixer -f /dev/mixer5
Mixer vol is currently set to 84:84
Mixer pcm is currently set to 100:100
Mixer rec is currently set to 35:35
Mixer igain is currently set to 0:0
Mixer ogain is currently set to 100:100
Mixer monitor is currently set to 67:67
 
Hi,

I would first try to dump the mixer nodes before logging in, and then after.

It is likely your desktop is setting for example "monitor" to non-zero, causing feedback noise.
I'll try this when I next log out and login. However, the static starts as soon as the login prompt appears (a console one, not XDM, GDM, or anything), i.e. it starts before I login.
Try:

mixer -f /dev/mixer5 -s monitor=0
mixer: unknown device: monitor=0
usage: mixer [-f device] [-s | -S] [dev [+|-][voll[:[+|-]volr]] ...
mixer [-f device] [-s | -S] recsrc ...
mixer [-f device] [-s | -S] {^|+|-|=}rec rdev ...
devices: vol, pcm, rec, igain, ogain, monitor
rec devices: speaker, monitor

Also try:

mixer -f /dev/mixer4 -s mix=0
mixer: unknown device: mix=0
usage: mixer [-f device] [-s | -S] [dev [+|-][voll[:[+|-]volr]] ...
mixer [-f device] [-s | -S] recsrc ...
mixer [-f device] [-s | -S] {^|+|-|=}rec rdev ...
devices: vol, pcm, speaker, line, mic, mix, rec, igain, ogain
rec devices: speaker, line, mic, mix

Which of these make audio on the headphones?

sysctl hw.snd.default_unit=5

or:

sysctl hw.snd.default_unit=4
With both of them, I have static. I only have intended audio (music, etc) too when the value is set to 4 (not to 5)
 
> I'll try this when I next log out and login. However, the static starts as soon as the login prompt appears (a console one, not XDM, GDM, or anything), i.e. it starts before I login.

There is a /etc/rc.d/mixer config script which might do something with the audio settings.
 
Back
Top