Subject: Re: retry: NetBSD umidi driver shuns M-Audio / Midiman Midisport 2x4
To: Chapman Flack <flack@cerias.purdue.edu>
From: Giles Lean <giles@nemeton.com.au>
List: tech-kern
Date: 08/27/2004 22:10:42
[ M-Audio dropped from the cc list. ]

Chapman Flack <flack@cerias.purdue.edu> wrote:

> ugen0 at uhub0 port 1
> ugen0: Midiman product 0x1041, rev 1.00/1.00, addr 2

As Tino Wildenhain noted, it probably wants firmware.  I have a M-Audio
Transit which shows up like this before firmware is loaded:

    ugen0 at uhub0 port 2
    ugen0: Unknown Unknown, rev 1.00/1.00, addr 2

With firmware, it's an audio device (of sorts, see later):

    uaudio0 at uhub0 port 2 configuration 1 interface 0: M-Audio Transit USB, rev 1.10/1.00, addr 2
    uaudio0: ignored audio interface with 2 endpoints
    uaudio0: ignored audio interface with 2 endpoints
    uaudio0: ignored setting with type 8193 format
    uaudio0: ignored setting with type 8193 format
    uaudio0: audio rev 1.00
    uaudio0: 4 mixer controls
    audio2 at uaudio0: full duplex, independent

The Transit firmware is contained in a file Ma006100.BIN that M-Audio's
technical support recommended I get from an installation of their
Windows driver.  (First install Windows, then the driver, then clean
off Windows ... yeah, efficent, that was, for a 6KB file.)

I have code that loads the firmware via DFU (Device Firmware Upgrade).
Generalising it to be able to upload to the Midisport would not be much
work, and if you are interested in trying and can locate the relevant
firmware I'll work on the code a bit more and make it available to you.

Note that for the Transit I still have two problems:

a) At the end of a DFU download, the device needs a USB reset.
   I haven't found out how to do that in software, so use the
   trick of pulling the USB cable out enough to drop the signal
   lines without losing power.  It's a kludge for the short term.

b) the Transit appears to have multiple endpoints on its playback
   interfaces, which our uaudio driver doesn't support.

   I'm reading the USB audio standard, but it's slow going as I
   don't normally work with I/O hardware and don't know USB at
   all.  ``Steep learning curve'' is an apt description. :-)
  
Regards,

Giles