Re: Two exact same drumpads, different USB ID's

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Attached the output of lsusb -vvv of both devices. hid-device.txt is the output of the drum pad that gets recognized as a USB hid device and midi-device.txt is the output of the pad that gets recognized as a USB midi device.

Regards,

Jeremy

On 03/03/2013 01:26 PM, Jeremy Jongepier wrote:
Dear all,

I got two cheap drumpads here that are _exactly_ the same, also on the
inside (PCB's have the same revision ID):
http://dx.com/p/portable-roll-up-usb-drum-kit-118841
But they get recognized differently, one as an USB MIDI device and the
other as an USB HID device. And when it gets recognized as a HID device
it's pretty useless because I can't hook it up easily to software that
accepts MIDI input.

This is the "working" drumpad (the one that gets recognized as an USB
MIDI device):
/var/log/syslog:
Mar  3 13:09:40 piertje kernel: [  864.820341] usb 5-2: new full-speed
USB device number 2 using uhci_hcd
Mar  3 13:09:40 piertje mtp-probe: checking bus 5, device 2:
"/sys/devices/pci0000:00/0000:00:1d.0/usb5/5-2"
Mar  3 13:09:40 piertje mtp-probe: bus: 5, device: 2 was not an MTP device
Mar  3 13:09:40 piertje kernel: [  865.123664] usbcore: registered new
interface driver snd-usb-audio
Mar  3 13:09:40 piertje pulseaudio[2044]: [pulseaudio]
module-alsa-card.c: Failed to find a working profile.
Mar  3 13:09:40 piertje pulseaudio[2044]: [pulseaudio] module.c: Failed
to load module "module-alsa-card" (argument: "device_id="1"
name="usb-UTECK_MIDI_DRUM-00-DRUM"
card_name="alsa_card.usb-UTECK_MIDI_DRUM-00-DRUM" namereg_fail=false
tsched=yes ignore_dB=no deferred_volume=yes
card_properties="module-udev-detect.discovered=1""): initialization failed.

lsusb:
Bus 005 Device 002: ID 0218:0001 Hangzhou Worlde

This is the non working drumpad:
/var/log/syslog:
Mar  2 20:49:45 piertje kernel: [ 3040.388297] usb 5-1: new full-speed
USB device number 7 using uhci_hcd
Mar  2 20:49:45 piertje mtp-probe: checking bus 5, device 7:
"/sys/devices/pci0000:00/0000:00:1d.0/usb5/5-1"
Mar  2 20:49:45 piertje mtp-probe: bus: 5, device: 7 was not an MTP device
Mar  2 20:49:45 piertje kernel: [ 3040.602562] generic-usb
0003:1941:8021.0001: hiddev0,hidraw0: USB HID v1.10 Device
[HID 1941:8021] on usb-0000:00:1d.0-1/input0

lsusb:
Bus 005 Device 005: ID 1941:8021 Dream Link WH1080 Weather Station / USB
Missile Launcher

So my questions are, why does this happen? The PCB is extremely simple
and only has one small IC. Is the USB ID determined by this IC? And the
big question, can I trick this non working pad to get recognized as a
valid USB MIDI device? I already looked into this (unbinding, binding,
new_id) but can't get it to work. And I'm 100% sure these pads are
exactly the same.
I could use this: https://code.google.com/p/drumroll/
But I get the idea this is not necessary. drumroll also already consumes
4% CPU on my notebook and I want to use this drumpad with my Raspberry
Pi, besides, it's extra overhead and only runs SUID.
So anybody any idea how I could trick my system in properly recognizing
this non working drumpad? I don't mind hacking kernel modules if that
would be necessary.

Thanks in advance,

Jeremy
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user

Bus 005 Device 003: ID 1941:8021 Dream Link WH1080 Weather Station / USB Missile Launcher
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x1941 Dream Link
  idProduct          0x8021 WH1080 Weather Station / USB Missile Launcher
  bcdDevice            1.00
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      52
          Report Descriptor: (length is 52)
            Item(Global): Usage Page, data= [ 0xa0 0xff ] 65440
                            (null)
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Local ): Usage, data= [ 0x02 ] 2
                            (null)
            Item(Main  ): Collection, data= [ 0x00 ] 0
                            Physical
            Item(Global): Usage Page, data= [ 0xa1 0xff ] 65441
                            (null)
            Item(Local ): Usage, data= [ 0x03 ] 3
                            (null)
            Item(Local ): Usage, data= [ 0x04 ] 4
                            (null)
            Item(Global): Logical Minimum, data= [ 0x80 ] 128
            Item(Global): Logical Maximum, data= [ 0x7f ] 127
            Item(Global): Physical Minimum, data= [ 0x00 ] 0
            Item(Global): Physical Maximum, data= [ 0xff ] 255
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x08 ] 8
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Local ): Usage, data= [ 0x05 ] 5
                            (null)
            Item(Local ): Usage, data= [ 0x06 ] 6
                            (null)
            Item(Global): Logical Minimum, data= [ 0x80 ] 128
            Item(Global): Logical Maximum, data= [ 0x7f ] 127
            Item(Global): Physical Minimum, data= [ 0x00 ] 0
            Item(Global): Physical Maximum, data= [ 0xff ] 255
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x08 ] 8
            Item(Main  ): Output, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
            Item(Main  ): End Collection, data=none
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0005
  Self Powered
  Test Mode
Bus 005 Device 002: ID 0218:0001 Hangzhou Worlde 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0218 Hangzhou Worlde
  idProduct          0x0001 
  bcdDevice            1.00
  iManufacturer           1 UTECK
  iProduct                2 MIDI DRUM
  iSerial                 0 
  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           65
      MIDIStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (MIDI_IN_JACK)
        bJackType               1 Embedded
        bJackID                 0
        iJack                   0 
      MIDIStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (MIDI_IN_JACK)
        bJackType               2 External
        bJackID                 1
        iJack                   0 
      MIDIStreaming Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (MIDI_OUT_JACK)
        bJackType               1 Embedded
        bJackID                 2
        bNrInputPins            1
        baSourceID( 0)          1
        BaSourcePin( 0)         1
        iJack                   0 
      MIDIStreaming Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (MIDI_OUT_JACK)
        bJackType               2 External
        bJackID                 3
        bNrInputPins            1
        baSourceID( 0)          0
        BaSourcePin( 0)         1
        iJack                   0 
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        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)       2
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 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)       0
Device Status:     0x0005
  Self Powered
  Test Mode
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux