<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Dear Linux Audio Dev Team,</p>
    <p>I am looking to re implement and publish with the help of
      Wireshark a software like Line6 PODHD 500x Edit for my POD HD500X
      (modification of guitar pedal effects). To do this I need to claim
      the usb interface that is already used by the snd-usb-podhd and
      redo the initialisation, also already done by snd-usb-podhd.
      Therefore, to have both the audio and the pedal management I would
      need to modify the module mentioned above. This would aim to
      create a bridge between kernel and the userspace, that redirects
      the usb urb bulk requests that are not used by the audio part, to
      an interface (only isochronous is used after the init).<br>
    </p>
    <p>In the objective to be merged upstream in the future, how should
      I proceed:</p>
    <ul>
      <li>Use midi interfaces and create a fake one, knowing that the
        proprietary but readable protocol is not midi compliant?</li>
      <li>Create a char device for the podhd pedal boards? Within the
        same module?<br>
      </li>
      <li>Other suggestions?</li>
    </ul>
    <p>In the same way, I am looking for suggestion regarding the data
      transmitted within this interface. Would something like struct
      {int message_len, char * data} be sufficient to be transmitted at
      every urb bulk request?</p>
    <p>Thanks in advance,</p>
    <p>Nicolas SCHWARTZ<br>
    </p>
    <p>PS: I can share with you my test code and my current analysis on
      the messages sent/received by the pod when clicking on
      buttons/sending message from the PC, if needed.<br>
    </p>
  </body>
</html>