On 07/07/14 07:31, Clemens Ladisch wrote:
> David W. wrote:
>> On 06/07/14 20:48, Clemens Ladisch wrote:
>>> David W. wrote:
>>>> arecord -D hw:1,0 -f S32_LE -c14 -r96000 -t wav test.wav
>>>> Recording WAVE 'test.wav' : Signed 32 bit Little Endian, Rate 96000 Hz,
>>>> Channels 14
>>>> arecord: pcm_read:2031: read error: Input/output error
>>>
>>> Immediately or after 10 seconds?
>>
>> After about 13 seconds.
>
> This means that the device did not return any error, but did not
> transfer any samples either.
>
> Apparently, this device needs some vendor-specific magic to enable
> recording.
>
I finally got round to examining some USB packets for this device.
Hopefully the information to patch sound/usb/quirks-table.h with the
necessary vendor-specific magic to enable recording and playback is
somewhere below.
I need some help for the actual patching of sound/usb/quirks-table.h though!
amidi -l
Dir Device Name
IO hw:0,0,0 USB X-Session MIDI 1
I hw:0,0,1 USB X-Session MIDI 2
IO hw:2,0,0 TR-8 MIDI 1 # this device
IO hw:2,0,1 TR-8 MIDI 2 # this device
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Pro [FastTrack Pro], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Pro [FastTrack Pro], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: TR8 [TR-8], device 0: USB Audio [USB Audio] # this device
Subdevices: 1/1
Subdevice #0: subdevice #0
./alsacap -d hw:2,0
*** Exploring configuration space of device 'hw:1,0' for playback ***
4 channels
Sampling rate 96000 Hz
Sample formats: S32_LE
Significant bits: 32
Bus 002 Device 005: ID 0582:017c Roland Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 255
bMaxPacketSize0 64
idVendor 0x0582 Roland Corp.
idProduct 0x017c
bcdDevice 1.00
iManufacturer 1 Roland
iProduct 2 TR-8
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 176
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 2
iInterface 0
# <06 24 F1 02 <inputs> <outputs>> from patch comment by Clemens Ladisch
** UNRECOGNIZED: 06 24 f1 01 00 00
# Audio OUT 4 channels?
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 2
iInterface 0
# seen in other Roland devices
# http://ubuntuforums.org/archive/index.php/t-1905531.html
** UNRECOGNIZED: 07 24 01 01 00 01 00
** UNRECOGNIZED: 0b 24 02 01 04 04 18 01 00 77 01
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x0d EP 13 OUT
bmAttributes 5
Transfer Type Isochronous # audio
Synch Type Asynchronous
Usage Type Data
# 4x 24-bit 96kHz == 56 bytes per 4 channels (or 32-bit?)
wMaxPacketSize 0x00e0 1x 224 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 1
iInterface 0
# Audio IN: 14 channels?
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 1
iInterface 0
** UNRECOGNIZED: 07 24 01 07 00 01 00
** UNRECOGNIZED: 0b 24 02 01 0e 04 18 01 00 77 01
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x8e EP 14 IN
bmAttributes 37
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Implicit feedback Data
# 14 channels x 56 bytes per transfer 96kHz, 24-bit?
wMaxPacketSize 0x0310 1x 784 bytes
bInterval 1
# MIDI?
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 3
bInterfaceProtocol 0
iInterface 0
# <06 24 F1 02 <inputs> <outputs>> 2 in 2 out
** UNRECOGNIZED: 06 24 f1 02 02 02
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
# MIDI: same endpoints needs Bulk AND Interrupt packet types?
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 3
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 255
bMaxPacketSize0 64
bNumConfigurations 1
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered
A summary of some USB packets during idle, start playback, stop
playback, start recording, stop recording. Playback and record was
probably only using a pair of stereo channels IIRC (maybe even one mono
channel). I could do the same with all channels if that would be of any use.
- at all times, polling seems to be 'Bulk or Interrupt Transfer' to
Device Object FFFFFA800BBF1C00h (00000094) with I/O Request Packet
FFFFFA800B97B830h
- start playback: 'Select Interface', 'Ifc 1 / Alt 1' and 'Ifc 2 / Alt
1', Device Object: FFFFFA800BBF1C00h, I/O Request Packet: FFFFFA800778E780h
1x 'Create' using I/O Request Packet: FFFFFA800C7A2480h to Device
Objects: FFFFFA800C060C20h (00000095) and FFFFFA800BE30600h (00000096)
- during playback: lots of 'Isoch Transfer' to FFFFFA800BBF1C00h with
nine different I/O Request Packets
- stop playback: 'Select Interface', 'Ifc 1 / Alt 0' and 'Ifc 1 / Alt
0', Device Object: FFFFFA800BBF1C00h; I/O Request Packet:
FFFFFA8007552810h
1x 'Close' using I/O Request Packet: FFFFFA800C7A2480h to Device
Objects: FFFFFA800C060C20h and FFFFFA800BE30600h; some 'Cleanups' that
return 'Invalid Device Request'
- start recording: 'Select Interface', 'Ifc 1 / Alt 1' and 'Ifc 2 / Alt
1', Device Object: FFFFFA800BBF1C00h, I/O Request Packet: FFFFFA800778E780h
5x 'Create' using I/O Request Packet: FFFFFA800C0E9C60h to Device
Objects: FFFFFA800C060C20h and FFFFFA800BE30600h
2x 'Create' using I/O Request Packet: FFFFFA800C60A010h to Device
Objects: FFFFFA800C060C20h and FFFFFA800BE30600h
1x 'Create' using I/O Request Packet: FFFFFA800754F010h to Device
Objects: FFFFFA800C060C20h and FFFFFA800BE30600h
2x 'Close' using I/O Request Packet: FFFFFA800C0E9C60h to Device
Objects: FFFFFA800C060C20h and FFFFFA800BE30600h
- during recording: lots of 'Isoch Transfer' to FFFFFA800BBF1C00h with
nine different I/O Request Packets
- stop recording: 'Select Interface', 'Ifc 1 / Alt 0' and 'Ifc 1 / Alt
0', Device Object: FFFFFA800BBF1C00h; I/O Request Packet:
FFFFFA8007552810h
4x 'Close' using I/O Request Packet: FFFFFA8007543C60h to Device
Objects: FFFFFA800C060C20h and FFFFFA800BE30600h
many thanks to the devs!
David W.
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user