David J. Raymond
david.raym...@nmt.edu
http://kestrel.nmt.edu/~raymond

Jan,

Hmm....  Not being able to use the microphone and speaker from separate
devices at the same time is a show stopper for me.  I guess I will just
have to use my headphones (with microphone) or get a combined USB or
headset jack speaker-mike when I need to have a conversation over Zoom.  (I
have used gens 1, 4, and 5 of X1 Carbons and everything just worked.  The
lack of support for the microphone on later generations was an unpleasant
surprise -- though I understand why the support is lacking on OpenBSD.  I
am certainly not going back to Linux because of this!)

I am attaching the dmesg text since the last reboot for the record -- it is
hard to include big files on gmail.

Dave


On Fri, Jul 18, 2025 at 1:02 AM Jan Stary <h...@stare.cz> wrote:

> On Jul 17 14:32:36, david.raym...@nmt.edu wrote:
> > I have a Lenovo X1 Carbon Thinkpad (gen 9 I think) which has microphone
> > hardware not supported by OpenBSD.
>
> Post the full dmesg, obviously, to show what the device is.
> What exactly have you tried to conclude the mic hw is unsupported?
>
> > I purchased an inexpensive USB
> > microphone with displays the following dmesg entry:
> >
> > uaudio0 at uhub1 port 1 configuration 1 interface 1 "C-Media Electronics
> > Inc. USB PnP Sound Device" rev 1.10/1.00 addr 5
> > uaudio0: class v1, full-speed, sync, channels: 0 play, 1 rec, 3 ctls
>                                                  ^^^^^^^^^^^^^^
>
> > audio1 at uaudio0
>
> So when using the audio1 device you will be able to record, but not play.
>
> How exactly do you run sndiod?
> You might want to use something like
> sndiod_flags=-f rsnd/0 -F rsnd/1
> to record with the usb mic (temporarily plugged in for the recording)
> but play through your in-built audio0 (unplugging the usb mic after
> recording).
>
> Or buy a usb dongle that can both play and record
> so that you don't have to switch devices.
>
>
> > uhidev0 at uhub1 port 1 configuration 1 interface 2 "C-Media Electronics
> > Inc. USB PnP Sound Device" rev 1.10/1.00 addr 5
> > uhidev0: iclass 3/0
> > ucc0 at uhidev0: 10 usages, 3 keys, enum
> > wskbd1 at ucc0 mux 1
> > wskbd1: connecting to wsdisplay0
> >
> >
> > Unfortunately, it doesn't seem to work with OBSD.  Recording a test
> message
> > with aucat -o file.wav produces a wave file, but aucat -i file.wav
> > is silent.
>
> Which os audio0 / audio1 are you using for the recording and the playing?
>
> > If I plug a headphone into the speaker jack, it works fine with
> > aucat and in actual use.
>
> Are you even telling sndiod to use the audio1?
> If not, playing a sound through headphones in the jack
> presumably just uses the builtin audio0, which works fine for playback.
>
> > Am I missing something?  Sndioctl produces
> >
> > input.level=1.000
> > input.mute=0
> > output.level=1.000
> > output.mute=0
> > server.device=0(azalia0)
> > app/aucat0.level=1.000
> > app/audacio0.level=1.000
> > app/firefox0.level=1.000
> > app/firefox1.level=1.000
> > app/iridium0.level=1.000
> > app/iridium1.level=1.000
> > app/iridium2.level=1.000
> > app/iridium3.level=1.000
> >
> > for both the USB microphone and the headset and with nothing plugged in.
>
> sndioctl will use the default device unless told otherwise,
> so if you are not telling it otherwise, it doesn't matter
> that you have plugged the usb mic in.
>
> >
> > Mixerctl produces
> >
> > penguin# cat null.txt
> > inputs.dac-2:3=174,174
> > inputs.dac-0:1=174,174
> > record.adc-0:1_mute=off
> > record.adc-0:1=252,252
> > record.adc-2:3_mute=off
> > record.adc-2:3=252,252
> > outputs.spkr_source=dac-2:3
> > outputs.spkr_mute=off
> > outputs.spkr_eapd=on
> > outputs.spkr2_source=dac-2:3
> > outputs.spkr2_mute=off
> > outputs.spkr2_boost=off
> > inputs.mic=85,85
> > outputs.mic_dir=input-vr80
> > outputs.hp_source=dac-0:1
> > outputs.hp_mute=off
> > outputs.hp_boost=off
> > outputs.hp_eapd=on
> > record.adc-2:3_source=mic
> > record.adc-0:1_source=mic
> > outputs.mic_sense=unplugged
> > outputs.hp_sense=unplugged
> > outputs.spkr_muters=hp
> > outputs.master=255,255
> > outputs.master.mute=off
> > outputs.master.slaves=dac-2:3,dac-0:1,spkr,spkr2,hp
> > record.volume=255,255
> > record.volume.mute=off
> > record.volume.slaves=adc-0:1,adc-2:3
> > record.enable=sysctl
> >
> > if nothing is plugged in.  The USB microphone doesn't change this
> > result at all.
>
> mixerctl also uses the default device by default.
>
> > However, the headphone changes a few things in the mixerctl
> > output as illustrated by this diff:
>
> That is proof you are using the bultin audio0
> (as you can;t plug the headphines into the audio1 mic).
>
> > penguin# diff null.txt headphone.txt
> > 8c8
> > < outputs.spkr_mute=off
> > ---
> > > outputs.spkr_mute=on
> > 11c11
> > < outputs.spkr2_mute=off
> > ---
> > > outputs.spkr2_mute=on
> > 21,22c21,22
> > < outputs.mic_sense=unplugged
> > < outputs.hp_sense=unplugged
> > ---
> > > outputs.mic_sense=plugged
> > > outputs.hp_sense=plugged
> >
> > I think this just reflects the change from an internal device to one
> > plugged into the headphone jack.
>
> This is still the same "device", namely audio0,
> recognizing HP is plugged in (and muting the speakers).
>
> Strangely, it also recognizes a mic as plugged in.
> But some laptiops have one jack for both ...
>
> > Am I doing something wrong or are we just dealing with an unsupported
> > device?
>
> How could anyone tell without the dmesg?
>
> > In the latter case, any suggestions for a compact microphone that
> > can be plugged in when needed?  As far as I am concerned this could plug
> > into either a USB port or the headphone jack.
>
> RODE NT is working nicely for me
> on a macbook with recording unsupported
> (a situation similar to yours).
>
>         Jan
>
>

Attachment: mydmesg
Description: Binary data

Reply via email to