From owner-freebsd-multimedia@FreeBSD.ORG Sun Apr 21 18:38:03 2013 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D28DA629 for ; Sun, 21 Apr 2013 18:38:03 +0000 (UTC) (envelope-from leres@ee.lbl.gov) Received: from fun.ee.lbl.gov (fun.ee.lbl.gov [IPv6:2620:83:8000:102::ca]) by mx1.freebsd.org (Postfix) with ESMTP id BEFCA1D2D for ; Sun, 21 Apr 2013 18:38:03 +0000 (UTC) Received: from ice.ee.lbl.gov (ice.ee.lbl.gov [131.243.2.213]) (authenticated bits=0) by fun.ee.lbl.gov (8.14.6/8.14.6) with ESMTP id r3LIbqPR083979 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sun, 21 Apr 2013 11:37:55 -0700 (PDT) Message-ID: <51743200.7010209@ee.lbl.gov> Date: Sun, 21 Apr 2013 11:37:52 -0700 From: Craig Leres User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130404 Thunderbird/17.0.5 MIME-Version: 1.0 To: Hans Petter Selasky Subject: Re: Dragonfly USB DAC under 9.1-RELEASE References: <51732A63.9010001@ee.lbl.gov> <51740C56.3000907@bitfrost.no> In-Reply-To: <51740C56.3000907@bitfrost.no> X-Enigmail-Version: 1.5.1 Content-Type: multipart/mixed; boundary="------------080104070105020605060303" Cc: freebsd-multimedia@freebsd.org X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Apr 2013 18:38:03 -0000 This is a multi-part message in MIME format. --------------080104070105020605060303 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit First let me say that I did a quick install of FreeBSD 10.0-CURRENT (r249439) onto a spare system yesterday and was able to play various source material with no glitches. Then I back ported the 10.0-CURRENT /sys/dev/sound tree (r249715) to my 9.1-RELEASE system and this solved my remaining audio issues. There were bug fixes but it looks like the bulk of the changes add support for USB Audio v2.0. On 04/21/13 08:57, Hans Petter Selasky wrote: > There are multiple options for debugging this issue. > > 1) Look at the usbdump utility for dumping the data communication for > your device: > > usbdump -i usbusX -f Y -s 65536 I did find usbdump earlier but don't know enough about usb audio to be able to identify any problems. > I suspect your device uses rate adaption, and that it does not work > properly. The Dragonfly supports 44.1, 48, 88.2 and 96 and one goal of mine is to not be doing any additional conversion so I'm hoping it's not doing that! > What does: > > usbconfig -d X.Y dump_curr_config_desc > > Say? Attached. I also installed usbutils and have attached output from "lsusb -v". > See also: > > sysctl hw.usb.uaudio.debug=15 hw.usb.uaudio.debug was very helpful the original sample rate mismatch problem. One thing that's annoying is the way dev/sound/usb/uaudio.c is structured, the sample rate is programmed in the Dragonfly only when the device is inserted; there's no way to change rates once it's plugged in. Thanks for the suggestions. Craig --------------080104070105020605060303 Content-Type: text/plain; charset=us-ascii; name="usbconfig.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="usbconfig.txt" ugen1.2: at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0083 bNumInterfaces = 0x0002 bConfigurationValue = 0x0001 iConfiguration = 0x0000 bmAttributes = 0x0080 bMaxPower = 0x0064 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0000 bInterfaceClass = 0x0001 bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0000 iInterface = 0x0000 Additional Descriptor bLength = 0x09 bDescriptorType = 0x24 bDescriptorSubType = 0x01 RAW dump: 0x00 | 0x09, 0x24, 0x01, 0x00, 0x01, 0x2b, 0x00, 0x01, 0x08 | 0x01 Additional Descriptor bLength = 0x0c bDescriptorType = 0x24 bDescriptorSubType = 0x02 RAW dump: 0x00 | 0x0c, 0x24, 0x02, 0x05, 0x01, 0x01, 0x00, 0x02, 0x08 | 0x03, 0x00, 0x00, 0x00 Additional Descriptor bLength = 0x0d bDescriptorType = 0x24 bDescriptorSubType = 0x06 RAW dump: 0x00 | 0x0d, 0x24, 0x06, 0x07, 0x05, 0x02, 0x01, 0x00, 0x08 | 0x02, 0x00, 0x02, 0x00, 0x00 Additional Descriptor bLength = 0x09 bDescriptorType = 0x24 bDescriptorSubType = 0x03 RAW dump: 0x00 | 0x09, 0x24, 0x03, 0x08, 0x01, 0x03, 0x00, 0x07, 0x08 | 0x00 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0000 bInterfaceClass = 0x0001 bInterfaceSubClass = 0x0002 bInterfaceProtocol = 0x0000 iInterface = 0x0000 Interface 1 Alt 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0001 bNumEndpoints = 0x0002 bInterfaceClass = 0x0001 bInterfaceSubClass = 0x0002 bInterfaceProtocol = 0x0000 iInterface = 0x0000 Additional Descriptor bLength = 0x07 bDescriptorType = 0x24 bDescriptorSubType = 0x01 RAW dump: 0x00 | 0x07, 0x24, 0x01, 0x05, 0x01, 0x01, 0x00 Additional Descriptor bLength = 0x14 bDescriptorType = 0x24 bDescriptorSubType = 0x02 RAW dump: 0x00 | 0x14, 0x24, 0x02, 0x01, 0x02, 0x03, 0x18, 0x04, 0x08 | 0x44, 0xac, 0x00, 0x80, 0xbb, 0x00, 0x88, 0x58, 0x10 | 0x01, 0x00, 0x77, 0x01 Endpoint 0 bLength = 0x0009 bDescriptorType = 0x0005 bEndpointAddress = 0x0001 bmAttributes = 0x0005 wMaxPacketSize = 0x024c bInterval = 0x0001 bRefresh = 0x0000 bSynchAddress = 0x0083 Additional Descriptor bLength = 0x07 bDescriptorType = 0x25 bDescriptorSubType = 0x01 RAW dump: 0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00 Endpoint 1 bLength = 0x0009 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 bmAttributes = 0x0001 wMaxPacketSize = 0x0003 bInterval = 0x0001 bRefresh = 0x0005 bSynchAddress = 0x0000 --------------080104070105020605060303 Content-Type: text/plain; charset=us-ascii; name="lsusb.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="lsusb.txt" Bus /dev/usb Device /dev/ugen1.2: ID 21b4:0081 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x21b4 idProduct 0x0081 bcdDevice 1.0c iManufacturer 1 AudioQuest inc. iProduct 2 AudioQuest DragonFly iSerial 3 (C) 2011 Wavelength Audio, ltd. bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 131 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 200mA 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 43 bInCollection 1 baInterfaceNr( 0) 1 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 5 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 7 bSourceID 5 bControlSize 2 bmaControls( 0) 0x01 bmaControls( 0) 0x00 Mute bmaControls( 1) 0x02 bmaControls( 1) 0x00 Volume bmaControls( 2) 0x02 bmaControls( 2) 0x00 Volume iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 8 wTerminalType 0x0301 Speaker bAssocTerminal 0 bSourceID 7 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 5 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 20 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 4 Discrete tSamFreq[ 0] 44100 tSamFreq[ 1] 48000 tSamFreq[ 2] 88200 tSamFreq[ 3] 96000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x024c 1x 588 bytes bInterval 1 bRefresh 0 bSynchAddress 131 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0003 1x 3 bytes bInterval 1 bRefresh 5 bSynchAddress 0 Device Status: 0x0001 Self Powered --------------080104070105020605060303--