Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 6 of 6

Thread: Teensy 3.6 USBHost interfacing Ableton Push2

  1. #1
    Member Van's Avatar
    Join Date
    Mar 2018
    Location
    Dresden, Germany
    Posts
    54

    Teensy 3.6 USBHost interfacing Ableton Push2

    hi there!

    I need some help with the push2 when teensy3.6 acts as a USB host.

    the obvious reason is that push2 uses multiple midi interfaces:

    Code:
    amidi -l
    
    IO  hw:2,0,0  Ableton Push 2 MIDI 1
    IO  hw:2,0,1  Ableton Push 2 MIDI 2
    IO  hw:3,0,0  Arturia KeyStep 32 MIDI 1
    how can i specify the proper midi port?

    cheers!

    PS. Connecting to a "normal" usb midi keyboard works well.
    Last edited by Van; 02-02-2021 at 10:18 PM.

  2. #2
    Member Van's Avatar
    Join Date
    Mar 2018
    Location
    Dresden, Germany
    Posts
    54
    nobody on this?

  3. #3
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    24,080
    Is "push 2" fully USB MIDI class compliant?

    Edit USBHost_t36 to turn on the debug printing. Then capture the huge output and post it here (use the "#" button for code tags).

  4. #4
    Member Van's Avatar
    Join Date
    Mar 2018
    Location
    Dresden, Germany
    Posts
    54
    hey thank you for your attention!
    yes it is class compliant
    https://github.com/Ableton/push-inte...yInterface.asc
    here is my output:
    Code:
    USB Host Testing
    sizeof Device = 36
    sizeof Pipe = 96
    sizeof Transfer = 64
    power up USBHS PHY
    port change: 10001803
        connect
      begin reset
    port change: 18001205
      port enabled
      end recovery
    new_Device: 480 Mbit/sec
    new_Pipe
    enumeration:
    enumeration:
    enumeration:
    Device Descriptor:
      12 01 00 02 00 00 00 40 82 29 67 19 00 01 01 02 00 01 
        VendorID = 2982, ProductID = 1967, Version = 0100
        Class/Subclass/Protocol = 0 / 0 / 0
        Number of Configurations = 1
    enumeration:
    enumeration:
    Manufacturer: Ableton AG
    enumeration:
    Product: Ableton Push 2
    enumeration:
    Config data length = 126
    enumeration:
    Configuration Descriptor:
      09 02 7E 00 03 01 00 80 FA 
        NumInterfaces = 3
        ConfigurationValue = 1
      09 04 00 00 02 FF FF FF 03 
        Interface = 0
        Number of endpoints = 2
        Class/Subclass/Protocol = 255 / 255 / 255
      07 05 01 02 00 02 00 
        Endpoint = 1 OUT
        Type = Bulk
        Max Size = 512
        Polling Interval = 0
      07 05 81 02 00 02 00 
        Endpoint = 1 IN
        Type = Bulk
        Max Size = 512
        Polling Interval = 0
      09 04 01 00 00 01 01 00 00 
        Interface = 1
        Number of endpoints = 0
        Class/Subclass/Protocol = 1 / 1 / 0
      09 24 01 00 01 09 00 01 02 
      09 04 02 00 02 01 03 00 00 
        Interface = 2
        Number of endpoints = 2
        Class/Subclass/Protocol = 1 / 3 / 0
      07 24 01 00 01 25 00 
      06 24 02 01 01 04 
      06 24 02 01 02 05 
      09 24 03 01 03 01 01 01 04 
      09 24 03 01 04 01 02 01 05 
      09 05 02 02 00 02 00 00 00 
        Endpoint = 2 OUT
        Type = Bulk
        Max Size = 512
        Polling Interval = 0
      06 25 01 02 01 02 
      09 05 82 02 00 02 00 00 00 
        Endpoint = 2 IN
        Type = Bulk
        Max Size = 512
        Polling Interval = 0
      06 25 01 02 03 04 
    enumeration:
    USBHub memory usage = 960
    USBHub claim_device this=1FFF2DA0
    USBHub memory usage = 960
    USBHub claim_device this=1FFF3160
    Descriptor 4 = INTERFACE
    MIDIDevice claim this=1FFF2020
    len = 117
    MIDIDevice claim this=1FFF26E0
    len = 117
    Descriptor 5 = ENDPOINT
    Descriptor 5 = ENDPOINT
    Descriptor 4 = INTERFACE
    MIDIDevice claim this=1FFF2020
    len = 94
    MIDIDevice claim this=1FFF26E0
    len = 94
    Descriptor 36 =  ???
    Descriptor 4 = INTERFACE
    MIDIDevice claim this=1FFF2020
    len = 76
      Interface is MIDI
    type: 36, len: 7
        MIDI Header (ignored)
    type: 36, len: 6
        MIDI IN Jack (ignored)
    type: 36, len: 6
        MIDI IN Jack (ignored)
    type: 36, len: 9
        MIDI OUT Jack (ignored)
    type: 36, len: 9
        MIDI OUT Jack (ignored)
    type: 5, len: 9
        MIDI Endpoint: 2
          tx_size = 512
    type: 37, len: 6
        MIDI Endpoint Jack Association (ignored)
    type: 5, len: 9
        MIDI Endpoint: 82
          rx_size = 512
    type: 37, len: 6
        MIDI Endpoint Jack Association (ignored)
    MIDIDevice claim this=1FFF26E0
    len = 76
      Interface is MIDI
    type: 36, len: 7
        MIDI Header (ignored)
    type: 36, len: 6
        MIDI IN Jack (ignored)
    type: 36, len: 6
        MIDI IN Jack (ignored)
    type: 36, len: 9
        MIDI OUT Jack (ignored)
    type: 36, len: 9
        MIDI OUT Jack (ignored)
    type: 5, len: 9
        MIDI Endpoint: 2
          tx_size = 512
    type: 37, len: 6
        MIDI Endpoint Jack Association (ignored)
    type: 5, len: 9
        MIDI Endpoint: 82
          rx_size = 512
    type: 37, len: 6
        MIDI Endpoint Jack Association (ignored)
    Descriptor 36 =  ???
    Descriptor 36 =  ???
    Descriptor 36 =  ???
    Descriptor 36 =  ???
    Descriptor 36 =  ???
    Descriptor 5 = ENDPOINT
    Descriptor 37 =  ???
    Descriptor 5 = ENDPOINT
    Descriptor 37 =  ???
    ...

  5. #5
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    24,080
    Are you using the "BigBuffer" version of the MIDI device driver? This is a 480 MBit speed device, so the normal small buffer driver isn't enough.

  6. #6
    Member Van's Avatar
    Join Date
    Mar 2018
    Location
    Dresden, Germany
    Posts
    54
    Quote Originally Posted by PaulStoffregen View Post
    Are you using the "BigBuffer" version of the MIDI device driver? This is a 480 MBit speed device, so the normal small buffer driver isn't enough.
    how can I set the "BigBuffer" version?

    EDIT: I figured it out: I somehow used an older version of the USBHost_t36 lib. Now it works!
    I updated to the newest github version and replaced ...

    Code:
    MIDIDevice midi1(myusb);
    with
    Code:
    MIDIDevice_BigBuffer midi1(myusb);
    thank you very much for helping me out!

    cheers!
    Last edited by Van; 02-04-2021 at 11:25 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •