Re: Status of CM6631 USB

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

 



Torstein and list;

On Tue, Mar 12, 2013 at 1:48 PM, Torstein Hegge <hegge@xxxxxxxxxxx> wrote:
> On Tue, Mar 12, 2013 at 07:59:52AM -0700, chris hermansen wrote:
>> Mar 12 07:13:34 temuko kernel: [ 1221.640038] usb 1-3: new high-speed
>> USB device number 2 using ehci-pci
>> Mar 12 07:13:34 temuko kernel: [ 1221.797930] usb 1-3: config 1
>> interface 8 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
>> Mar 12 07:13:34 temuko kernel: [ 1221.797943] usb 1-3: config 1
>> interface 8 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 64
>
> The device still thinks it should care about midi. I don't want to
> completely drop the theory about interaction with things not really
> supported. Here is another patch on top of the previous quirks-table.h
> entry, ignoring the midi interface as well.
>
> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> index f2fcc78..66ade73 100644
> --- a/sound/usb/quirks-table.h
> +++ b/sound/usb/quirks-table.h
> @@ -3270,6 +3270,18 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>                                 .type = QUIRK_IGNORE_INTERFACE
>                         },
>                         {
> +                               .ifnum = 6,
> +                               .type = QUIRK_IGNORE_INTERFACE
> +                       },
> +                       {
> +                               .ifnum = 7,
> +                               .type = QUIRK_IGNORE_INTERFACE
> +                       },
> +                       {
> +                               .ifnum = 8,
> +                               .type = QUIRK_IGNORE_INTERFACE
> +                       },
> +                       {
>                                 .ifnum = -1
>                         }
>                 }
>
> This has the side effect of ignoring the USB HID interface as well, but
> I don't think that does anything useful anyway.

I added that patch and rebuilt the kernel.

[ last experiment's evidence deleted ]

Here's the tail -f results this time.  You can see I hit a similar
snag after switching back and forth a few times between 44.1/16 and
96/24.

clh@temuko:~$ tail -f /var/log/kern.log
Mar 13 20:27:58 temuko kernel: [   19.781445] IPv6:
ADDRCONF(NETDEV_UP): wlan0: link is not ready
Mar 13 20:28:03 temuko kernel: [   24.521089] wlan0: authenticate with
20:76:00:0d:dd:00
Mar 13 20:28:03 temuko kernel: [   24.525107] wlan0:
capabilities/regulatory prevented using AP HT/VHT configuration,
downgraded
Mar 13 20:28:03 temuko kernel: [   24.525317] wlan0: send auth to
20:76:00:0d:dd:00 (try 1/3)
Mar 13 20:28:03 temuko kernel: [   24.526923] wlan0: authenticated
Mar 13 20:28:03 temuko kernel: [   24.527235] ath5k 0000:02:02.0
wlan0: disabling HT/VHT due to WEP/TKIP use
Mar 13 20:28:03 temuko kernel: [   24.528054] wlan0: associate with
20:76:00:0d:dd:00 (try 1/3)
Mar 13 20:28:03 temuko kernel: [   24.530347] wlan0: RX AssocResp from
20:76:00:0d:dd:00 (capab=0x411 status=0 aid=1)
Mar 13 20:28:03 temuko kernel: [   24.530674] wlan0: associated
Mar 13 20:28:03 temuko kernel: [   24.530692] IPv6:
ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

(plugging in the Schiit now)

Mar 13 20:29:43 temuko kernel: [  124.304074] usb 1-3: new high-speed
USB device number 2 using ehci-pci
Mar 13 20:29:44 temuko kernel: [  124.461835] usb 1-3: config 1
interface 8 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
Mar 13 20:29:44 temuko kernel: [  124.461848] usb 1-3: config 1
interface 8 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 64
Mar 13 20:29:44 temuko kernel: [  124.464453] usb 1-3: New USB device
found, idVendor=0d8c, idProduct=0304
Mar 13 20:29:44 temuko kernel: [  124.464466] usb 1-3: New USB device
strings: Mfr=1, Product=2, SerialNumber=0
Mar 13 20:29:44 temuko kernel: [  124.464477] usb 1-3: Product: Schiit
USB Interface
Mar 13 20:29:44 temuko kernel: [  124.464487] usb 1-3: Manufacturer: CMEDIA
Mar 13 20:29:44 temuko kernel: [  124.960360] 2:1: resetting device
after change 48000 -> 192000
Mar 13 20:29:44 temuko kernel: [  124.971954] usbcore: registered new
interface driver usbhid
Mar 13 20:29:44 temuko kernel: [  124.971963] usbhid: USB HID core driver
Mar 13 20:29:44 temuko kernel: [  124.977251] usbcore: registered new
interface driver snd-usb-audio

(starting testing on 44.1/16)

Mar 13 20:31:24 temuko kernel: [  224.728339] 2:1: resetting device
after change 192000 -> 44100

(sounds great)

(ctrl-c and on to the 96/24)

Mar 13 20:32:12 temuko kernel: [  272.768623] 2:1: resetting device
after change 44100 -> 96000

(working fine, ctrl-c and back to the 44.1/16)

Mar 13 20:32:45 temuko kernel: [  305.741080] 2:1: resetting device
after change 96000 -> 44100

(working fine, ctrl-c and back to the 96/24)

Mar 13 20:33:06 temuko kernel: [  326.579310] 2:1: resetting device
after change 44100 -> 96000

(working fine.  ctrl-c and trying to play both on one aplay line)

Mar 13 20:33:51 temuko kernel: [  372.014273] current rate 96000 is
different from the runtime rate 44100

(oops got alvin and the chipmunks here on the 44.1/16.  here is the
output of the aplay -v)

clh@temuko:~/WavTest$ sudo aplay -vD plughw:CARD=Interface,DEV=0 06* 2L*
Home directory not accessible: Permission denied
Playing WAVE '06_-_Amadou & Mariam_-_Artistiya.wav' : Signed 16 bit
Little Endian, Rate 44100 Hz, Stereo
Plug PCM: Hardware PCM card 2 'Schiit USB Interface' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 44100
  exact rate   : 44100 (44100/1)
  msbits       : 16
  buffer_size  : 22050
  period_size  : 5513
  period_time  : 125011
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 5513
  period_event : 0
  start_threshold  : 22050
  stop_threshold   : 22050
  silence_threshold: 0
  silence_size : 0
  boundary     : 1445068800
  appl_ptr     : 0
  hw_ptr       : 0
^CAborted by signal Interrupt...
clh@temuko:~/WavTest$

(trying again...)

Mar 13 20:35:25 temuko kernel: [  465.674081] 2:1: resetting device
after change 96000 -> 44100

(yep that's fine)^C
clh@temuko:~$

Looking at the messages, I find it odd that the reset doesn't happen
cf. we just jump to the complaint about the rates not matching.

Mar 13 20:33:51 temuko kernel: [  372.014273] current rate 96000 is
different from the runtime rate 44100

I thought maybe there might be something funny in the aplay command
arising from the pattern

aplay <a 96/24>

aplay <a 44.1/16> <a 96/24>

but I tried it again a few times and this time it all worked.  So much
for that idea.

Looking at the code...

Torstein, I am not completely following all the details here but I see
in the patched clock.c

        if (cur_rate != rate) {
                snd_printk(KERN_WARNING
                           "current rate %d is different from the
runtime rate %d\n",
                           cur_rate, rate);
        }

        /* Some devices doesn't respond to sample rate changes while the
         * interface is active. */
        if (cur_rate != prev_rate) {
                switch (chip->usb_id) {
                /* C-Media CM6610/CM6620/CM6631 */

I am not following why you check for cur_rate and rate being unequal
in the first case and cur_rate and prev_rate being unequal in the
second.

Is this intentional, and I'm missing the wonderful subtlety of it all?

--
Chris Hermansen · clhermansen "at" gmail "dot" com

C'est ma façon de parler.

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
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