lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87mswstiz3.wl-tiwai@suse.de>
Date:   Mon, 09 Oct 2023 08:20:32 +0200
From:   Takashi Iwai <tiwai@...e.de>
To:     Christos Skevis <xristos.thes@...il.com>
Cc:     tiwai@...e.com, peter.ujfalusi@...ux.intel.com,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ALSA: usb-audio: Fix microphone sound on Nexigo webcam.

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@...il.com>

Thanks, applied now.


Takashi

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ