public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Christos Skevis <xristos.thes@gmail.com>
Cc: tiwai@suse.com, peter.ujfalusi@linux.intel.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ALSA: usb-audio: Fix microphone sound on Nexigo webcam.
Date: Mon, 09 Oct 2023 08:20:32 +0200	[thread overview]
Message-ID: <87mswstiz3.wl-tiwai@suse.de> (raw)
In-Reply-To: <20231006155330.399393-1-xristos.thes@gmail.com>

On Fri, 06 Oct 2023 17:53:30 +0200,
Christos Skevis wrote:
> 
> I own an external usb Webcam, model NexiGo N930AF, which had low mic volume and
> inconsistent sound quality. Video works as expected.
> 
> (snip)
> [  +0.047857] usb 5-1: new high-speed USB device number 2 using xhci_hcd
> [  +0.003406] usb 5-1: New USB device found, idVendor=1bcf, idProduct=2283, bcdDevice=12.17
> [  +0.000007] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> [  +0.000004] usb 5-1: Product: NexiGo N930AF FHD Webcam
> [  +0.000003] usb 5-1: Manufacturer: SHENZHEN AONI ELECTRONIC CO., LTD
> [  +0.000004] usb 5-1: SerialNumber: 20201217011
> [  +0.003900] usb 5-1: Found UVC 1.00 device NexiGo N930AF FHD Webcam (1bcf:2283)
> [  +0.025726] usb 5-1: 3:1: cannot get usb sound sample rate freq at ep 0x86
> [  +0.071482] usb 5-1: 3:2: cannot get usb sound sample rate freq at ep 0x86
> [  +0.004679] usb 5-1: 3:3: cannot get usb sound sample rate freq at ep 0x86
> [  +0.051607] usb 5-1: Warning! Unlikely big volume range (=4096), cval->res is probably wrong.
> [  +0.000005] usb 5-1: [7] FU [Mic Capture Volume] ch = 1, val = 0/4096/1
> 
> Set up quirk cval->res to 16 for 256 levels,
> Set GET_SAMPLE_RATE quirk flag to stop trying to get the sample rate.
> Confirmed that happened anyway later due to the backoff mechanism, after 3 failures
> 
> All audio stream on device interfaces share the same values,
> apart from wMaxPacketSize and tSamFreq :
> 
> (snip)
> Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        3
>       bAlternateSetting       3
>       bNumEndpoints           1
>       bInterfaceClass         1 Audio
>       bInterfaceSubClass      2 Streaming
>       bInterfaceProtocol      0
>       iInterface              0
>       AudioStreaming Interface Descriptor:
>         bLength                 7
>         bDescriptorType        36
>         bDescriptorSubtype      1 (AS_GENERAL)
>         bTerminalLink           8
>         bDelay                  1 frames
>         wFormatTag         0x0001 PCM
>       AudioStreaming Interface Descriptor:
>         bLength                11
>         bDescriptorType        36
>         bDescriptorSubtype      2 (FORMAT_TYPE)
>         bFormatType             1 (FORMAT_TYPE_I)
>         bNrChannels             1
>         bSubframeSize           2
>         bBitResolution         16
>         bSamFreqType            1 Discrete
>         tSamFreq[ 0]        44100
>       Endpoint Descriptor:
>         bLength                 9
>         bDescriptorType         5
>         bEndpointAddress     0x86  EP 6 IN
>         bmAttributes            5
>           Transfer Type            Isochronous
>           Synch Type               Asynchronous
>           Usage Type               Data
>         wMaxPacketSize     0x005c  1x 92 bytes
>         bInterval               4
>         bRefresh                0
>         bSynchAddress           0
>         AudioStreaming Endpoint Descriptor:
>           bLength                 7
>           bDescriptorType        37
>           bDescriptorSubtype      1 (EP_GENERAL)
>           bmAttributes         0x01
>             Sampling Frequency
>           bLockDelayUnits         0 Undefined
>           wLockDelay         0x0000
> (snip)
> 
> Based on the usb data about manufacturer, SPCA2281B3 is the most likely controller IC
> Manufacturer does not provide link for datasheet nor detailed specs.
> No way to confirm if the firmware supports any other way of getting the sample rate.
> 
> Testing patch provides consistent good sound recording quality and volume range.
> 
> (snip)
> [  +0.045764] usb 5-1: new high-speed USB device number 2 using xhci_hcd
> [  +0.106290] usb 5-1: New USB device found, idVendor=1bcf, idProduct=2283, bcdDevice=12.17
> [  +0.000006] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> [  +0.000004] usb 5-1: Product: NexiGo N930AF FHD Webcam
> [  +0.000003] usb 5-1: Manufacturer: SHENZHEN AONI ELECTRONIC CO., LTD
> [  +0.000004] usb 5-1: SerialNumber: 20201217011
> [  +0.043700] usb 5-1: set resolution quirk: cval->res = 16
> [  +0.002585] usb 5-1: Found UVC 1.00 device NexiGo N930AF FHD Webcam (1bcf:2283)
> 
> Signed-off-by: Christos Skevis <xristos.thes@gmail.com>

Thanks, applied now.


Takashi

      reply	other threads:[~2023-10-09  6:20 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-06 15:53 [PATCH] ALSA: usb-audio: Fix microphone sound on Nexigo webcam Christos Skevis
2023-10-09  6:20 ` Takashi Iwai [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mswstiz3.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peter.ujfalusi@linux.intel.com \
    --cc=tiwai@suse.com \
    --cc=xristos.thes@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox