The subject line describes the HW/SW combination I'm trying to get working.
So far, while I'm in the Zoom settings, the speaker test passes but it's not getting any input from the mike. As usual, the webcam worked fine when I plugged it into a Win10 machine and used it with Teams though, to be honest, the last time I used it on the laptop, Windows might have been using the built-in mike. (Cannot double check; project over, laptop returned.) And it worked this evening with Zoom on the missus' creaky old Win7 laptop. I'd like (well,
need actually) to get the webcam working on my openSUSE system.
What I see from the CLI:
Code:
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: L313 [Live Streamer CAM 313], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
so Linux knows about the webcam audio device: card0. Perhaps I'm missing a module for the webcam audio device? "
lsmod | grep snd" does show a module "
snd_usb_audio" has been loaded but maybe there's one specific to the webcam that's
not loaded.
Known USB devices are:
Code:
$ lsusb
Bus 004 Device 002: ID 8087:8000 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 017: ID 047d:8018 Kensington Expert Wireless TB
Bus 002 Device 016: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Bus 002 Device 021: ID 07ca:313a AVerMedia Technologies, Inc. Live Streamer CAM 313
Bus 002 Device 015: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
My PA configuration is:
Code:
$ cat .pulse/default.pa
load-module module-native-protocol-unix
load-module module-jack-sink channels=2
load-module module-jack-source channels=2
load-module module-null-sink
load-module module-stream-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-suspend-on-idle
set-default-sink jack_out
set-default-source jack_in
The information I'm able to get from pactl is:
Code:
$ for T in modules sinks sources sink-inputs source-outputs clients samples cards; do echo "=== $T ==="; pactl list $T short; done
=== modules ===
0 module-native-protocol-unix
1 module-jack-sink channels=2
2 module-jack-source channels=2
3 module-null-sink
4 module-stream-restore
6 module-always-sink
7 module-suspend-on-idle
=== sinks ===
0 jack_out module-jack-sink.c float32le 2ch 48000Hz RUNNING
1 null module-null-sink.c float32le 2ch 44100Hz IDLE
=== sources ===
0 jack_out.monitor module-jack-sink.c float32le 2ch 48000Hz RUNNING
1 jack_in module-jack-source.c float32le 2ch 48000Hz RUNNING
2 null.monitor module-null-sink.c float32le 2ch 44100Hz RUNNING
=== sink-inputs ===
0 0 3 protocol-native.c s16le 2ch 44100Hz
=== source-outputs ===
0 0 12 protocol-native.c float32le 1ch 25Hz
1 1 12 protocol-native.c float32le 1ch 25Hz
2 2 12 protocol-native.c float32le 1ch 25Hz
3 1 3 protocol-native.c s16le 2ch 44100Hz
4 0 12 protocol-native.c float32le 1ch 25Hz
=== clients ===
0 protocol-native.c thunderbird-bin
1 protocol-native.c firefox-bin
2 protocol-native.c firefox-bin
3 protocol-native.c zoom
4 protocol-native.c plasmashell
5 protocol-native.c ibus-ui-gtk3
6 protocol-native.c audacious
7 protocol-native.c kded5
8 protocol-native.c pavucontrol
9 protocol-native.c soffice.bin
10 protocol-native.c thunderbird-bin
11 protocol-native.c plasmashell
12 protocol-native.c pavucontrol
13 protocol-native.c python3.6
49 protocol-native.c kate
62 protocol-native.c pactl
=== samples ===
=== cards ===
(soffice.bin? kate? :^D I get the python connection---it's jack_mixer). I'm somewhat puzzled by
pactl not seeing "cards". I take it PA's idea of a "card" is different than
asound's.
My "
.asoundrc" file is pretty bare-bones:
Code:
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
pcm.!default {
type pulse
}
ctl.!default {
type pulse
}
which, if memory serves, was what was recommended way back (whenever PA got somewhat stable) when I first got ALSA+PA+Jack working together. I strongly suspect that, even though
asound listed the webcam audio device, the above configuration isn't accounting for the webcam audio device. And... I'm a bit lost on what needs to be added/modified. (Audio's been working fine for so long, I've forgotten how the innards work.)
I've also tried opening the "Capture device" in VLC and can see that the video is working but, again, no sound. (Nor surprising.)
Possible hitch: I normally run Jack along with the `
pulseaudio-module-jack' companion module. I've turned that off while I've been trying to get webcam audio up and running as I understand that Jack and multiple sound cards is not a well supported configuration without resorting to some Dark ALSA Magic. (While it'd be sweet if I could make that work, that's OK if I can't. I can shutdown Jack before running Zoom and let PA alone handle the audio for any video conferencing.)
Q0:
Is there any other information or any configuration files that would be helpful? I'm certain that I've left out important information. Let me know what I've omitted.
Q1:
Can anyone suggest some great tips, URLs, etc. that they've found helpful to get webcam microphones to work on Linux?
TIA for any assistance...