Re: CM6206-LX usb sound card problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



So, I have found CM6206 datasheet via baidu.cn. I think most things must be similar to mine CM6206-LX chip.
It is unclear how to download pdf file, I am not very familiar with china language.
There is description of internal registers. There is no much interesting settings, already existed initial values in snd_usb_audio module must be ok. 
If somebody needs reg info feel free to contact me.

Next there is some information about volume control. I think it can be used for quirks that can fix following errors:
[31010.646123] usb 1-1: Warning! Unlikely big volume range (=8065), cval->res is probably wrong.
[31010.646126] usb 1-1: [9] FU [Mic Playback Volume] ch = 2, val = -6144/1921/1
[31010.646485] usb 1-1: Warning! Unlikely big volume range (=8065), cval->res is probably wrong.
[31010.646486] usb 1-1: [11] FU [Line Playback Volume] ch = 2, val = -6144/1921/1
[31010.647884] usb 1-1: Warning! Unlikely big volume range (=6928), cval->res is probably wrong.
[31010.647887] usb 1-1: [8] FU [Mic Capture Volume] ch = 2, val = -4096/2832/1
[31010.648291] usb 1-1: Warning! Unlikely big volume range (=6928), cval->res is probably wrong.
[31010.648295] usb 1-1: [15] FU [Line Capture Volume] ch = 2, val = -4096/2832/1
[31010.648662] usb 1-1: Warning! Unlikely big volume range (=6928), cval->res is probably wrong.
[31010.648664] usb 1-1: [2] FU [PCM Capture Volume] ch = 2, val = -4096/2832/1

I have uploaded images of related info from datasheet here https://yadi.sk/d/1kdCFs7Gpv8L8

I have tested arecord with mic and line in via simple test app. 
It seems only one avalible sample rate is 48000 Hz.

        printf("Sample rate = %d\n", SampleRate);
        snd_pcm_hw_params_set_rate_near(Handle, params,
                &SampleRate, &dir);
        printf("Sample rate = %d\n", SampleRate);

After calling these function SampleRate becomes 48000, even if before it was 44100 or 96000.
But, according to 

cat /proc/asound/card2/stream0 
USB Sound Device at usb-0000:00:14.0-1, full speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 8
    Endpoint: 6 OUT (ADAPTIVE)
    Rates: 44100, 48000
  Interface 1
    Altset 2
    Format: S16_LE
    Channels: 2
    Endpoint: 6 OUT (ADAPTIVE)
    Rates: 44100, 48000
  Interface 1
    Altset 3
    Format: S16_LE
    Channels: 4
    Endpoint: 6 OUT (ADAPTIVE)
    Rates: 44100, 48000
  Interface 1
    Altset 4
    Format: S16_LE
    Channels: 6
    Endpoint: 6 OUT (ADAPTIVE)
    Rates: 44100, 48000
  Interface 1
    Altset 5
    Format: S16_LE
    Channels: 2
    Endpoint: 6 OUT (ADAPTIVE)
    Rates: 96000

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 5 IN (ASYNC)
    Rates: 44100, 48000

It is able to capture 44100.
Maybe it is related to following warning:
[31010.643908] usb 1-1: current rate 30464 is different from the runtime rate 96000

I have tried to capture via arecord:
 arecord -D hw:2,0 -f cd -c 2 > ./test2.wav

and VLC said it is 44100, but I don`t have microphone at the moment to test is there proper sound recorded or not. I will try it later.

So, my questions:

1) How to make quirks for volume? 
I have try with mixer.c in sound/usb/ dir of kernel tree (4.2.0) and tried to add experimental code in volume_control_quirks function.
But it seems function is not called for my device for some reason. It is more complicated that I think first.
Maybe this mailing list is not proper place to ask it, than what is proper place to ask?

2) What reason can be, that I can`t record at 44,1kHz sample rate?

04.03.2016, 11:07, "Nikita Orlov" <nikitos1550@xxxxxxxxx>:
> I don`t know much about it. But I can think following way as both C6206 and CM6206LX have same ID, original Windows driver can read some internal register and get such info.
> I will try to find datasheets for both chips and see it.
> As I know from mailing list archives reg init in quirk was done by sniffing usb traffic under windows.
> But it was in 2009 year...
>
> 04.03.2016, 11:00, "Clemens Ladisch" <cladisch@xxxxxxxxxxxxxx>:
>>  Nikita Orlov wrote:
>>>   By the way CM6206-LX if different to CM6206.
>>>   CM6206 has 7.1 channels output and CM6206-LX has 5.1 channels output.
>>>
>>>   Maybe these init:
>>>     static int snd_usb_cm6206_boot_quirk(struct usb_device *dev)
>>>     ...
>>>   is not sutible to -LX version, because it somehow try turn off channels
>>>   that are not exist.
>>
>>  Well, how would it possible for the driver to differentiate the CM6206
>>  and the CM6206-LX?
>>
>>  Regards,
>>  Clemens
>
> --
> Nikita Orlov
> Skype: nik_stet
> QQ: 2717846083
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
> Alsa-user mailing list
> Alsa-user@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/alsa-user

-- 
Nikita Orlov
Skype: nik_stet
QQ: 2717846083

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user




[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux