Date: Sun, 21 Apr 2013 11:37:52 -0700 From: Craig Leres <leres@ee.lbl.gov> To: Hans Petter Selasky <hps@bitfrost.no> Cc: freebsd-multimedia@freebsd.org Subject: Re: Dragonfly USB DAC under 9.1-RELEASE Message-ID: <51743200.7010209@ee.lbl.gov> In-Reply-To: <51740C56.3000907@bitfrost.no> References: <51732A63.9010001@ee.lbl.gov> <51740C56.3000907@bitfrost.no>
next in thread | previous in thread | raw e-mail | index | archive | help
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: <AudioQuest DragonFly AudioQuest inc.> 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 <no string> bmAttributes = 0x0080 bMaxPower = 0x0064 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0000 bInterfaceClass = 0x0001 bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0000 iInterface = 0x0000 <no string> 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 <no string> Interface 1 Alt 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0001 bNumEndpoints = 0x0002 bInterfaceClass = 0x0001 bInterfaceSubClass = 0x0002 bInterfaceProtocol = 0x0000 iInterface = 0x0000 <no string> 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 <OUT> bmAttributes = 0x0005 <ASYNC-ISOCHRONOUS> 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 <IN> bmAttributes = 0x0001 <ISOCHRONOUS> 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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51743200.7010209>