Evolution eKeys 37

Evolution eKeys 37 usb midi keyboard. 37 keys, usb connection. Nothing more.

Related pages: Edirol SD-20,

back to gadgets page.

Work log

2021-08-26: I re-created this page on my self-hosted web server.

2011-02-22: under OpenBSD 4.8 / i386, the keyboard shows up like this in /var/log/messages:

Feb 23 00:25:50 home99 /bsd: umidi0 at uhub2
Feb 23 00:25:50 home99 /bsd:  port 4 configuration 1 interface 1 "Evolution Electronics Ltd. USB MIDI keyboard" rev 1.00/2.52 addr 3
Feb 23 00:25:50 home99 /bsd: umidi0: (genuine USB-MIDI)
Feb 23 00:25:50 home99 /bsd: umidi0: out=1, in=1
Feb 23 00:25:50 home99 /bsd: midi0 at umidi0: <USB MIDI I/F>

and usbdevs output:

tingo@home99$ usbdevs -dv -f /dev/usb0 -a 3
Controller /dev/usb0:
addr 3: full speed, self powered, config 1, USB MIDI keyboard(0x00d2), Evolution Electronics Ltd.(0x0a4d), rev 2.52
  umidi0

Nice.

2011-02-20: ok, if I kldload snd_uaudio first, and then plug in the keyboard, I get this in /var/log/messages:

Feb 20 20:10:35 kg-v7 root: Unknown USB device: vendor 0x0a4d product 0x00d2 bus uhub2
Feb 20 20:10:35 kg-v7 kernel: ugen0.3: <Evolution Electronics Ltd.> at usbus0
Feb 20 20:10:35 kg-v7 kernel: uaudio0: <Evolution Electronics Ltd. USB MIDI keyboard, class 0/0, rev 1.00/2.52, addr 3> on usbus0
Feb 20 20:10:35 kg-v7 kernel: uaudio0: No playback!
Feb 20 20:10:35 kg-v7 kernel: uaudio0: No recording!
Feb 20 20:10:35 kg-v7 kernel: uaudio0: MIDI sequencer
Feb 20 20:10:35 kg-v7 kernel: pcm6: <USB audio> on uaudio0

Interesting.

2011-02-20: Under FreeBSD 8.2-prerelease it gives this:

root@kg-v7# uname -a
FreeBSD kg-v7.kg4.no 8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #4: Sun Feb 20 03:18:04 CET 2011     root@kg-v7.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64
root@kg-v7# usbconfig -u 0 -a 3
ugen0.3: <USB MIDI keyboard Evolution Electronics Ltd.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
root@kg-v7#
root@kg-v7# usbconfig -u 0 -a 3 dump_device_desc
ugen0.3: <USB MIDI keyboard Evolution Electronics Ltd.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0100
  bDeviceClass = 0x0000
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0040
  idVendor = 0x0a4d
  idProduct = 0x00d2
  bcdDevice = 0x0252
  iManufacturer = 0x0001  <Evolution Electronics Ltd.>
  iProduct = 0x0002  <USB MIDI keyboard>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001

root@kg-v7# usbconfig -u 0 -a 3 dump_curr_config_desc
ugen0.3: <USB MIDI keyboard Evolution Electronics Ltd.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009
    bDescriptorType = 0x0002
    wTotalLength = 0x0065
    bNumInterfaces = 0x0002
    bConfigurationValue = 0x0001
    iConfiguration = 0x0003  <Audio Class>
    bmAttributes = 0x00c0
    bMaxPower = 0x0000

    Interface 0
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0000
      bInterfaceClass = 0x0001
      bInterfaceSubClass = 0x0001
      bInterfaceProtocol = 0x0000
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x09, 0x24, 0x01, 0x00, 0x01, 0x09, 0x00, 0x01,
       0x08 | 0x01


    Interface 1
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0001
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x0001
      bInterfaceSubClass = 0x0003
      bInterfaceProtocol = 0x0000
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x07, 0x24, 0x01, 0x00, 0x01, 0x41, 0x00


      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump:
       0x00 | 0x06, 0x24, 0x02, 0x01, 0x01, 0x00


      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump:
       0x00 | 0x06, 0x24, 0x02, 0x02, 0x02, 0x00


      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x03
       RAW dump:
       0x00 | 0x09, 0x24, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01,
       0x08 | 0x00

      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x03
       RAW dump:
       0x00 | 0x09, 0x24, 0x03, 0x02, 0x04, 0x01, 0x01, 0x01,
       0x08 | 0x00

     Endpoint 0
        bLength = 0x0009
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0040
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x05, 0x25, 0x01, 0x01, 0x03


     Endpoint 1
        bLength = 0x0009
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0040
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x05, 0x25, 0x01, 0x01, 0x01

That's it.

2010-01-16: Under FreeBSD 8.0-stable, it looks like this:

tingo@kg-v2$ uname -a
FreeBSD kg-v2.kg4.no 8.0-STABLE FreeBSD 8.0-STABLE #1: Wed Jan  6 21:21:40 CET 2010     root@kg-v2.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64

from /var/log/messages:

Jan 16 23:47:34 kg-v2 root: Unknown USB device: vendor 0x0a4d product 0x00d2 bus uhub2
Jan 16 23:47:34 kg-v2 kernel: ugen2.3: <Evolution Electronics Ltd.> at usbus2

from usbconfig:

tingo@kg-v2$ usbconfig -u 2
ugen2.1: <OHCI root HUB nVidia> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen2.2: <Snapscan1212u_2 AGFA> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen2.3: <USB MIDI keyboard Evolution Electronics Ltd.> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON

(ugen2.2 is just my scanner)

2009-01-26: connected the eKeys 37 to a machine running FreeBSD 7.1-prerelease (for completeness):

tingo@kg-work2$ uname -a
FreeBSD kg-work2.kg4.no 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #3: Mon Dec  1 19:10:45 CET 2008     root@kg-work2.kg4.no:/usr/obj/usr/src/sys/SX270  i386

(yes, I know, I should upgrade this machine to 7.1-stable already) From /var/log/messages output:

Jan 26 00:41:28 kg-work2 root: Unknown USB device: vendor 0x0a4d product 0x00d2 bus uhub1
Jan 26 00:41:28 kg-work2 kernel: ugen2: <Evolution Electronics Ltd. USB MIDI keyboard, class 0/0, rev 1.00/2.52, addr 2> on uhub1

From usbdevs -v output:

Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
 port 1 powered
 port 2 addr 2: full speed, self powered, config 1, USB MIDI keyboard(0x00d2), Evolution Electronics Ltd.(0x0a4d), rev 2.52

2009-01-26: connected the eKeys 37 to a machine running NetBSD 5.0 BETA:

$ uname -a
NetBSD kg-v2.kg4.no 5.0_BETA NetBSD 5.0_BETA (GENERIC) #0: Wed Jan 21 10:13:28 PST 2009  builds@wb27:/home/builds/ab/netbsd-5/amd64/200901210002Z-obj/home/builds/ab/netbsd-5/src/sys/arch/amd64/compile/GENERIC amd64

From /var/log/messages output:

Jan 26 00:31:33 kg-v2 /netbsd: uaudio0 at uhub2 port 5 configuration 1 interface 0
Jan 26 00:31:33 kg-v2 /netbsd: : Evolution Electronics Ltd. USB MIDI keyboard, rev 1.00/2.52, addr 2
Jan 26 00:31:33 kg-v2 /netbsd: uaudio0: audio descriptors make no sense, error=4
Jan 26 00:31:33 kg-v2 /netbsd: umidi0 at uhub2 port 5 configuration 1 interface 1
Jan 26 00:31:33 kg-v2 /netbsd: Evolution Electronics Ltd. USB MIDI keyboard, rev 1.00/2.52, addr 2
Jan 26 00:31:33 kg-v2 /netbsd: umidi0: (genuine USB-MIDI)
Jan 26 00:31:33 kg-v2 /netbsd: umidi0: out=1, in=1
Jan 26 00:31:33 kg-v2 /netbsd: midi1 at umidi0: <0 >0 on umidi0

usbdevs output:

kg-v2# usbdevs
addr 1: OHCI root hub, vendor 0x10de
 addr 2: PS2 to USB Converter, CHESEN
addr 1: EHCI root hub, vendor 0x10de
 addr 2: USB 2.0 Reader, Generic
addr 1: OHCI root hub, vendor 0x10de
 addr 2: USB MIDI keyboard, Evolution Electronics Ltd.
addr 1: EHCI root hub, vendor 0x10de

From usbdevs -v output:

Controller /dev/usb2:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), vendor 0x10de(0x10de), rev 1.00
 port 1 powered
 port 2 powered
 port 3 powered
 port 4 powered
 port 5 addr 2: full speed, self powered, config 1, USB MIDI keyboard(0x00d2), Evolution Electronics Ltd.(0x0a4d), rev 2.52
 port 6 powered

2009-01-25: connected the eKeys 37 to a machine running Xubuntu 8.10. From /var/log/messages:

Jan 25 22:32:14 kg-home kernel: [174561.161264] usb 1-2: new full speed USB device using uhci_hcd and address 7
Jan 25 22:32:14 kg-home kernel: [174561.323285] usb 1-2: configuration #1 chosen from 1 choice
tingo@kg-home:~/work$ lsusb -d 0a4d:00d2
Bus 001 Device 007: ID 0a4d:00d2 Evolution Electronics, Ltd E-Keys Driver

output from lsusb -v.

2008-03-15: connected an Evolution eKeys 37 to a machine running FreeBSD 7.0-stable. From /var/log/messages:

Mar 15 19:38:23 kg-i82 kernel: ugen0: <Evolution Electronics Ltd. USB MIDI keyboard, class 0/0, rev 1.00/2.52, addr 2> on uhub0
Mar 15 19:38:24 kg-i82 root: Unknown USB device: vendor 0x0a4d product 0x00d2 bus uhub0

and 'lsusb' output:

root@kg-i82# lsusb
Bus /dev/usb0 Device /dev/ugen0: ID 0a4d:00d2 Evolution Electronics, Ltd