Jump to content

MIDImate USB interface


Sasha

Recommended Posts

I recently bought MIDImate - USB MIDI interface/cable for integration into controller I am planing to build. The interface is built into connector which makes it perfect for integration as it will take very little precious space of my controller.

midimate.jpg

I really like it but it`s not working very great always...

Sending/receiving MIDI go without any problems, but sending aplication from MIOS Studio sometimes don`t work. Sending presets to MB6582 from MIDI-ox never worked with it (tried it with 750ms delay and more).  :-\

Is it the problem maybe exceptionally long cable it has. It must be at least 3m long :o For plain MIDI data it obviously is not too much but what about sysx?

I can cut it short and make new connector if it will make a difference. What do you think?

Link to comment
Share on other sites

Sasha,

If it's any help, I run cables that are about that long on a box or two (with MIOSStudio), but I guess there's a million other factors like cable type,etc.

I'd try to eliminate driver/host issues first, if you can run it on a different machine or OS. I've got a MOTU box here that works fine on 98, but will corrupt SysEx streams using its "so called" 2K/XP driver.

Hope you get it working,

George

Link to comment
Share on other sites

hm, I would also tend to Jidis' opinion: this sounds probably more like a driver issue or a chip bug (guess this cable has some kind of converter chip?!) :-\

I would test the device with another operating system; if it works on another OS, there might be an alternative driver available - if not, I'd suspect the chip.

But I'm no expert with electron behaviour in cables, just guessing ;)

Best,

Michael

Link to comment
Share on other sites

At the data rate of MIDI, it would have to be a really bad cable to mess up the signal in 3 metres. You could always put a 'scope on it for a look.

There is a really good set of pages about MIDI delay testing at:Hinton Instruments

His other pages have a lot of good stuff too.

The basic MIDI test plug is an essential.

Link to comment
Share on other sites

hi sasha

i own an older midi mate, that one with the little transparent box and the red silk screened pcb.It works ok also with sysex.

NOTE: you need the driver to send sysex, normal midi will work also without the driver, this for XP.

I am not sure if the chip inside is the same as yours but we could check it out if you pass me the driver, and see if it is the same as the one i ve used with my midi mate.

I can t imagine the guys at audiotrack making a new device which is poorer than the previous in the same line.

simone

Link to comment
Share on other sites

hi again

i went to ESI s web (no audiotrack ! same company though) and it says:

The MIDI cable is compatible with Windows XP and Mac OS X without the hassle of complicated driver installation

now just for sake of it, try to install driver:

http://download.esi-audio.com/?w=esi&p=16&g=4&l=en

and see if it recognizes the interface.You could also try the RomI/O drivers.

Simone

Link to comment
Share on other sites

I`ll install the drivers, but didn`t tried it before as it was recognized by XP and plain MIDI worked OK but worth trying. I cut the cable off the interface and will  solder new USB plug on 10cm long cable as it will be connected to the USB hub inside of controller.

Mike, thanks for the links. ;)

Link to comment
Share on other sites

hi

after i got a midimate,  i bought a cheaper interface of the same kind from ebay, when i asked the vendor for the driver for XP he pointed me out to... the audiotrack (now esi) website.!! when i opened the little box with the chips all the chips were "sanded" on the top so that you couldn t read the chips names. no need for explanation eh? ;)

the chip on the midimate is a TAS1020B

usb_device.product_id  4096 (0x1000)

usb.vendor_id  2706 (0xa92)

Link to comment
Share on other sites

VID and PID are not sufficient - the driver doesn't find the device.

I need to know more details - they can be determined with USBview (a Microsoft utility) which can be downloaded from here http://www.ftdichip.com/Resources/Utilities/usbview.zip (and various other locations)

Important: enable Options->Config Descriptors and Options->Location IDs

Thereafter File->Refresh (or press F5)

Search the MIDI device in the USB tree, and post the content of the information window as in this example:


Device Descriptor:
bcdUSB:            0x0200
bDeviceClass:        0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x40 (64)
idVendor:          0x0A92
idProduct:          0x1000
bcdDevice:          0x0001
iManufacturer:        0x01
0x0409: "Thorsten Klose"
iProduct:            0x02
0x0409: "MBHP USB"
0x0409: "MBHP USB"
iSerialNumber:        0x00
bNumConfigurations:  0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:    Full
Device Address:      0x03
Open Pipes:              2

Endpoint Descriptor:
bEndpointAddress:    0x02
Transfer Type:        Bulk
wMaxPacketSize:    0x0008 (8)
wInterval:          0x0000
bSyncAddress:        0x00

Endpoint Descriptor:
bEndpointAddress:    0x82
Transfer Type:        Bulk
wMaxPacketSize:    0x0040 (64)
wInterval:          0x0000
bSyncAddress:        0x00

Configuration Descriptor:
wTotalLength:      0x0053
bNumInterfaces:      0x01
bConfigurationValue:  0x01
iConfiguration:      0x03
0x0409: "T.Klose MBHP USB"
bmAttributes:        0x80 (Bus Powered )
MaxPower:            0x10 (32 Ma)

Interface Descriptor:
bInterfaceNumber:    0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x01 (Audio)
bInterfaceSubClass:  0x03 (MIDI Streaming)
bInterfaceProtocol:  0x00
iInterface:          0x02
0x0409: "MBHP USB"
0x0409: "MBHP USB"

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x07
07 24 00 00 01 41 00

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x06
06 24 02 01 01 00

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x06
06 24 02 02 02 00

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x09
09 24 03 01 03 01 02 01 00

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x09
09 24 03 02 04 01 01 01 00

Endpoint Descriptor:
bEndpointAddress:    0x02
Transfer Type:        Bulk
wMaxPacketSize:    0x0008 (8)
wInterval:          0x0000
bSyncAddress:        0x00

Unknown Descriptor:
bDescriptorType:      0x25
bLength:              0x05
05 25 01 01 01

Endpoint Descriptor:
bEndpointAddress:    0x82
Transfer Type:        Bulk
wMaxPacketSize:    0x0040 (64)
wInterval:          0x0000
bSyncAddress:        0x00

Unknown Descriptor:
bDescriptorType:      0x25
bLength:              0x05
05 25 01 01 03
[/code]

Best Regards, Thorsten.

Link to comment
Share on other sites

Thank you!

The device will be detected now by the installation software after I changed the product ID (so that it matches with the .inf file), but the driver fails, probably because the I'm using different endpoints. Therfore I need more informations (which are given by usbview - Sasha: if you find the time... :))

Cimo: under Linux you can request the complete descriptors the following way.

First type "lsusb" to display connected USB devices - example:


# lsusb
Bus 001 Device 003: ID 046d:c016 Logitech, Inc. M-UV69a Optical Wheel Mouse
Bus 001 Device 001: ID 0000:0000 
Bus 004 Device 001: ID 0000:0000 
Bus 003 Device 001: ID 0000:0000 
Bus 002 Device 002: ID 0a92:1001 EGO SYStems, Inc.
Bus 002 Device 001: ID 0000:0000 
[/code] Thereafter request the descriptors of the "EGO SYStems" device the following way:
[code]
# lsusb -v -d 0a92:
Bus 002 Device 002: ID 0a92:1001 EGO SYStems, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0a92 EGO SYStems, Inc.
  idProduct          0x1001
  bcdDevice            1.01
  iManufacturer           1
  iProduct                2
  iSerial                 4
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          101
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          3
    bmAttributes         0x80
    MaxPower               32mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0
      iInterface              2
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength            9
        bInCollection           1
        baInterfaceNr( 0)       1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         1 Audio
      bInterfaceSubClass      3 MIDI Streaming
      bInterfaceProtocol      0
      iInterface              2
      MIDIStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength           65
      MIDIStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (MIDI_IN_JACK)
        bJackType               1 Embedded
        bJackID                 1
        iJack                   0
      MIDIStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (MIDI_IN_JACK)
        bJackType               2 External
        bJackID                 2
        iJack                   0
      MIDIStreaming Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (MIDI_OUT_JACK)
        bJackType               1 Embedded
        bJackID                 3
        bNrInputPins            1
        baSourceID( 0)          2
        BaSourcePin( 0)         1
        iJack                   0
      MIDIStreaming Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (MIDI_OUT_JACK)
        bJackType               2 External
        bJackID                 4
        bNrInputPins            1
        baSourceID( 0)          1
        BaSourcePin( 0)         1
        iJack                   0
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               0
        bRefresh                0
        bSynchAddress           0
        MIDIStreaming Endpoint Descriptor:
          bLength                 5
          bDescriptorType        37
          bDescriptorSubtype      1 (GENERAL)
          bNumEmbMIDIJack         1
          baAssocJackID( 0)       1
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
        bRefresh                0
        bSynchAddress           0
        MIDIStreaming Endpoint Descriptor:
          bLength                 5
          bDescriptorType        37
          bDescriptorSubtype      1 (GENERAL)
          bNumEmbMIDIJack         1
          baAssocJackID( 0)       3

Best Regards, Thorsten.

Link to comment
Share on other sites

i had to log as root to get the device status:

simone@lab:~$ sudo lsusb -v -d 0a92:

[sudo] password for simone:

Bus 001 Device 004: ID 0a92:1000 EGO SYStems, Inc.

Device Descriptor:

  bLength                18

  bDescriptorType        1

  bcdUSB              1.10

  bDeviceClass            0 (Defined at Interface level)

  bDeviceSubClass        0

  bDeviceProtocol        0

  bMaxPacketSize0        8

  idVendor          0x0a92 EGO SYStems, Inc.

  idProduct          0x1000

  bcdDevice            1.01

  iManufacturer          1 Ego Systems Inc

  iProduct                2 XP MIDI mate

  iSerial                3 ct02090990

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                9

    bDescriptorType        2

    wTotalLength          101

    bNumInterfaces          2

    bConfigurationValue    1

    iConfiguration          0

    bmAttributes        0x80

      (Bus Powered)

    MaxPower              100mA

    Interface Descriptor:

      bLength                9

      bDescriptorType        4

      bInterfaceNumber        0

      bAlternateSetting      0

      bNumEndpoints          0

      bInterfaceClass        1 Audio

      bInterfaceSubClass      1 Control Device

      bInterfaceProtocol      0

      iInterface              0

      AudioControl Interface Descriptor:

        bLength                9

        bDescriptorType        36

        bDescriptorSubtype      1 (HEADER)

        bcdADC              1.00

        wTotalLength            9

        bInCollection          1

        baInterfaceNr( 0)      1

    Interface Descriptor:

      bLength                9

      bDescriptorType        4

      bInterfaceNumber        1

      bAlternateSetting      0

      bNumEndpoints          2

      bInterfaceClass        1 Audio

      bInterfaceSubClass      3 MIDI Streaming

      bInterfaceProtocol      0

      iInterface              0

      MIDIStreaming Interface Descriptor:

        bLength                7

        bDescriptorType        36

        bDescriptorSubtype      1 (HEADER)

        bcdADC              1.00

        wTotalLength        16640

      MIDIStreaming Interface Descriptor:

        bLength                6

        bDescriptorType        36

        bDescriptorSubtype      2 (MIDI_IN_JACK)

        bJackType              1 Embedded

        bJackID                1

        iJack                  0

      MIDIStreaming Interface Descriptor:

        bLength                6

        bDescriptorType        36

        bDescriptorSubtype      2 (MIDI_IN_JACK)

        bJackType              2 External

        bJackID                2

        iJack                  0

      MIDIStreaming Interface Descriptor:

        bLength                9

        bDescriptorType        36

        bDescriptorSubtype      3 (MIDI_OUT_JACK)

        bJackType              1 Embedded

        bJackID                3

        bNrInputPins            1

        baSourceID( 0)          2

        BaSourcePin( 0)        1

        iJack                  0

      MIDIStreaming Interface Descriptor:

        bLength                9

        bDescriptorType        36

        bDescriptorSubtype      3 (MIDI_OUT_JACK)

        bJackType              2 External

        bJackID                4

        bNrInputPins            1

        baSourceID( 0)          1

        BaSourcePin( 0)        1

        iJack                  0

      Endpoint Descriptor:

        bLength                9

        bDescriptorType        5

        bEndpointAddress    0x01  EP 1 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type              None

          Usage Type              Data

        wMaxPacketSize    0x0040  1x 64 bytes

        bInterval              0

        bRefresh                0

        bSynchAddress          0

        MIDIStreaming Endpoint Descriptor:

          bLength                5

          bDescriptorType        37

          bDescriptorSubtype      1 (GENERAL)

          bNumEmbMIDIJack        1

          baAssocJackID( 0)      1

      Endpoint Descriptor:

        bLength                9

        bDescriptorType        5

        bEndpointAddress    0x82  EP 2 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type              None

          Usage Type              Data

        wMaxPacketSize    0x0040  1x 64 bytes

        bInterval              0

        bRefresh                0

        bSynchAddress          0

        MIDIStreaming Endpoint Descriptor:

          bLength                5

          bDescriptorType        37

          bDescriptorSubtype      1 (GENERAL)

          bNumEmbMIDIJack        1

          baAssocJackID( 0)      3

Device Status:    0x0000

  (Bus Powered)

simone@lab:~$

Link to comment
Share on other sites

Thorsten, here is the info you need. I expected I`ll see the midimate on the list, but it appears as the "USB Composite Device"  ??? The first time I connected the interface to the computer XP recognized it is midimate and it initialized it properly so It is strange it is not appears as the midimate. I`ll download and install the drivers and will check if there is any difference.

Just ask if there is anything else I can do.

Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x08 (8)
idVendor:           0x0A92
idProduct:          0x1001
bcdDevice:          0x0104
iManufacturer:        0x01
0x0409: "ESI"
iProduct:             0x02
0x0409: "ESI MIDI Mate"
iSerialNumber:        0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:      Low
Device Address:       0x01
Open Pipes:              2

Endpoint Descriptor:
bEndpointAddress:     0x81
Transfer Type:        Bulk
wMaxPacketSize:     0x0004 (4)
wInterval:          0x0000
bSyncAddress:         0x00

Endpoint Descriptor:
bEndpointAddress:     0x01
Transfer Type:        Bulk
wMaxPacketSize:     0x0004 (4)
wInterval:          0x0000
bSyncAddress:         0x00

Configuration Descriptor:
wTotalLength:       0x0065
bNumInterfaces:       0x02
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0x80 (Bus Powered )
MaxPower:             0x0A (20 Ma)

Interface Descriptor:
bInterfaceNumber:     0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x00
bInterfaceClass:      0x01 (Audio)
bInterfaceSubClass:   0x01 (Audio Control)
bInterfaceProtocol:   0x00
iInterface:           0x00

Audio Control Interface Header Descriptor:
bLength:              0x09
bDescriptorType:      0x24
bDescriptorSubtype:   0x01
bcdADC:             0x0100
wTotalLength:       0x0009
bInCollection:        0x01
baInterfaceNr[1]:     0x01

Interface Descriptor:
bInterfaceNumber:     0x01
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x01 (Audio)
bInterfaceSubClass:   0x03 (MIDI Streaming)
bInterfaceProtocol:   0x00
iInterface:           0x00

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x07
07 24 01 00 01 41 00 

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x06
06 24 02 01 01 00 

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x06
06 24 02 02 02 00 

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x09
09 24 03 01 03 01 02 01 00 

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x09
09 24 03 02 04 01 01 01 00 

Endpoint Descriptor:
bEndpointAddress:     0x81
Transfer Type:        Bulk
wMaxPacketSize:     0x0004 (4)
wInterval:          0x0000
bSyncAddress:         0x00

Unknown Descriptor:
bDescriptorType:      0x25
bLength:              0x05
05 25 01 01 03 

Endpoint Descriptor:
bEndpointAddress:     0x01
Transfer Type:        Bulk
wMaxPacketSize:     0x0004 (4)
wInterval:          0x0000
bSyncAddress:         0x00

Unknown Descriptor:
bDescriptorType:      0x25
bLength:              0x05
05 25 01 01 01 

Link to comment
Share on other sites

Ok, I checked it with EP1 but the driver still fails - I guess because ESI has integrated some kind of protection. However, if anybody ever hears about a free USB-MIDI driver for windows, please let me know.

Thorsten, here is the info you need. I expected I`ll see the midimate on the list, but it appears as the "USB Composite Device"  ???

Thats fine! It's the standard driver which comes with Windows.

The first time I connected the interface to the computer XP recognized it is midimate and it initialized it properly so It is strange it is not appears as the midimate. I`ll download and install the drivers and will check if there is any difference.

I should work fine with the ESI driver

Best Regards, Thorsten.

Link to comment
Share on other sites

  • 2 months later...

glad to reopen this thread but i've problem with mios studio and my ESI Rom I/O 2.

mios studio don't recognize the midi ports of it.  :'(

p.s. this device it's drivers free under windows

solved using Rom I/O 1st release that come with own drivers.

pp.ss. Rom I/O 2 use the OS Usb/Audio drivers, mac & win, who can explain me why MIOS Studio do not recognize it?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...