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