From owner-freebsd-multimedia@FreeBSD.ORG Tue Jun 14 22:33:42 2011 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9DC051065673 for ; Tue, 14 Jun 2011 22:33:42 +0000 (UTC) (envelope-from olivier@gid0.org) Received: from mail-pz0-f54.google.com (mail-pz0-f54.google.com [209.85.210.54]) by mx1.freebsd.org (Postfix) with ESMTP id 7AC788FC17 for ; Tue, 14 Jun 2011 22:33:42 +0000 (UTC) Received: by pzk27 with SMTP id 27so3688142pzk.13 for ; Tue, 14 Jun 2011 15:33:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.26.42 with SMTP id i10mr3404825pbg.291.1308090423311; Tue, 14 Jun 2011 15:27:03 -0700 (PDT) Received: by 10.68.50.166 with HTTP; Tue, 14 Jun 2011 15:27:03 -0700 (PDT) In-Reply-To: References: <201106142156.59630.hselasky@c2i.net> Date: Wed, 15 Jun 2011 00:27:03 +0200 Message-ID: From: Olivier Smedts To: Hans Petter Selasky Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-multimedia@freebsd.org Subject: Re: [uaudio] M-Audio Fast Track Ultra is not recognized, where to start ? X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jun 2011 22:33:42 -0000 2011/6/15 Olivier Smedts : > Hello, > > 2011/6/14 Hans Petter Selasky : >> Hi, >> >> Try to enable uaudio debugging before plugging in the device: >> >> sysctl hw.usb.uaudio.debug=3D15 > > Thanks for the suggestion (and all your work on the usb stack BTW). > After turning on debugging on uaudio and ehci : > Jun 15 00:09:10 q kernel: ehci_root_intr: port 1 changed > Jun 15 00:09:10 q kernel: ehci_set_hw_power: > Jun 15 00:09:11 q kernel: ehci_roothub_exec: ehci after reset, status=3D0= x00001005 > Jun 15 00:09:11 q kernel: ehci_roothub_exec: ehci port 1 reset, status > =3D 0x00001005 > Jun 15 00:09:11 q root: Unknown USB device: vendor 0x0763 product > 0x2080 bus uhub7 > Jun 15 00:09:11 q kernel: ehci_set_hw_power: > Jun 15 00:09:11 q kernel: ehci_set_hw_power: Async is active > Jun 15 00:09:11 q kernel: ugen7.3: at usbus7 > Jun 15 00:09:11 q kernel: uaudio0: on usbus7 > Jun 15 00:09:11 q kernel: uaudio_mixer_fill_info: invalid Audio Control h= eader > Jun 15 00:09:11 q kernel: uaudio_attach: audio rev 0.00 > Jun 15 00:09:11 q kernel: uaudio_attach: 0 mixer controls > Jun 15 00:09:11 q kernel: uaudio0: No playback! > Jun 15 00:09:11 q kernel: uaudio0: No recording! > Jun 15 00:09:11 q kernel: umidi_bulk_read_callback: start > Jun 15 00:09:11 q kernel: uaudio0: MIDI sequencer > Jun 15 00:09:11 q kernel: ehci_set_hw_power: > Jun 15 00:09:11 q kernel: uaudio_attach: doing child attach > Jun 15 00:09:11 q kernel: ehci_set_hw_power: Async is active > Jun 15 00:09:11 q kernel: pcm4: on uaudio0 > Jun 15 00:09:11 q kernel: uaudio_attach_sub: emulating master volume > Jun 15 00:09:11 q kernel: uaudio_mixer_init_sub: > Jun 15 00:09:11 q root: Unknown USB device: vendor 0x0763 product > 0x2080 bus uhub7 > Jun 15 00:09:11 q kernel: ehci_set_hw_power: > Jun 15 00:09:11 q kernel: ehci_set_hw_power: Async is active > Jun 15 00:09:14 q kernel: ehci_set_hw_power: > Jun 15 00:09:14 q kernel: ehci_set_hw_power: > Jun 15 00:09:14 q kernel: ehci_set_hw_power: Async is active > Jun 15 00:09:18 q kernel: ehci_set_hw_power: > Jun 15 00:09:18 q kernel: ehci_set_hw_power: > Jun 15 00:09:18 q kernel: ehci_set_hw_power: Async is active > Jun 15 00:09:22 q kernel: ehci_set_hw_power: > Jun 15 00:09:22 q kernel: ehci_set_hw_power: > Jun 15 00:09:22 q kernel: ehci_set_hw_power: Async is active > Jun 15 00:09:26 q kernel: ehci_set_hw_power: > Jun 15 00:09:26 q kernel: ehci_set_hw_power: > Jun 15 00:09:26 q kernel: ehci_set_hw_power: Async is active > Jun 15 00:09:27 q kernel: ehci_root_intr: port 1 changed > Jun 15 00:09:27 q kernel: ehci_set_hw_power: > Jun 15 00:09:27 q kernel: umidi_bulk_read_callback: error=3DUSB_ERR_STALL= ED > Jun 15 00:09:27 q kernel: ehci_set_hw_power: Async is active > Jun 15 00:09:27 q kernel: ehci_set_hw_power: > Jun 15 00:09:27 q kernel: ugen7.3: at usbus7 (disconnected) > Jun 15 00:09:27 q kernel: ehci_set_hw_power: Async is active > Jun 15 00:09:27 q kernel: uaudio0: at uhub7, port 1, addr 3 (disconnected= ) > Jun 15 00:09:27 q kernel: uaudio_mixer_uninit_sub: > Jun 15 00:09:27 q kernel: pcm4: detached > Jun 15 00:09:27 q kernel: umidi_bulk_read_callback: error=3DUSB_ERR_CANCE= LLED > Jun 15 00:09:28 q kernel: ehci_set_hw_power: > > The last errors are here because I turned off the device. I think > "uaudio_mixer_fill_info: invalid Audio Control header" is interesting. > Any way to dump this ? To reply at my own question, I saw this in src/sys/dev/sound/usb/uaudio.c : if ((acdp->bLength < sizeof(*acdp)) || (acdp->bDescriptorType !=3D UDESC_CS_INTERFACE) || (acdp->bDescriptorSubtype !=3D UDESCSUB_AC_HEADER)) { DPRINTF("invalid Audio Control header\n"); goto done; } And I tried : # usbconfig -u 7 -a 3 dump_device_desc ugen7.3: at usbus7, cfg=3D0 md=3DHOST spd=3DHIGH (480Mbps) pwr=3DON bLength =3D 0x0012 bDescriptorType =3D 0x0001 bcdUSB =3D 0x0200 bDeviceClass =3D 0x0000 bDeviceSubClass =3D 0x0000 bDeviceProtocol =3D 0x0000 bMaxPacketSize0 =3D 0x0040 idVendor =3D 0x0763 idProduct =3D 0x2080 bcdDevice =3D 0x0151 iManufacturer =3D 0x0001 iProduct =3D 0x0002 iSerialNumber =3D 0x0000 bNumConfigurations =3D 0x0001 # usbconfig -u 7 -a 3 dump_all_config_desc ugen7.3: at usbus7, cfg=3D0 md=3DHOST spd=3DHIGH (480Mbps) pwr=3DON Configuration index 0 bLength =3D 0x0009 bDescriptorType =3D 0x0002 wTotalLength =3D 0x0154 bNumInterfaces =3D 0x0005 bConfigurationValue =3D 0x0001 iConfiguration =3D 0x0000 bmAttributes =3D 0x0080 bMaxPower =3D 0x00f9 Additional Descriptor bLength =3D 0x08 bDescriptorType =3D 0x0b bDescriptorSubType =3D 0x00 RAW dump: 0x00 | 0x08, 0x0b, 0x00, 0x05, 0xff, 0x01, 0x00, 0x02 Interface 0 bLength =3D 0x0009 bDescriptorType =3D 0x0004 bInterfaceNumber =3D 0x0000 bAlternateSetting =3D 0x0000 bNumEndpoints =3D 0x0000 bInterfaceClass =3D 0x00ff bInterfaceSubClass =3D 0x0001 bInterfaceProtocol =3D 0x0000 iInterface =3D 0x0002 Additional Descriptor bLength =3D 0x0b bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x0b, 0x24, 0x01, 0x00, 0x01, 0x34, 0x00, 0x03, 0x08 | 0x01, 0x02, 0x03 Additional Descriptor bLength =3D 0x0c bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x02 RAW dump: 0x00 | 0x0c, 0x24, 0x02, 0x01, 0x03, 0x06, 0x00, 0x08, 0x08 | 0x03, 0x00, 0x00, 0x00 Additional Descriptor bLength =3D 0x09 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x03 RAW dump: 0x00 | 0x09, 0x24, 0x03, 0x02, 0x01, 0x01, 0x00, 0x01, 0x08 | 0x00 Additional Descriptor bLength =3D 0x0c bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x02 RAW dump: 0x00 | 0x0c, 0x24, 0x02, 0x03, 0x01, 0x01, 0x00, 0x08, 0x08 | 0x03, 0x00, 0x00, 0x00 Additional Descriptor bLength =3D 0x09 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x03 RAW dump: 0x00 | 0x09, 0x24, 0x03, 0x04, 0x03, 0x06, 0x00, 0x03, 0x08 | 0x00 Interface 1 bLength =3D 0x0009 bDescriptorType =3D 0x0004 bInterfaceNumber =3D 0x0001 bAlternateSetting =3D 0x0000 bNumEndpoints =3D 0x0000 bInterfaceClass =3D 0x00ff bInterfaceSubClass =3D 0x0002 bInterfaceProtocol =3D 0x0000 iInterface =3D 0x0000 Interface 1 Alt 1 bLength =3D 0x0009 bDescriptorType =3D 0x0004 bInterfaceNumber =3D 0x0001 bAlternateSetting =3D 0x0001 bNumEndpoints =3D 0x0002 bInterfaceClass =3D 0x00ff bInterfaceSubClass =3D 0x0002 bInterfaceProtocol =3D 0x0000 iInterface =3D 0x0000 Additional Descriptor bLength =3D 0x07 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00 Additional Descriptor bLength =3D 0x14 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x02 RAW dump: 0x00 | 0x14, 0x24, 0x02, 0x01, 0x08, 0x03, 0x18, 0x04, 0x08 | 0x44, 0xac, 0x00, 0x80, 0xbb, 0x00, 0x88, 0x58, 0x10 | 0x01, 0x00, 0x77, 0x01 Endpoint 0 bLength =3D 0x0007 bDescriptorType =3D 0x0005 bEndpointAddress =3D 0x0001 bmAttributes =3D 0x0005 wMaxPacketSize =3D 0x0138 bInterval =3D 0x0001 bRefresh =3D 0x0000 bSynchAddress =3D 0x0000 Additional Descriptor bLength =3D 0x07 bDescriptorType =3D 0x25 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00 Endpoint 1 bLength =3D 0x0007 bDescriptorType =3D 0x0005 bEndpointAddress =3D 0x0082 bmAttributes =3D 0x0001 wMaxPacketSize =3D 0x0003 bInterval =3D 0x0001 bRefresh =3D 0x0000 bSynchAddress =3D 0x0000 Interface 2 bLength =3D 0x0009 bDescriptorType =3D 0x0004 bInterfaceNumber =3D 0x0002 bAlternateSetting =3D 0x0000 bNumEndpoints =3D 0x0000 bInterfaceClass =3D 0x00ff bInterfaceSubClass =3D 0x0002 bInterfaceProtocol =3D 0x0000 iInterface =3D 0x0000 Interface 2 Alt 1 bLength =3D 0x0009 bDescriptorType =3D 0x0004 bInterfaceNumber =3D 0x0002 bAlternateSetting =3D 0x0001 bNumEndpoints =3D 0x0001 bInterfaceClass =3D 0x00ff bInterfaceSubClass =3D 0x0002 bInterfaceProtocol =3D 0x0000 iInterface =3D 0x0000 Additional Descriptor bLength =3D 0x07 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x07, 0x24, 0x01, 0x02, 0x01, 0x01, 0x00 Additional Descriptor bLength =3D 0x14 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x02 RAW dump: 0x00 | 0x14, 0x24, 0x02, 0x01, 0x08, 0x03, 0x18, 0x04, 0x08 | 0x44, 0xac, 0x00, 0x80, 0xbb, 0x00, 0x88, 0x58, 0x10 | 0x01, 0x00, 0x77, 0x01 Endpoint 0 bLength =3D 0x0007 bDescriptorType =3D 0x0005 bEndpointAddress =3D 0x0081 bmAttributes =3D 0x0005 wMaxPacketSize =3D 0x0138 bInterval =3D 0x0001 bRefresh =3D 0x0000 bSynchAddress =3D 0x0000 Additional Descriptor bLength =3D 0x07 bDescriptorType =3D 0x25 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00 Interface 2 Alt 2 bLength =3D 0x0009 bDescriptorType =3D 0x0004 bInterfaceNumber =3D 0x0002 bAlternateSetting =3D 0x0002 bNumEndpoints =3D 0x0001 bInterfaceClass =3D 0x00ff bInterfaceSubClass =3D 0x0002 bInterfaceProtocol =3D 0x0000 iInterface =3D 0x0000 Additional Descriptor bLength =3D 0x07 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x07, 0x24, 0x01, 0x02, 0x01, 0x01, 0x00 Additional Descriptor bLength =3D 0x14 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x02 RAW dump: 0x00 | 0x14, 0x24, 0x02, 0x01, 0x08, 0x03, 0x18, 0x04, 0x08 | 0x44, 0xac, 0x00, 0x80, 0xbb, 0x00, 0x88, 0x58, 0x10 | 0x01, 0x00, 0x77, 0x01 Endpoint 0 bLength =3D 0x0007 bDescriptorType =3D 0x0005 bEndpointAddress =3D 0x0081 bmAttributes =3D 0x0005 wMaxPacketSize =3D 0x0138 bInterval =3D 0x0001 bRefresh =3D 0x0000 bSynchAddress =3D 0x0000 Additional Descriptor bLength =3D 0x07 bDescriptorType =3D 0x25 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00 Interface 3 bLength =3D 0x0009 bDescriptorType =3D 0x0004 bInterfaceNumber =3D 0x0003 bAlternateSetting =3D 0x0000 bNumEndpoints =3D 0x0002 bInterfaceClass =3D 0x0001 bInterfaceSubClass =3D 0x0003 bInterfaceProtocol =3D 0x0000 iInterface =3D 0x0005 Additional Descriptor bLength =3D 0x07 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x07, 0x24, 0x01, 0x00, 0x01, 0x3f, 0x00 Additional Descriptor bLength =3D 0x06 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x02 RAW dump: 0x00 | 0x06, 0x24, 0x02, 0x01, 0x01, 0x00 Additional Descriptor bLength =3D 0x06 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x02 RAW dump: 0x00 | 0x06, 0x24, 0x02, 0x02, 0x02, 0x00 Additional Descriptor bLength =3D 0x08 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x03 RAW dump: 0x00 | 0x08, 0x24, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01 Additional Descriptor bLength =3D 0x08 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x03 RAW dump: 0x00 | 0x08, 0x24, 0x03, 0x02, 0x04, 0x01, 0x01, 0x01 Endpoint 0 bLength =3D 0x0007 bDescriptorType =3D 0x0005 bEndpointAddress =3D 0x0007 bmAttributes =3D 0x0002 wMaxPacketSize =3D 0x0008 bInterval =3D 0x0008 bRefresh =3D 0x0000 bSynchAddress =3D 0x0000 Additional Descriptor bLength =3D 0x05 bDescriptorType =3D 0x25 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x05, 0x25, 0x01, 0x01, 0x01 Endpoint 1 bLength =3D 0x0007 bDescriptorType =3D 0x0005 bEndpointAddress =3D 0x0087 bmAttributes =3D 0x0002 wMaxPacketSize =3D 0x0008 bInterval =3D 0x0000 bRefresh =3D 0x0000 bSynchAddress =3D 0x0000 Additional Descriptor bLength =3D 0x05 bDescriptorType =3D 0x25 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x05, 0x25, 0x01, 0x01, 0x03 Interface 4 bLength =3D 0x0009 bDescriptorType =3D 0x0004 bInterfaceNumber =3D 0x0004 bAlternateSetting =3D 0x0000 bNumEndpoints =3D 0x0000 bInterfaceClass =3D 0x00fe bInterfaceSubClass =3D 0x0001 bInterfaceProtocol =3D 0x0000 iInterface =3D 0x0007 Additional Descriptor bLength =3D 0x09 bDescriptorType =3D 0x21 bDescriptorSubType =3D 0x01 RAW dump: 0x00 | 0x09, 0x21, 0x01, 0xd0, 0x07, 0x00, 0x04, 0x10, 0x08 | 0x01 --=20 Olivier Smedts=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 _ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 ASCII ribbon campaign ( ) e-mail: olivier@gid0.org=A0 =A0 =A0 =A0 - against HTML email & vCards=A0 X www: http://www.gid0.org=A0 =A0 - against proprietary attachments / \ =A0 "Il y a seulement 10 sortes de gens dans le monde : =A0 ceux qui comprennent le binaire, =A0 et ceux qui ne le comprennent pas."