* Re: [Alsa-user] snd-usb-caiaq (NI Maschine Mikro) device not recognised by alsa
[not found] ` <55EC7191.8020107@googlemail.com>
@ 2015-09-19 9:20 ` sypwex
2015-09-21 17:09 ` Daniel Mack
0 siblings, 1 reply; 7+ messages in thread
From: sypwex @ 2015-09-19 9:20 UTC (permalink / raw)
To: Clemens Ladisch; +Cc: alsa-user, alsa-devel, daniel, sypwex
ow, sorry! I not mentioned that there is no PID of Maschine Mikro (0x1110)
in caiaq device list
*https://github.com/torvalds/linux/blob/v4.2/sound/usb/caiaq/device.h
<https://github.com/torvalds/linux/blob/v4.2/sound/usb/caiaq/device.h>*
yes there is some endless dump from usbhid but I don't know how to deal
with it
$sudo usbhid-dump --entity=all --address=1:15
http://pastebin.com/raw.php?i=KC96ERSV (300KiB)
ok, I've tried to extend the driver and end up with following doodad
https://github.com/krasnobaev/linux/commits/feature/caiaq-mmikro-1
for every commit I've generated dmesg log
*http://pastebin.com/raw.php?i=pJzdAyf4
<http://pastebin.com/raw.php?i=pJzdAyf4>*
$amidi -l
have no devices
$cat /proc/asound/cards
4 [MaschineMikro ]: snd-usb-caiaq - Maschine Mikro
Native Instruments Maschine Mikro (usb-0000:00:02.1-8)
$cat /proc/asound/devices
24: [ 4] : control
$cat /proc/asound/oss/sndstat
Sound Driver:3.8.1a-980706 (ALSA emulation code)
Kernel: Linux ***** 3.19.0+ #1 SMP Sun Sep 13 10:44:23 MSK 2015 x86_64
Config options: 0
Installed drivers:
Type 10: ALSA emulation
Card config:
X-Fi Extreme Audio [SB0790] at 0xdc00 irq 18
HDA NVidia at 0xfcf7c000 irq 19
Aureal Vortex au8810 at 0xfbfc0000 irq 17
Webcam C170 at usb-0000:00:02.1-4, high speed
Native Instruments Maschine Mikro (usb-0000:00:02.1-8)
Audio devices:
0: CA0106 (DUPLEX)
2: au8810 adb (DUPLEX)
3: USB Audio
Synth devices: NOT ENABLED IN CONFIG
Midi devices:
0: CA0106 MPU-401 (UART)
2: au8810 MIDI 2
Timers:
31: system timer
Mixers:
0: CA0106
1: Nvidia GPU 1c HDMI/DP
2: Wolfson WM9701,WM9701A
3: USB Mixer
4: Maschine Mikro
$cat /proc/asound/oss/devices
64: [4- 0]: mixer
So, currently customized driver fails (all info in dmesg log) on every
usb_submit_urb and usb_set_interface functions, so I've decided to watch
wireshark usb logs of windows driver
filtered windows log (usb.transfer_type != 0x01) && (usb.device_address ==
3)
http://filebin.ca/2G6kerv8x9TD/usbpcap-maschine-mikro-win7-x86-3maschinesoftw-usb.transfer_type0x01usb.device_address3.txt
RAW
http://filebin.ca/2G6g6civjKfI/usbpcap-maschine-mikro-win7-x86-3maschinesoftw.pcap
filtered log for custom driver
http://filebin.ca/2G6kFZxgTTKR/usbpcap-maschine-mikro-ubuntu15.04-linux3.19-x64-caiaq-mmikro-1-31d6809-usb.device_address10usb.transfer_type0x01.txt
RAW
http://filebin.ca/2G6oNuU6c6b5/usbpcap-maschine-mikro-ubuntu15.04-linux3.19-x64-caiaq-mmikro-1-31d6809.pcapng
the difference is...
- windows driver do not send SET INTERFACE request while native caiaq
driver is.
- windows driver receives Response and Status on each request while caiaq
recieves only Response
- windows driver send two GET_REPORT with wValues: 0x03f8 and 0x0101 while
caiaq driver sends three GET_REPORT requests with wValues: 0x0101, 0x0120,
0x03f8
- windows send 3 SET_REPORT requests with same wValue 0x03f8 while caiaq
driver do not send any SET_REPORT request
I do not know what means these wValues (0x0101, 0x0120, 0x03f8) and how to
find out.
Is there probability if linux driver send SET_REPORT requests in the same
way as do windows driver - the device will set up correctly?
How to send SET REPORT request?
I believe that there is no big difference between Maschine Controller and
Maschine Mikro.
BUT
there is no Maschine Mikro on caiaq portfolio
http://caiaq.de/references_en.html
On Sun, Sep 6, 2015 at 8:02 PM, Clemens Ladisch <cladisch@googlemail.com>
wrote:
> sypwex wrote:
> > Native Instruments Mashine Mikro which is snd-usb-caiaq.
>
> No it's not; the Maschine Mikro is not the same as the Maschine Controller.
>
> As far as I can see from your lsusb output, the Mikro either works as
> a HID input device, or needs a separate driver. To check the first
> possibility, try a tool like <https://github.com/DIGImend/usbhid-dump>.
>
>
> Regards,
> Clemens
>
Cheers.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Alsa-user] snd-usb-caiaq (NI Maschine Mikro) device not recognised by alsa
2015-09-19 9:20 ` [Alsa-user] snd-usb-caiaq (NI Maschine Mikro) device not recognised by alsa sypwex
@ 2015-09-21 17:09 ` Daniel Mack
2015-09-21 20:10 ` sypwex
0 siblings, 1 reply; 7+ messages in thread
From: Daniel Mack @ 2015-09-21 17:09 UTC (permalink / raw)
To: sypwex, Clemens Ladisch; +Cc: alsa-user, alsa-devel, daniel
On 09/19/2015 11:20 AM, sypwex wrote:
> ow, sorry! I not mentioned that there is no PID of Maschine Mikro
> (0x1110) in caiaq device list
> _https://github.com/torvalds/linux/blob/v4.2/sound/usb/caiaq/device.h_
>
> yes there is some endless dump from usbhid but I don't know how to deal
> with it
> $sudo usbhid-dump --entity=all --address=1:15
> http://pastebin.com/raw.php?i=KC96ERSV (300KiB)
>
> ok, I've tried to extend the driver and end up with following doodad
> https://github.com/krasnobaev/linux/commits/feature/caiaq-mmikro-1
> for every commit I've generated dmesg log
> _http://pastebin.com/raw.php?i=pJzdAyf4_
Maschine Mikro is a class compliant USB device which implements a
completely different protocol compared to the old devices. The
snd-usb-caiaq driver is unsuitable of handling and of the details
exposed by device, so this approach is definitely a dead end.
What does 'lsusb -v' show when you plug in the device?
Thanks,
Daniel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Alsa-user] snd-usb-caiaq (NI Maschine Mikro) device not recognised by alsa
2015-09-21 17:09 ` Daniel Mack
@ 2015-09-21 20:10 ` sypwex
2015-09-22 11:17 ` Daniel Mack
0 siblings, 1 reply; 7+ messages in thread
From: sypwex @ 2015-09-21 20:10 UTC (permalink / raw)
To: Daniel Mack; +Cc: alsa-user, alsa-devel, Clemens Ladisch, daniel, sypwex
Thanks for the reply!
>What does 'lsusb -v' show when you plug in the device?
the exactly `lsusb -v` out is here http://pastebin.com/raw.php?i=trmwPjGF
information only about 17cc:1110 (`sudo lsusb -D /dev/bus/usb/001/010`):
Device: ID 17cc:1110 Native Instruments
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x17cc Native Instruments
idProduct 0x1110
bcdDevice 0.37
iManufacturer 1 Native Instruments
iProduct 2 Maschine Mikro
iSerial 6 677AC139
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 57
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 450mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 4 Maschine Mikro HID
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 367
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 1
iInterface 5 Maschine Mikro DFU
Device Firmware Upgrade Interface Descriptor:
bLength 7
bDescriptorType 33
bmAttributes 7
Will Not Detach
Manifestation Tolerant
Upload Supported
Download Supported
wDetachTimeout 250 milliseconds
wTransferSize 64 bytes
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
--
Regards!
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Alsa-user] snd-usb-caiaq (NI Maschine Mikro) device not recognised by alsa
2015-09-21 20:10 ` sypwex
@ 2015-09-22 11:17 ` Daniel Mack
2015-09-22 19:03 ` sypwex
0 siblings, 1 reply; 7+ messages in thread
From: Daniel Mack @ 2015-09-22 11:17 UTC (permalink / raw)
To: sypwex; +Cc: alsa-user, alsa-devel, Clemens Ladisch
On 09/21/2015 10:10 PM, sypwex wrote:
> Thanks for the reply!
>
>> What does 'lsusb -v' show when you plug in the device?
> the exactly `lsusb -v` out is here http://pastebin.com/raw.php?i=trmwPjGF
>
> information only about 17cc:1110 (`sudo lsusb -D /dev/bus/usb/001/010`):
>
> Device: ID 17cc:1110 Native Instruments
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 0 (Defined at Interface level)
> bDeviceSubClass 0
> bDeviceProtocol 0
> bMaxPacketSize0 64
> idVendor 0x17cc Native Instruments
> idProduct 0x1110
> bcdDevice 0.37
> iManufacturer 1 Native Instruments
> iProduct 2 Maschine Mikro
> iSerial 6 677AC139
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 57
> bNumInterfaces 2
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0x80
> (Bus Powered)
> MaxPower 450mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 3 Human Interface Device
> bInterfaceSubClass 0 No Subclass
> bInterfaceProtocol 0 None
> iInterface 4 Maschine Mikro HID
Yes, this device only offers HID and DFU (for firmware updates), so
you'll have to parse the HID data it produces. Use the hidraw interface
to get to the uncached information. Whether you can use an existing tool
to do that depends on what you want to achieve with this device.
In either case, there is no hardware MIDI port on this device, so the
firmware doesn't offer that as class compliant interface. NI's own
software stack might offer that, but that's a pure virtual MIDI device then.
HTH,
Daniel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Alsa-user] snd-usb-caiaq (NI Maschine Mikro) device not recognised by alsa
2015-09-22 11:17 ` Daniel Mack
@ 2015-09-22 19:03 ` sypwex
2015-09-23 6:44 ` Daniel Mack
0 siblings, 1 reply; 7+ messages in thread
From: sypwex @ 2015-09-22 19:03 UTC (permalink / raw)
To: Daniel Mack; +Cc: alsa-user, alsa-devel, Clemens Ladisch, sypwex
On Tue, Sep 22, 2015 at 2:17 PM, Daniel Mack <daniel@zonque.org> wrote:
>
> Yes, this device only offers HID and DFU (for firmware updates), so
> you'll have to parse the HID data it produces.
>
Ok, but device looks like powered off - no flashes on tap and LED
display is blank. When I firstly attach USB cable all buttons flashes
but then it looks like switched off.
On windows when I plug in the device, LED display offers to start up
in MIDI mode (SHIFT+F1) - is it controlled by driver or this is
behavior of firmware?
Thanks,
Aleksey.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Alsa-user] snd-usb-caiaq (NI Maschine Mikro) device not recognised by alsa
2015-09-22 19:03 ` sypwex
@ 2015-09-23 6:44 ` Daniel Mack
2015-09-24 9:04 ` sypwex
0 siblings, 1 reply; 7+ messages in thread
From: Daniel Mack @ 2015-09-23 6:44 UTC (permalink / raw)
To: sypwex; +Cc: alsa-user, alsa-devel, Clemens Ladisch
On 09/22/2015 09:03 PM, sypwex wrote:
> On Tue, Sep 22, 2015 at 2:17 PM, Daniel Mack <daniel@zonque.org> wrote:
>>
>> Yes, this device only offers HID and DFU (for firmware updates), so
>> you'll have to parse the HID data it produces.
>>
>
> Ok, but device looks like powered off - no flashes on tap and LED
> display is blank. When I firstly attach USB cable all buttons flashes
> but then it looks like switched off.
Everything from that point on is under control of the host software.
> On windows when I plug in the device, LED display offers to start up
> in MIDI mode (SHIFT+F1) - is it controlled by driver or this is
> behavior of firmware?
I've personally never used this device, so I can't tell you what they
do. You need to sniff the USB traffic the Windows software issues to the
device and find out which HID controls they touch in order to set LEDs
and issue display commands. IOW: you need to re-engineer the HID
mapping. That's tedious, but doable.
HTH,
Daniel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Alsa-user] snd-usb-caiaq (NI Maschine Mikro) device not recognised by alsa
2015-09-23 6:44 ` Daniel Mack
@ 2015-09-24 9:04 ` sypwex
0 siblings, 0 replies; 7+ messages in thread
From: sypwex @ 2015-09-24 9:04 UTC (permalink / raw)
To: Daniel Mack; +Cc: alsa-user, alsa-devel, Clemens Ladisch, sypwex
On Wed, Sep 23, 2015 at 9:44 AM, Daniel Mack <daniel@zonque.org> wrote:
> On 09/22/2015 09:03 PM, sypwex wrote:
>> On Tue, Sep 22, 2015 at 2:17 PM, Daniel Mack <daniel@zonque.org> wrote:
>>>
>>> Yes, this device only offers HID and DFU (for firmware updates), so
>>> you'll have to parse the HID data it produces.
>>>
>>
>> Ok, but device looks like powered off - no flashes on tap and LED
>> display is blank. When I firstly attach USB cable all buttons flashes
>> but then it looks like switched off.
>
> Everything from that point on is under control of the host software.
>
>> On windows when I plug in the device, LED display offers to start up
>> in MIDI mode (SHIFT+F1) - is it controlled by driver or this is
>> behavior of firmware?
>
> I've personally never used this device, so I can't tell you what they
> do. You need to sniff the USB traffic the Windows software issues to the
> device and find out which HID controls they touch in order to set LEDs
> and issue display commands. IOW: you need to re-engineer the HID
> mapping. That's tedious, but doable.
>
>
> HTH,
> Daniel
>
Thanks Daniel!
Looks like I got the idea. I'll try it next week.
Cheers!
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-09-24 9:04 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CAGPstWvoprjRHN2+xZe5w+=pPkOqcqQdR4t7bYY_MgXwKbPD4A@mail.gmail.com>
[not found] ` <55EC7191.8020107@googlemail.com>
2015-09-19 9:20 ` [Alsa-user] snd-usb-caiaq (NI Maschine Mikro) device not recognised by alsa sypwex
2015-09-21 17:09 ` Daniel Mack
2015-09-21 20:10 ` sypwex
2015-09-22 11:17 ` Daniel Mack
2015-09-22 19:03 ` sypwex
2015-09-23 6:44 ` Daniel Mack
2015-09-24 9:04 ` sypwex
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.