* Re: Digidesign Mbox2 - usb support
@ 2009-08-16 8:27 Damien Zammit
0 siblings, 0 replies; 4+ messages in thread
From: Damien Zammit @ 2009-08-16 8:27 UTC (permalink / raw)
To: alsa-devel
Hi,
I wrote an addition to usbquirks.h to provide support for "Digidesign
Mbox 2" but I need someone to point me in the right direction as to
which interfaces to use. I'm not sure if the MIDI interface is a
standard device, and I'm not sure which interfaces to ignore.
I am about to compile a new alsa + kernel with my changes to
usbquirks.h to test the device.
Here is my usbquirks.h addition:
/* DIGIDESIGN MBOX 2 addition to usbquirks.h */
{
/* Damien Zammit <damien.zammit@gmail.com>
* 16 August 2009
*
* Interface topology of Digidesign Mbox 2, it has 7 interfaces:
* 0 - Proprietary firmware updates
* 1 - Audio control device
* 2 - Double endpoint IN-OUT PCM
* 3 - Double endpoint OUT-IN PCM
* 4 - Single endpoint IEC1937 AC3 / PCM (selectable by altsetting)
* 5 - Single endpoint PCM (supports full 24bit 48000Hz)
* 6 - Triple endpoint MIDI (Interrupt + 1 IN + 1 OUT)
*
* As I am unsure which interfaces to try, I have provided _all_ the settings
* I can in this file to hand to the usb-audio developers.
* I have no idea what .altset_idx does or where to find it, so I set
it to 1 in all cases.
*
* I am currently testing with just interfaces 5 and 6 (not sure if
it will work)
*/
USB_DEVICE(0x0dba, 0x3000),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "Digidesign",
.product_name = "Mbox 2",
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE,
.data = (const struct snd_usb_audio_quirk[]) {
/* Proprietary firmware updater interface - ignore for now */
{
.ifnum = 0,
.type = QUIRK_IGNORE_INTERFACE
},
/* Audio control interface - altsetting = 0 not sure what to do with this */
{
.ifnum = 1,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = 2,
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = & (const struct audioformat) {
.format = SNDDRV_PCM_FORMAT_S24_3LE,
.channels = 2,
.iface = 2,
.altsetting = 3, /* 0 is also available but has no endpoints */
.altset_idx = 1,
.endpoint = 0x03, /* IN or 0x83 OUT */
.ep_attr = 0x05,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 8000,
.rate_max = 48000
}
},
{
.ifnum = 3,
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = & (const struct audioformat) {
.format = SNDDRV_PCM_FORMAT_S24_3LE,
.channels = 2,
.iface = 3,
.altsetting = 3, /* 0 is also
available, but has no endpoints */
.altset_idx = 1,
.endpoint = 0x04, /* OUT or 0x84 IN */
.ep_attr = 0x05,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 8000,
.rate_max = 48000
}
},
{
.ifnum = 4,
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = & (const struct audioformat) {
.format = <<<<< Type III -
IEC1937_AC3 (16 bit) >>>>>
.channels = 2,
.iface = 3,
.altsetting = 6,
.altset_idx = 1,
.endpoint = 0x04,
.ep_attr = 0x05,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 8000,
.rate_max = 48000
}
},
{
.ifnum = 5,
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = & (const struct audioformat) {
.format = SNDDRV_PCM_FORMAT_S24_3LE,
.channels = 2,
.iface = 5,
.altsetting = 3,
.altset_idx = 1,
.endpoint = 0x86, /* Single
endpoint only */
.ep_attr = 0x0D,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 8000,
.rate_max = 48000
}
},
{
/* MIDI INTERFACE DESCRIPTION
* Is this a standard USB MIDI device?
* It has 2 Interface descriptors for the same altsetting...
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 6
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 6
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 0
*/
.ifnum = 6,
.type = QUIRK_MIDI_FIXED_ENDPOINT,
.data = & (const struct snd_usb_midi_endpoint_info) {
/* I am not certain of the "cables" flags or how
* to find out what they are.
*/
.out_ep = 2,
.out_interval = 0x00,
.in_ep = 2,
.in_interval = 0x00,
.out_cables = 0x0001,
.in_cables = 0x0001
}
},
{
.ifnum = -1
}
}
}
},
^ permalink raw reply [flat|nested] 4+ messages in thread
* Digidesign Mbox2 - usb support
@ 2009-08-17 6:46 Damien Zammit
0 siblings, 0 replies; 4+ messages in thread
From: Damien Zammit @ 2009-08-17 6:46 UTC (permalink / raw)
To: alsa-devel
I compiled the latest stable ALSA and kernel, and all the utilities.
!!################################
!!ALSA Information Script v 0.4.57
!!################################
!!Script ran on: Mon Aug 17 06:39:10 UTC 2009
!!Linux Distribution
!!------------------
Ubuntu 8.04 \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 8.04"
!!DMI Information
!!---------------
Manufacturer: Dell Computer Corporation
Product Name: Latitude D600
!!Kernel Information
!!------------------
Kernel release: 2.6.30.4
Operating System: GNU/Linux
Architecture: i686
Processor: unknown
SMP Enabled: Yes
!!ALSA Version
!!------------
Driver version: 1.0.20
Library version: 1.0.20
Utilities version: 1.0.20
!!Loaded ALSA modules
!!-------------------
snd_usb_audio
!!Sound Servers on this system
!!----------------------------
ESound Daemon:
Installed - Yes (/usr/bin/esd)
Running - No
aRts:
Installed - Yes (/usr/bin/artsd)
Running - No
Jack:
Installed - Yes (/usr/bin/jackd)
Running - No
!!Soundcards recognised by ALSA
!!-----------------------------
1 [M2 ]: USB-Audio - Mbox 2
Digidesign Mbox 2 at usb-0000:00:1d.1-1, full speed
!!PCI Soundcards installed in the system
!!--------------------------------------
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
!!Advanced information - PCI Vendor/Device/Susbsystem ID's
!!--------------------------------------------------------
00:1f.5 0401: 8086:24c5 (rev 01)
Subsystem: 1028:011d
!!Modprobe options (Sound related)
!!--------------------------------
snd-bt87x: index=-2
snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
snd-usb-audio: index=1
snd-bt87x: index=-2
snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
!!Loaded sound module options
!!--------------------------
!!Module: snd_usb_audio
async_unlink : Y
device_setup : 0,0,0,0,0,0,0,0
enable : Y,Y,Y,Y,Y,Y,Y,Y
id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
ignore_ctl_error : N
index : 1,-1,-1,-1,-1,-1,-1,-1
nrpacks : 8
pid : -1,-1,-1,-1,-1,-1,-1,-1
vid : -1,-1,-1,-1,-1,-1,-1,-1
!!ALSA Device nodes
!!-----------------
crw-rw----+ 1 root audio 116, 32 Aug 17 15:08 /dev/snd/controlC1
crw-rw----+ 1 root audio 116, 40 Aug 17 15:08 /dev/snd/midiC1D0
crw-rw----+ 1 root audio 116, 56 Aug 17 16:36 /dev/snd/pcmC1D0c
crw-rw----+ 1 root audio 116, 48 Aug 17 16:36 /dev/snd/pcmC1D0p
crw-rw----+ 1 root audio 116, 1 Aug 17 14:50 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Aug 17 14:50 /dev/snd/timer
!!ALSA configuration files
!!------------------------
!!User specific config file (~/.asoundrc)
# ALSA library configuration file
# Include settings that are under the control of asoundconf(1).
# (To disable these settings, comment out this line.)
</home/dczammit/.asoundrc.asoundconf>
!!asoundconf-generated config file
# ALSA library configuration file managed by asoundconf(1).
#
# MANUAL CHANGES TO THIS FILE WILL BE OVERWRITTEN!
#
# Manual changes to the ALSA library configuration should be implemented
# by editing the ~/.asoundrc file, not by editing this file.
defaults.rawmidi.card 0
defaults.rawmidi.device 0
defaults.rawmidi.subdevice -1
defaults.hwdep.card 0
defaults.hwdep.device 0
defaults.timer.class 2
defaults.timer.sclass 0
defaults.timer.card 0
defaults.timer.device 0
defaults.timer.subdevice 0
defaults.namehint.showall off
defaults.namehint.basic on
defaults.namehint.extended off
!!Aplay/Arecord output
!!------------
APLAY
**** List of PLAYBACK Hardware Devices ****
card 1: M2 [Mbox 2], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices ****
card 1: M2 [Mbox 2], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
!!Amixer output
!!-------------
!!-------Mixer controls for card 1 [M2]
Card hw:1 'M2'/'Digidesign Mbox 2 at usb-0000:00:1d.1-1, full speed'
Mixer name : ''
Components : 'USB0dba:3000'
Controls : 0
Simple ctrls : 0
!!Alsactl output
!!-------------
--startcollapse--
state.M2 {
control {
}
}
--endcollapse--
jackd 0.116.2
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver ..
apparent rate = 48000
creating alsa driver ... hw:1|hw:1|256|2|48000|2|2|nomon|swmeter|-|32bit
control device hw:1
configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 24bit little-endian
ALSA: use 2 periods for capture
ALSA: cannot set hardware parameters for capture
ALSA: cannot configure capture channel
cannot load driver module alsa
[ 6387.449014] WARNING: at sound/usb/usbaudio.c:1314
snd_usb_hw_params+0xbc8/0xc10 [snd_usb_audio]()
[ 6387.449056] Hardware name: Latitude D600
[ 6387.449059] Modules linked in: snd_usb_audio snd_pcm snd_page_alloc
snd_usb_lib snd_hwdep binfmt_misc radeon drm i2c_core rfcomm l2cap
bluetooth ppdev sbs sbshc container acpi_cpufreq cpufreq_userspace
cpufreq_stats cpufreq_powersave cpufreq_ondemand freq_table
cpufreq_conservative ipv6 dm_crypt snd_seq_midi snd_rawmidi
snd_seq_midi_event snd_seq snd_timer snd_seq_device snd soundcore lp
af_packet joydev pcmcia yenta_socket rsrc_nonstatic video output
pcmcia_core parport_pc parport psmouse serio_raw button battery ac
processor pcspkr intel_agp shpchp agpgart pci_hotplug iTCO_wdt
iTCO_vendor_support dcdbas evdev sr_mod sg cdrom sd_mod usbhid hid
ata_piix pata_acpi ata_generic tg3 firmware_class libphy libata uhci_hcd
ehci_hcd usbcore scsi_mod raid10 raid456 raid6_pq async_xor async_memcpy
async_tx xor raid1 raid0 multipath linear md_mod dm_mirror
dm_region_hash dm_log dm_snapshot dm_mod thermal fan thermal_sys fuse
[ 6387.449148] Pid: 25866, comm: jackd Tainted: G W 2.6.30.4 #1
[ 6387.449151] Call Trace:
[ 6387.449165] [<f81121d8>] ? snd_usb_hw_params+0xbc8/0xc10 [snd_usb_audio]
[ 6387.449175] [<f81121d8>] ? snd_usb_hw_params+0xbc8/0xc10 [snd_usb_audio]
[ 6387.449191] [<c012c03f>] ? warn_slowpath_common+0x7f/0xb0
[ 6387.449201] [<f81121d8>] ? snd_usb_hw_params+0xbc8/0xc10 [snd_usb_audio]
[ 6387.449206] [<c012c083>] ? warn_slowpath_null+0x13/0x20
[ 6387.449216] [<f81121d8>] ? snd_usb_hw_params+0xbc8/0xc10 [snd_usb_audio]
[ 6387.449237] [<f80eae90>] ? snd_pcm_hw_params_choose+0x30/0xa0 [snd_pcm]
[ 6387.449248] [<f80e6fd0>] ? snd_pcm_hw_params+0xe0/0x320 [snd_pcm]
[ 6387.449254] [<c0271dce>] ? copy_from_user+0x2e/0x70
[ 6387.449265] [<f80e7346>] ? snd_pcm_hw_params_user+0x36/0x80 [snd_pcm]
[ 6387.449276] [<f80e7c06>] ? snd_pcm_common_ioctl1+0x7f6/0x1140 [snd_pcm]
[ 6387.449281] [<c0129385>] ? check_preempt_wakeup+0xd5/0x160
[ 6387.449286] [<c01242e9>] ? try_to_wake_up+0xa9/0x200
[ 6387.449292] [<c01b80b5>] ? pollwake+0x45/0x50
[ 6387.449296] [<c0124440>] ? default_wake_function+0x0/0x10
[ 6387.449306] [<c011f0fb>] ? __wake_up_common+0x4b/0x80
[ 6387.449310] [<c01201f5>] ? __wake_up_sync_key+0x45/0x80
[ 6387.449314] [<c01bf8cd>] ? mnt_drop_write+0x1d/0xe0
[ 6387.449319] [<c01bbebb>] ? file_update_time+0x7b/0xc0
[ 6387.449325] [<c01b06ee>] ? pipe_write+0x32e/0x450
[ 6387.449337] [<f80e85de>] ? snd_pcm_capture_ioctl1+0x8e/0x400 [snd_pcm]
[ 6387.449348] [<f80e8993>] ? snd_pcm_capture_ioctl+0x43/0x50 [snd_pcm]
[ 6387.449359] [<f80e8950>] ? snd_pcm_capture_ioctl+0x0/0x50 [snd_pcm]
[ 6387.449364] [<c01b629b>] ? vfs_ioctl+0x2b/0x90
[ 6387.449367] [<c01b65d0>] ? do_vfs_ioctl+0x2d0/0x510
[ 6387.449374] [<c0399075>] ? __schedule+0x235/0x730
[ 6387.449378] [<c01a9b0d>] ? vfs_write+0xfd/0x160
[ 6387.449382] [<c01b6866>] ? sys_ioctl+0x56/0x70
[ 6387.449387] [<c0102dd4>] ? sysenter_do_call+0x12/0x28
[ 6387.449391] ---[ end trace 8fe22d9a0585e3c1 ]---
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Digidesign Mbox2 - usb support
@ 2009-08-16 16:44 Damien Zammit
0 siblings, 0 replies; 4+ messages in thread
From: Damien Zammit @ 2009-08-16 16:44 UTC (permalink / raw)
To: alsa-devel mailing list
Using the following patch to usbquirks.h, I was able to get MIDI in
and out working on the Digidesign Mbox2!!
The capture/playback PCMs are also configured with alsa, but the
status on these are "closed".
I am guessing I need to snoop the commands on interface 1 (control
device) to enable them.
Also, there is some "magic" needed to initialise the device which I
have captured.
It seems that the device needs to be loaded with altsettings = 0 on
interfaces 1-5 first,
then some setup codes are transmitted, and finally the following
altsettings are used.
dczammit@flop:/proc/asound$ ls
card0 cards devices hwdep M2 modules pcm seq timers version
dczammit@flop:/proc/asound$ cat cards
0 [M2 ]: USB-Audio - Mbox 2
Digidesign Mbox 2 at usb-0000:00:1d.1-1, full speed
dczammit@flop:/proc/asound$ cat devices
0: [ 0] : control
1: : sequencer
8: [ 0- 0]: raw midi
16: [ 0- 0]: digital audio playback
24: [ 0- 0]: digital audio capture
33: : timer
dczammit@flop:/proc/asound$ cat pcm
00-00: USB Audio : USB Audio : playback 1 : capture 1
dczammit@flop:/proc/asound$ cat timers
G0: system timer : 1000.000us (10000000 ticks)
G1: RTC timer : 976.562us (100000000 ticks)
P0-0-0: PCM playback 0-0-0 : SLAVE
P0-0-1: PCM capture 0-0-1 : SLAVE
dczammit@flop:/proc/asound/M2$ ls
id midi0 pcm0c pcm0p stream0 usbbus usbid
dczammit@flop:/proc/asound/M2$ cat midi0
Mbox 2
Output 0
Tx bytes : 212
Input 0
Rx bytes : 314
dczammit@flop:/proc/asound/M2$ cat stream0
Digidesign Mbox 2 at usb-0000:00:1d.1-1, full speed : USB Audio
Playback:
Status: Stop
Interface 3
Altset 3
Format: 0x20
Channels: 2
Endpoint: 4 OUT (ASYNC)
Rates: 8000 - 48000 (continuous)
Capture:
Status: Stop
Interface 5
Altset 3
Format: 0x20
Channels: 2
Endpoint: 6 IN (SYNC)
Rates: 8000 - 48000 (continuous)
dczammit@flop:/proc/asound/seq$ aplay -Ddefault:CARD=M2 -f S16_LE
~/Desktop/tunes/dzjam.wav
Playing WAVE '/home/dczammit/Desktop/tunes/dzjam.wav' : Signed 16 bit
Little Endian, Rate 44100 Hz, Stereo
Segmentation fault
Please find the quirk below and the magic init codes.
##################################
{
USB_DEVICE(0x0dba, 0x3000),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "Digidesign",
.product_name = "Mbox 2",
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE,
.data = (const struct snd_usb_audio_quirk[]) {
{
.ifnum = 0,
.type = QUIRK_IGNORE_INTERFACE
},
{ /* Audio control interface - sets the sampling rate? - no idea
how this works
Possibly also enables the
capture/playback using a command? */
.ifnum = 1,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = 2,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = 3,
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = & (const struct audioformat) {
.format = SNDRV_PCM_FORMAT_S24_3LE,
.channels = 2,
.iface = 3,
.altsetting = 3, /* 0 is also
available, but has no endpoints */
.altset_idx = 1,
.endpoint = 0x04, /* OUT or
0x84 IN (attr 1) */
.ep_attr = 0x05,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 8000,
.rate_max = 48000
}
},
{
.ifnum = 4,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = 5,
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = & (const struct audioformat) {
.format = SNDRV_PCM_FORMAT_S24_3LE,
.channels = 2,
.iface = 5,
.altsetting = 3,
.altset_idx = 1,
.endpoint = 0x86, /* IN */
.ep_attr = 0x0D,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 8000,
.rate_max = 48000
}
},
{
.ifnum = 6,
.type = QUIRK_MIDI_FIXED_ENDPOINT,
.data = & (const struct snd_usb_midi_endpoint_info) {
.out_ep = 2,
.out_interval = 0x00,
.in_ep = 2,
.in_interval = 0x00,
.out_cables = 0x0001,
.in_cables = 0x0001
}
},
{
.ifnum = -1
}
}
}
},
##################################
Audio driver magic:
[0 ms] UsbSnoop compiled on Jan 18 2003 22:41:32 loading
[0 ms] UsbSnoop - DriverEntry(baca2c40) : Windows NT WDM version 1.32
[101 ms] UsbSnoop - AddDevice(baca2f50) : DriverObject 83499768, pdo 83338c10
[102 ms] UsbSnoop - MyDispatchPNP(baca2ee0) : IRP_MJ_PNP
(IRP_MN_QUERY_INTERFACE)
[102 ms] UsbSnoop - MyDispatchPNP(baca2ee0) : IRP_MJ_PNP (0x00000018)
[127 ms] UsbSnoop - MyDispatchPNP(baca2ee0) : IRP_MJ_PNP
(IRP_MN_QUERY_RESOURCE_REQUIREMENTS)
[127 ms] UsbSnoop - MyDispatchPNP(baca2ee0) : IRP_MJ_PNP
(IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
[128 ms] UsbSnoop - MyDispatchPNP(baca2ee0) : IRP_MJ_PNP (IRP_MN_START_DEVICE)
[128 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=832c7530, IRQL=0
[128 ms] >>> URB 1 going down >>>
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000012
TransferBuffer = bacef95c
TransferBufferMDL = 00000000
Index = 00000001
DescriptorType = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE)
LanguageId = 00000000
[128 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=832c7530, Context=832ff2e8, IRQL=0
[128 ms] <<< URB 1 coming back <<<
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000012
TransferBuffer = bacef95c
TransferBufferMDL = 00000000
00000000: 12 01 00 01 00 00 00 08 ba 0d 00 30 38 01 01 02
00000010: 00 01
Index = 00000001
DescriptorType = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE)
LanguageId = 00000000
[128 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=832c7530, IRQL=0
[128 ms] >>> URB 2 going down >>>
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000009
TransferBuffer = bacef9d0
TransferBufferMDL = 00000000
Index = 00000001
DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
LanguageId = 00000000
[128 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=832c7530, Context=833e2438, IRQL=0
[128 ms] <<< URB 2 coming back <<<
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000009
TransferBuffer = bacef9d0
TransferBufferMDL = 00000000
00000000: 09 02 58 02 05 01 00 80 fa
Index = 00000001
DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
LanguageId = 00000000
[128 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=832c7530, IRQL=0
[128 ms] >>> URB 3 going down >>>
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000258
TransferBuffer = 83369540
TransferBufferMDL = 00000000
Index = 00000001
DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
LanguageId = 00000000
[128 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=832c7530, Context=83455a90, IRQL=0
[128 ms] <<< URB 3 coming back <<<
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
TransferBufferLength = 00000258
TransferBuffer = 83369540
TransferBufferMDL = 00000000
00000000: 09 02 58 02 05 01 00 80 fa 09 04 01 00 00 01 01
00000010: 00 02 0c 24 01 00 01 60 00 04 02 03 04 05 0c 24
00000020: 02 05 01 01 00 02 03 00 00 00 09 24 03 06 01 06
00000030: 00 05 00 0c 24 02 07 01 01 00 02 03 00 00 00 09
00000040: 24 03 08 01 06 00 07 00 0c 24 02 01 01 06 00 02
00000050: 03 00 00 00 09 24 03 02 01 01 00 01 00 0c 24 02
00000060: 03 01 06 00 02 03 00 00 00 09 24 03 04 01 01 00
00000070: 03 00 09 04 02 00 00 01 02 00 00 09 04 02 02 02
00000080: 01 02 00 00 07 24 01 05 01 01 00 0e 24 02 01 02
00000090: 03 18 00 40 1f 00 80 bb 00 09 05 03 05 28 01 01
000000a0: 00 83 07 25 01 00 00 00 00 09 05 83 01 03 00 01
000000b0: 02 00 09 04 02 03 02 01 02 00 00 07 24 01 05 01
000000c0: 01 00 0e 24 02 01 02 03 18 00 40 1f 00 80 bb 00
000000d0: 09 05 03 05 28 01 01 00 83 07 25 01 00 00 00 00
000000e0: 09 05 83 01 03 00 01 02 00 09 04 03 00 00 01 02
000000f0: 00 00 09 04 03 02 02 01 02 00 00 07 24 01 07 01
00000100: 01 00 0e 24 02 01 02 03 18 00 40 1f 00 80 bb 00
00000110: 09 05 04 05 28 01 01 00 84 07 25 01 00 00 00 00
00000120: 09 05 84 01 03 00 01 02 00 09 04 03 03 02 01 02
00000130: 00 00 07 24 01 07 01 01 00 0e 24 02 01 02 03 18
00000140: 00 40 1f 00 80 bb 00 09 05 04 05 28 01 01 00 84
00000150: 07 25 01 00 00 00 00 09 05 84 01 03 00 01 02 00
00000160: 09 04 03 06 01 01 02 00 00 07 24 01 07 01 01 20
00000170: 0e 24 02 03 02 02 10 00 40 1f 00 80 bb 00 09 05
00000180: 04 0d c0 00 01 00 00 07 25 01 01 00 00 00 09 04
00000190: 04 00 00 01 02 00 00 09 04 04 02 01 01 02 00 00
000001a0: 07 24 01 02 01 01 00 0e 24 02 01 02 03 18 00 40
000001b0: 1f 00 80 bb 00 09 05 85 05 28 01 01 00 00 07 25
000001c0: 01 00 00 00 00 09 04 04 03 01 01 02 00 00 07 24
000001d0: 01 02 01 01 00 0e 24 02 01 02 03 18 00 40 1f 00
000001e0: 80 bb 00 09 05 85 0d 28 01 01 00 00 07 25 01 01
000001f0: 00 00 00 09 04 05 00 00 01 02 00 00 09 04 05 02
00000200: 01 01 02 00 00 07 24 01 04 01 01 00 0e 24 02 01
00000210: 02 03 18 00 40 1f 00 80 bb 00 09 05 86 05 28 01
00000220: 01 00 00 07 25 01 00 00 00 00 09 04 05 03 01 01
00000230: 02 00 00 07 24 01 04 01 01 00 0e 24 02 01 02 03
00000240: 18 00 40 1f 00 80 bb 00 09 05 86 0d 28 01 01 00
00000250: 00 07 25 01 01 00 00 00
Index = 00000001
DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
LanguageId = 00000000
[128 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=832c7530, IRQL=0
[128 ms] >>> URB 4 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[133 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=832c7530, Context=833573c0, IRQL=2
[133 ms] <<< URB 4 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 83623978
00000000: 01
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[433 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=83436508, IRQL=0
[433 ms] >>> URB 5 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[437 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=83436508, Context=83429560, IRQL=2
[437 ms] <<< URB 5 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 834a08e8
00000000: 01
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[733 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=83436508, IRQL=0
[733 ms] >>> URB 6 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[738 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=83436508, Context=83625f08, IRQL=2
[738 ms] <<< URB 6 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 834a08e8
00000000: 01
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[1034 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=834a1398, IRQL=0
[1034 ms] >>> URB 7 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[1038 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=834a1398, Context=832ff2e8, IRQL=2
[1038 ms] <<< URB 7 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 834a08e8
00000000: 01
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[1334 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[1334 ms] >>> URB 8 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[1339 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=833573c0, IRQL=2
[1339 ms] <<< URB 8 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 83621768
00000000: 01
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[1635 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[1635 ms] >>> URB 9 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[1639 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=832ff2e8, IRQL=2
[1639 ms] <<< URB 9 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 83621768
00000000: 01
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[1935 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[1935 ms] >>> URB 10 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[1940 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=833573c0, IRQL=2
[1940 ms] <<< URB 10 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 83621768
00000000: 01
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[2236 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[2236 ms] >>> URB 11 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[2240 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=832ff2e8, IRQL=2
[2240 ms] <<< URB 11 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 83621768
00000000: 01
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[2536 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[2536 ms] >>> URB 12 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[2541 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=833573c0, IRQL=2
[2541 ms] <<< URB 12 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 83621768
00000000: 01
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[2837 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[2837 ms] >>> URB 13 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[2841 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=832ff2e8, IRQL=2
[2841 ms] <<< URB 13 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 83621768
00000000: 01
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[3137 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[3137 ms] >>> URB 14 going down >>>
-- URB_FUNCTION_VENDOR_DEVICE:
TransferFlags = 00000001 (USBD_TRANSFER_DIRECTION_IN,
~USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000012
TransferBuffer = bacef8e7
TransferBufferMDL = 00000000
UrbLink = 00000000
RequestTypeReservedBits = 00000000
Request = 00000085
Value = 00000001
Index = 00000000
[3142 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=833573c0, IRQL=2
[3142 ms] <<< URB 14 coming back <<<
-- URB_FUNCTION_CONTROL_TRANSFER:
PipeHandle = 83323ac0
TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN,
USBD_SHORT_TRANSFER_OK)
TransferBufferLength = 00000001
TransferBuffer = bacef8e7
TransferBufferMDL = 83621768
00000000: 02
UrbLink = 00000000
SetupPacket =
00000000: c0 85 01 00 00 00 12 00
[3142 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[3142 ms] >>> URB 15 going down >>>
-- URB_FUNCTION_SELECT_CONFIGURATION:
ConfigurationDescriptor = 0x83369540 (configure)
ConfigurationDescriptor : bLength = 9
ConfigurationDescriptor : bDescriptorType = 0x00000002
ConfigurationDescriptor : wTotalLength = 0x00000258
ConfigurationDescriptor : bNumInterfaces = 0x00000005
ConfigurationDescriptor : bConfigurationValue = 0x00000001
ConfigurationDescriptor : iConfiguration = 0x00000000
ConfigurationDescriptor : bmAttributes = 0x00000080
ConfigurationDescriptor : MaxPower = 0x000000fa
ConfigurationHandle = 0x00000000
Interface[0]: Length = 16
Interface[0]: InterfaceNumber = 1
Interface[0]: AlternateSetting = 0
Interface[1]: Length = 16
Interface[1]: InterfaceNumber = 2
Interface[1]: AlternateSetting = 0
Interface[2]: Length = 16
Interface[2]: InterfaceNumber = 3
Interface[2]: AlternateSetting = 0
Interface[3]: Length = 16
Interface[3]: InterfaceNumber = 4
Interface[3]: AlternateSetting = 0
Interface[4]: Length = 16
Interface[4]: InterfaceNumber = 5
Interface[4]: AlternateSetting = 0
[3142 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=83429560, IRQL=0
[3142 ms] <<< URB 15 coming back <<<
-- URB_FUNCTION_SELECT_CONFIGURATION:
ConfigurationDescriptor = 0x83369540 (configure)
ConfigurationDescriptor : bLength = 9
ConfigurationDescriptor : bDescriptorType = 0x00000002
ConfigurationDescriptor : wTotalLength = 0x00000258
ConfigurationDescriptor : bNumInterfaces = 0x00000005
ConfigurationDescriptor : bConfigurationValue = 0x00000001
ConfigurationDescriptor : iConfiguration = 0x00000000
ConfigurationDescriptor : bmAttributes = 0x00000080
ConfigurationDescriptor : MaxPower = 0x000000fa
ConfigurationHandle = 0x835a8978
Interface[0]: Length = 16
Interface[0]: InterfaceNumber = 1
Interface[0]: AlternateSetting = 0
Interface[0]: Class = 0x00000001
Interface[0]: SubClass = 0x00000001
Interface[0]: Protocol = 0x00000000
Interface[0]: InterfaceHandle = 0x8336b868
Interface[0]: NumberOfPipes = 0
Interface[1]: Length = 16
Interface[1]: InterfaceNumber = 2
Interface[1]: AlternateSetting = 0
Interface[1]: Class = 0x00000000
Interface[1]: SubClass = 0x00000000
Interface[1]: Protocol = 0x00000000
Interface[1]: InterfaceHandle = 0x00000000
Interface[1]: NumberOfPipes = 0
Interface[2]: Length = 16
Interface[2]: InterfaceNumber = 3
Interface[2]: AlternateSetting = 0
Interface[2]: Class = 0x00000000
Interface[2]: SubClass = 0x00000000
Interface[2]: Protocol = 0x00000000
Interface[2]: InterfaceHandle = 0x00000000
Interface[2]: NumberOfPipes = 0
Interface[3]: Length = 16
Interface[3]: InterfaceNumber = 4
Interface[3]: AlternateSetting = 0
Interface[3]: Class = 0x00000000
Interface[3]: SubClass = 0x00000000
Interface[3]: Protocol = 0x00000000
Interface[3]: InterfaceHandle = 0x00000000
Interface[3]: NumberOfPipes = 0
Interface[4]: Length = 16
Interface[4]: InterfaceNumber = 5
Interface[4]: AlternateSetting = 0
Interface[4]: Class = 0x00000000
Interface[4]: SubClass = 0x00000000
Interface[4]: Protocol = 0x00000000
Interface[4]: InterfaceHandle = 0x00000000
Interface[4]: NumberOfPipes = 0
[3142 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[3142 ms] >>> URB 16 going down >>>
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 56
Interface: InterfaceNumber = 2
Interface: AlternateSetting = 0
Interface: Class = 0x00000000
Interface: SubClass = 0x00000000
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 00000000
Interface: NumberOfPipes = 0
[3145 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=832f0090, IRQL=0
[3145 ms] <<< URB 16 coming back <<<
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 16
Interface: InterfaceNumber = 2
Interface: AlternateSetting = 0
Interface: Class = 0x00000001
Interface: SubClass = 0x00000002
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 83621580
Interface: NumberOfPipes = 0
[3145 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[3145 ms] >>> URB 17 going down >>>
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 56
Interface: InterfaceNumber = 2
Interface: AlternateSetting = 3
Interface: Class = 0x00000000
Interface: SubClass = 0x00000000
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 00000000
Interface: NumberOfPipes = 0
[3187 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=83539d80, IRQL=0
[3187 ms] <<< URB 17 coming back <<<
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 56
Interface: InterfaceNumber = 2
Interface: AlternateSetting = 3
Interface: Class = 0x00000001
Interface: SubClass = 0x00000002
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 833b9d68
Interface: NumberOfPipes = 2
Interface: Pipes[0] : MaximumPacketSize = 0x00000128
Interface: Pipes[0] : EndpointAddress = 0x00000003
Interface: Pipes[0] : Interval = 0x00000001
Interface: Pipes[0] : PipeType = 0x00000001 (UsbdPipeTypeIsochronous)
Interface: Pipes[0] : PipeHandle = 0x833b9d84
Interface: Pipes[0] : MaxTransferSize = 0x00000000
Interface: Pipes[0] : PipeFlags = 0x00000000
Interface: Pipes[1] : MaximumPacketSize = 0x00000003
Interface: Pipes[1] : EndpointAddress = 0x00000083
Interface: Pipes[1] : Interval = 0x00000001
Interface: Pipes[1] : PipeType = 0x00000001 (UsbdPipeTypeIsochronous)
Interface: Pipes[1] : PipeHandle = 0x833b9da4
Interface: Pipes[1] : MaxTransferSize = 0x00000000
Interface: Pipes[1] : PipeFlags = 0x00000000
[3187 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[3187 ms] >>> URB 18 going down >>>
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 76
Interface: InterfaceNumber = 4
Interface: AlternateSetting = 0
Interface: Class = 0x00000000
Interface: SubClass = 0x00000000
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 00000000
Interface: NumberOfPipes = 0
[3190 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=835fced8, IRQL=0
[3190 ms] <<< URB 18 coming back <<<
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 16
Interface: InterfaceNumber = 4
Interface: AlternateSetting = 0
Interface: Class = 0x00000001
Interface: SubClass = 0x00000002
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 83621580
Interface: NumberOfPipes = 0
[3190 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[3190 ms] >>> URB 19 going down >>>
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 76
Interface: InterfaceNumber = 4
Interface: AlternateSetting = 3
Interface: Class = 0x00000000
Interface: SubClass = 0x00000000
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 00000000
Interface: NumberOfPipes = 0
[3207 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=832f0090, IRQL=0
[3207 ms] <<< URB 19 coming back <<<
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 36
Interface: InterfaceNumber = 4
Interface: AlternateSetting = 3
Interface: Class = 0x00000001
Interface: SubClass = 0x00000002
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 834a36c8
Interface: NumberOfPipes = 1
Interface: Pipes[0] : MaximumPacketSize = 0x00000128
Interface: Pipes[0] : EndpointAddress = 0x00000085
Interface: Pipes[0] : Interval = 0x00000001
Interface: Pipes[0] : PipeType = 0x00000001 (UsbdPipeTypeIsochronous)
Interface: Pipes[0] : PipeHandle = 0x834a36e4
Interface: Pipes[0] : MaxTransferSize = 0x00000000
Interface: Pipes[0] : PipeFlags = 0x00000000
[3207 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[3207 ms] >>> URB 20 going down >>>
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 76
Interface: InterfaceNumber = 5
Interface: AlternateSetting = 0
Interface: Class = 0x00000000
Interface: SubClass = 0x00000000
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 00000000
Interface: NumberOfPipes = 0
[3210 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=83539d80, IRQL=0
[3210 ms] <<< URB 20 coming back <<<
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 16
Interface: InterfaceNumber = 5
Interface: AlternateSetting = 0
Interface: Class = 0x00000001
Interface: SubClass = 0x00000002
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 83621580
Interface: NumberOfPipes = 0
[3210 ms] UsbSnoop - MyDispatchInternalIOCTL(baca1e80) : fdo=83338c10,
Irp=8348a7c0, IRQL=0
[3210 ms] >>> URB 21 going down >>>
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 76
Interface: InterfaceNumber = 5
Interface: AlternateSetting = 3
Interface: Class = 0x00000000
Interface: SubClass = 0x00000000
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 00000000
Interface: NumberOfPipes = 0
[3227 ms] UsbSnoop - MyInternalIOCTLCompletion(baca1db0) :
fido=00000000, Irp=8348a7c0, Context=835fced8, IRQL=0
[3227 ms] <<< URB 21 coming back <<<
-- URB_FUNCTION_SELECT_INTERFACE:
ConfigurationHandle = 0x835a8978
Interface: Length = 36
Interface: InterfaceNumber = 5
Interface: AlternateSetting = 3
Interface: Class = 0x00000001
Interface: SubClass = 0x00000002
Interface: Protocol = 0x00000000
Interface: InterfaceHandle = 83631b58
Interface: NumberOfPipes = 1
Interface: Pipes[0] : MaximumPacketSize = 0x00000128
Interface: Pipes[0] : EndpointAddress = 0x00000086
Interface: Pipes[0] : Interval = 0x00000001
Interface: Pipes[0] : PipeType = 0x00000001 (UsbdPipeTypeIsochronous)
Interface: Pipes[0] : PipeHandle = 0x83631b74
Interface: Pipes[0] : MaxTransferSize = 0x00000000
Interface: Pipes[0] : PipeFlags = 0x00000000
[3228 ms] UsbSnoop - MyDispatchPNP(baca2ee0) : IRP_MJ_PNP
(IRP_MN_QUERY_CAPABILITIES)
[3228 ms] UsbSnoop - MyDispatchPNP(baca2ee0) : IRP_MJ_PNP
(IRP_MN_QUERY_PNP_DEVICE_STATE)
[3228 ms] UsbSnoop - MyDispatchPNP(baca2ee0) : IRP_MJ_PNP
(IRP_MN_QUERY_DEVICE_RELATIONS)
[3288 ms] UsbSnoop - MyDispatchPNP(baca2ee0) : IRP_MJ_PNP
(IRP_MN_QUERY_DEVICE_RELATIONS)
Audio driver "magic" successful response:
usb_get_driver_np returned -61
1 get descriptor returned 18, bytes: 12 01 00 01 00 00 00 08 ba 0d 00
30 38 01 01 02 00 01 "...........08....."
2 get descriptor returned 9, bytes: 09 02 86 02 07 01 00 80 fa "........."
3 get descriptor returned 600, bytes: 09 02 86 02 07 01 00 80 fa 09 04
00 00 00 fe 01 00 00 07 21 05 ff ff 08 00 09 04 01 00 00 01 01 00 02
0c 24 01 00 01 60 00 04 02 03 04 05 0c 24 02 05 01 01 00 02 03 00 00
00 09 24 03 06 01 06 00 05 00 0c 24 02 07 01 01 00 02 03 00 00 00 09
24 03 08 01 06 00 07 00 0c 24 02 01 01 06 00 02 03 00 00 00 09 24 03
02 01 01 00 01 00 0c 24 02 03 01 06 00 02 03 00 00 00 09 24 03 04 01
01 00 03 00 09 04 02 00 00 01 02 00 00 09 04 02 02 02 01 02 00 00 07
24 01 05 01 01 00 0e 24 02 01 02 03 18 00 40 1f 00 80 bb 00 09 05 03
05 28 01 01 00 83 07 25 01 00 00 00 00 09 05 83 01 03 00 01 02 00 09
04 02 03 02 01 02 00 00 07 24 01 05 01 01 00 0e 24 02 01 02 03 18 00
40 1f 00 80 bb 00 09 05 03 05 28 01 01 00 83 07 25 01 00 00 00 00 09
05 83 01 03 00 01 02 00 09 04 03 00 00 01 02 00 00 09 04 03 02 02 01
02 00 00 07 24 01 07 01 01 00 0e 24 02 01 02 03 18 00 40 1f 00 80 bb
00 09 05 04 05 28 01 01 00 84 07 25 01 00 00 00 00 09 05 84 01 03 00
01 02 00 09 04 03 03 02 01 02 00 00 07 24 01 07 01 01 00 0e 24 02 01
02 03 18 00 40 1f 00 80 bb 00 09 05 04 05 28 01 01 00 84 07 25 01 00
00 00 00 09 05 84 01 03 00 01 02 00 09 04 03 06 01 01 02 00 00 07 24
01 07 01 01 20 0e 24 02 03 02 02 10 00 40 1f 00 80 bb 00 09 05 04 0d
c0 00 01 00 00 07 25 01 01 00 00 00 09 04 04 00 00 01 02 00 00 09 04
04 02 01 01 02 00 00 07 24 01 02 01 01 00 0e 24 02 01 02 03 18 00 40
1f 00 80 bb 00 09 05 85 05 28 01 01 00 00 07 25 01 00 00 00 00 09 04
04 03 01 01 02 00 00 07 24 01 02 01 01 00 0e 24 02 01 02 03 18 00 40
1f 00 80 bb 00 09 05 85 0d 28 01 01 00 00 07 25 01 01 00 00 00 09 04
05 00 00 01 02 00 00 09 04 05 02 01 01 02 00 00 07 24 01 04 01 01 00
0e 24 02 01 02 03 18 00 40 1f 00 80 bb 00 09 05 86 05 28 01 01 00 00
07 25 01 00 00 00 00 09 04 05 03 01 01 02 00 00 07 24 01 04 01 01 00
0e 24 02 01 02 03 18 00 40 1f 00 80 bb 00
"...................!...............$...`.......$...........$........$...........$........$...........$........$...........$..........................$......$......@.........(.....%........................$......$......@.........(.....%.................................$......$......@.........(.....%........................$......$......@.........(.....%........................$....
.$......@...............%........................$......$......@.........(.....%...............$......$......@.........(.....%........................$......$......@.........(.....%...............$......$......@....."
4 control msg returned 1, bytes: 01 "."
5 control msg returned 1, bytes: 01 "."
6 control msg returned 1, bytes: 01 "."
7 control msg returned 1, bytes: 01 "."
8 control msg returned 1, bytes: 01 "."
9 control msg returned 1, bytes: 01 "."
10 control msg returned 1, bytes: 01 "."
11 control msg returned 1, bytes: 01 "."
12 control msg returned 1, bytes: 01 "."
13 control msg returned 1, bytes: 01 "."
14 control msg returned 1, bytes: 02 "."
15 set configuration returned 0
15 set alternate setting returned 0
16 set alternate setting returned 0
17 set alternate setting returned -22
18 set alternate setting returned 0
19 set alternate setting returned -22
20 set alternate setting returned 0
21 set alternate setting returned -22
I need help! How can I enable the capture/playback?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Digidesign Mbox2 - usb support
@ 2009-08-15 14:59 Damien Zammit
0 siblings, 0 replies; 4+ messages in thread
From: Damien Zammit @ 2009-08-15 14:59 UTC (permalink / raw)
To: alsa-devel
I have a Digidesign Mbox2 and I am trying to write an open source alsa
driver for it.
It is a usb self powered device, and I used usbsnoop on the Windows XP
drivers to capture the initialisation of the device.
It doesn't seem to require any firmware, as I was able to playback the
init code to the device over libusb
and all the lights turned on (which hopefully means it's awaiting
further instructions to play/record).
I have written some C code which sends the init codes to the device
using raw URB, but I really need someone
who is familiar with snd-usb-audio to take a look at my lsusb output
in case it is a standard device before I waste any more time on it.
Please find the debugging output for my experimental initialisation driver here:
http://cytdesign.com/mbox2/mbox2.tar.bz2
Note: After running my init codes, all the lights appeared on the device just
as it does when you boot windows.
Please contact me at damien.zammit [at] gmail.com if you are able to
help. I'm not up to speed with mailing lists, I would prefer an email
to my account
if you are replying to me.
Thanks,
Damien Zammit
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-08-17 6:46 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-16 8:27 Digidesign Mbox2 - usb support Damien Zammit
-- strict thread matches above, loose matches on Subject: below --
2009-08-17 6:46 Damien Zammit
2009-08-16 16:44 Damien Zammit
2009-08-15 14:59 Damien Zammit
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.