All of lore.kernel.org
 help / color / mirror / Atom feed
* Xone43C: USB communication
@ 2021-06-08  6:43 Roman Muller
  2021-06-08 18:36 ` Geraldo Nascimento
  2021-06-27  4:21 ` Olivia Mackintosh
  0 siblings, 2 replies; 5+ messages in thread
From: Roman Muller @ 2021-06-08  6:43 UTC (permalink / raw)
  To: alsa-devel

Hello Geraldo, hello all,

sorry for spamming the list with such minuscule details.
Thank you for your message! I did not hear from other people yet,
so it's probably safe to assume that no one else is already working on it.
Adding a section to the quirks-table does not help, the vendor-specific
interfaces still don't work. Obviously they need extra initialization.

Next step: sniffing again while running Windows in the vm.
The interesting stuff is going on here:
https://drive.google.com/file/d/1IlkR4ey9Gwsdrrf6jfOwNUVDtGcl_93-
(Full log: https://drive.google.com/file/d/1VmSGVk8V1saw7qdPfbOH2d4HmZTrlzxj)

From this I see several URB control messages going back and forth, for example
the host sending 80bbf0, and the device responding accordingly. A bit later,
and after sending 44ac00 six times (hola!?!?) I get isodesc[0-7] cross-device
link for input; and once more for output, and the device reports success. These
appear to be my eight channels. So far, so good for a first basic overview of
the structure, but the tricky part is figuring out what message is doing what.
Only the manufacturer knows it, I need experiment and guessing
with a lot of time and luck.
Is there a common agreement where in the source code such control
messages should be put? Probably an extra file?

Best,
Roman

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Xone43C: USB communication
  2021-06-08  6:43 Xone43C: USB communication Roman Muller
@ 2021-06-08 18:36 ` Geraldo Nascimento
  2021-06-27  4:21 ` Olivia Mackintosh
  1 sibling, 0 replies; 5+ messages in thread
From: Geraldo Nascimento @ 2021-06-08 18:36 UTC (permalink / raw)
  To: Roman Muller; +Cc: alsa-devel

On Tue, Jun 8, 2021 at 3:44 AM Roman Muller <klangrausch@wolke7.net> wrote:
>
> Hello Geraldo, hello all,
>
> sorry for spamming the list with such minuscule details.

Hi Roman, don't worry, your message is on topic...

> Thank you for your message! I did not hear from other people yet,
> so it's probably safe to assume that no one else is already working on it.
> Adding a section to the quirks-table does not help, the vendor-specific
> interfaces still don't work. Obviously they need extra initialization.
>
> Next step: sniffing again while running Windows in the vm.
> The interesting stuff is going on here:
> https://drive.google.com/file/d/1IlkR4ey9Gwsdrrf6jfOwNUVDtGcl_93-
> (Full log: https://drive.google.com/file/d/1VmSGVk8V1saw7qdPfbOH2d4HmZTrlzxj)
>
> From this I see several URB control messages going back and forth, for example
> the host sending 80bbf0, and the device responding accordingly. A bit later,
> and after sending 44ac00 six times (hola!?!?) I get isodesc[0-7] cross-device
> link for input; and once more for output, and the device reports success. These
> appear to be my eight channels. So far, so good for a first basic overview of
> the structure, but the tricky part is figuring out what message is doing what.

Your Xone:43C doesn't seem so esoteric from the usbmon capture you gave.

Is your capture complete from a software standpoint? i.e. are you
starting Serato or Traktor on the VM while doing the usbmon capture?

80bbf0 is just the data fragment, you need to replicate the whole
Setup Data of the packet.

> Only the manufacturer knows it, I need experiment and guessing
> with a lot of time and luck.

You probably don't really need to know for now what these control
messages are. There's a good chance replicating them is enough.

> Is there a common agreement where in the source code such control
> messages should be put? Probably an extra file?

I think you should worry for now in getting your device to work. Then
you share the patch with the maintainers and they will help you write
the best code possible.

But sound/usb/quirks.c seems like a good place to get started.

All the best,
Geraldo Nascimento

>
> Best,
> Roman

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Xone43C: USB communication
  2021-06-08  6:43 Xone43C: USB communication Roman Muller
  2021-06-08 18:36 ` Geraldo Nascimento
@ 2021-06-27  4:21 ` Olivia Mackintosh
  1 sibling, 0 replies; 5+ messages in thread
From: Olivia Mackintosh @ 2021-06-27  4:21 UTC (permalink / raw)
  To: Roman Muller; +Cc: alsa-devel

Dear Roman,

Thanks for reaching out to the list and starting to analyze your
device. 

> sorry for spamming the list with such minuscule details.
> Thank you for your message! I did not hear from other people yet,

No need to apologize.

> From this I see several URB control messages going back and forth, for example
> the host sending 80bbf0, and the device responding accordingly. A bit later,
> and after sending 44ac00 six times (hola!?!?)

At least one of those is to set the sample-rate:
      44100(Hz) is 0x00ac44 (44ac00 is the little endian)

Most likely you will need to set the sample rate of the device similar
to the Pioneer devices. Take a look at pioneer_djm_set_format_quirk() in
sound/usb/quirks.c to see how the URB is being constructed for DJM
mixers.

> Only the manufacturer knows it, I need experiment and guessing
> with a lot of time and luck.

You will figure out that soon enough with perseverance! Do reach out on
the list as there are folks willing to help out but a lot of us do it in
our spare time so might be somewhat slow to respond.

> Is there a common agreement where in the source code such control
> messages should be put? Probably an extra file?

It does vary depending on the specifics of the device but the
maintainers seem to prefer keeping as generic as possible and putting
quirks related things in quirks-table.h and quirks.c for anything device
specific. I probably wouldn't start a different file just for your
device if you can avoid it.

-- 
Kind regards,
Olivia Mackintosh

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Xone43C: USB communication
  2021-06-14  5:32 Roman Muller
@ 2021-06-14 22:58 ` Geraldo Nascimento
  0 siblings, 0 replies; 5+ messages in thread
From: Geraldo Nascimento @ 2021-06-14 22:58 UTC (permalink / raw)
  To: Roman Muller; +Cc: alsa-devel

On Mon, Jun 14, 2021 at 2:32 AM Roman Muller <klangrausch@wolke7.net> wrote:
>
> Hello Gerardo, hello all of you,
>
> > Is your capture complete from a software standpoint? i.e. are you
> > starting Serato or Traktor on the VM while doing the usbmon capture?
>
> Not tested yet, I need to get a few items for that and investigate the
> matter! It is complete up to loading the Win10 driver (which has been
> supplied by the manufacturer). Maybe I am lucky and
> this is already sufficient.

I hope you are lucky and there isn't any more magic than what you have
already captured.

So, the process at least theoretically is to put the URB CONTROLs
inside sound/usb/quirks.c and remember that it may be necessary to put
your vendor specs EPs with altsetting etc. inside
sound/usb/quirks-table.h too.

Good luck, Roman!

>
> Have a nice day,
> Roman

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Xone43C: USB communication
@ 2021-06-14  5:32 Roman Muller
  2021-06-14 22:58 ` Geraldo Nascimento
  0 siblings, 1 reply; 5+ messages in thread
From: Roman Muller @ 2021-06-14  5:32 UTC (permalink / raw)
  To: alsa-devel; +Cc: Geraldo Nascimento

   Hello Gerardo, hello all of you,

   > Is your capture complete from a software standpoint? i.e. are you
   > starting Serato or Traktor on the VM while doing the usbmon capture?

   Not tested yet, I need to get a few items for that and investigate the
   matter! It is complete up to loading the Win10 driver (which has been
   supplied by the manufacturer). Maybe I am lucky and
   this is already sufficient.

   Have a nice day,
   Roman

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-06-27  4:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-08  6:43 Xone43C: USB communication Roman Muller
2021-06-08 18:36 ` Geraldo Nascimento
2021-06-27  4:21 ` Olivia Mackintosh
2021-06-14  5:32 Roman Muller
2021-06-14 22:58 ` Geraldo Nascimento

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.