Android phones and USB DACs
post-9318491
Post #2,011 of 9,413

DanBa

Headphoneus Supremus
Joined
Nov 12, 2009
Messages
1,721
Reaction score
262
Joined
Nov 12, 2009
Posts
1,721
Likes
262
Quote:
 
Certainly a bit pricey but it's pretty neat
 
http://www.amazon.com/microUSB-Digital-Short-Cable/dp/B00B1NSW8C
 
http://global.rakuten.com/en/store/e-earphone/item/4571263352077/
 
http://global.rakuten.com/en/store/japanshop/item/v1sc4a/
 
As far as I know, this VentureCraft cable won't work with usual USB DAC.
It's only for VentureCraft Go-Dap X, or likely for V-Moda Vamp Verza.
http://www.head-fi.org/t/625054/samsung-galaxy-note-2/210#post_9083490
http://www.head-fi.org/t/632019/apex-glacier-amp-dac-review-and-appreciation-thread/165#post_8924091
 
 

 

 

 
     Share This Post       
post-9318685
Post #2,012 of 9,413

Theogenes

Headphoneus Supremus
Joined
Mar 28, 2010
Messages
2,036
Reaction score
180
Joined
Mar 28, 2010
Posts
2,036
Likes
180
I finished my comparison of the Apex Glacier and Meier Audio PCSTEP. As it ran a good bit longer than expected (damn my literary heritage), I'm going to take fuzzy1969's advice and post the comparison there if anybody's interested.

TL;DR Version: PCSTEP is more of an 'audiophile' sound, Glacier is a slightly warmer, more forgiving sound. Both are fantastic though.
 
     Share This Post       
  • Like
Reactions: DanBa
post-9319171
Post #2,013 of 9,413

Hiver

New Head-Fier
Joined
Apr 2, 2013
Messages
5
Reaction score
11
Joined
Apr 2, 2013
Posts
5
Likes
11
I was glad to find this useful tread on internets, thanks DanBa for your contribution!
 
Just want to report that Galaxy S3 works fine with FiiO E10 with USB Audio Recorder Pro.
 
But in native mode I'm getting in dmesg this:
<7>[ 1475.334922] c3 usb 2-1: adding 2-1:1.1 (config #1, interface 1)
<7>[ 1475.341661] c3 snd-usb-audio 2-1:1.1: usb_probe_interface
<7>[ 1475.341800] c3 snd-usb-audio 2-1:1.1: usb_probe_interface - got id
<7>[ 1475.352243] c0 max77686: id=27, org=1e, val=1c
<3>[ 1475.385089] c3 16:1: cannot get min/max values for control 2 (id 16)
<7>[ 1475.389856] c3 usb 2-1: adding 2-1:1.2 (config #1, interface 2)
 
Looks like it that fails from register proper interface for playback.
Message itself goes from sound/usb/mixer.c:static int get_min_max(struct usb_mixer_elem_info *cval, int default_min).
I have limited debugging capabilities and pretty new to kernel media infrastructure, but I hope I'll debug it once.
 
     Share This Post       
  • Like
Reactions: DanBa
post-9319234
Post #2,014 of 9,413

fuzzy1969

100+ Head-Fier
Joined
Nov 7, 2010
Messages
431
Reaction score
21
Joined
Nov 7, 2010
Posts
431
Likes
21
Im a bit rusty with c, but 'get_min_max' is a function which might be in mixer.c or one of the included libraries declared in the the .c header, 'grep' is a useful tool for finding things in files. 
 
     Share This Post       
post-9319489
Post #2,015 of 9,413

TekeRugburn

aka. ThePhoenix84, ThePhoenix84md, SUZAKUreturns
Joined
Jan 24, 2010
Messages
2,523
Reaction score
115
Joined
Jan 24, 2010
Posts
2,523
Likes
115
     Share This Post       
post-9319715
Post #2,016 of 9,413

Hiver

New Head-Fier
Joined
Apr 2, 2013
Messages
5
Reaction score
11
Joined
Apr 2, 2013
Posts
5
Likes
11
Quote:
Im a bit rusty with c, but 'get_min_max' is a function which might be in mixer.c or one of the included libraries declared in the the .c header, 'grep' is a useful tool for finding things in files. 
Yes - you're right it is in mixer.c, I've pointed that in my message :)
The question is why it fails to read desired information from FiiO chip - Since I've not found a way (yet) to run this code under gdb, data sheet for USB chip on FiiO E10 could be useful to find some inconsistencies between kernel expectations and hardware implementation...
 
     Share This Post       
post-9319819
Post #2,017 of 9,413

fuzzy1969

100+ Head-Fier
Joined
Nov 7, 2010
Messages
431
Reaction score
21
Joined
Nov 7, 2010
Posts
431
Likes
21
Im not sure my fiio E17 only works with my s3 with usb recorder pro, the 'struct' statement refering 'to usb_mixer_elem_info' will be a record of different variables maybe these will be commented in the code and give a idea of which variable is failing to return a value. edit this may be of some use I know its for Linux but Android shares a lot of the same code base..
 
http://kernel.opensuse.org/cgit/kernel/commit/?id=dcaaf9f2c16b56f8bb316881fcd3f15c18fc71e7
 
     Share This Post       
post-9319912
Post #2,018 of 9,413

RochRx7

500+ Head-Fier
Joined
Jan 21, 2013
Messages
520
Reaction score
48
Joined
Jan 21, 2013
Posts
520
Likes
48
This is a whole nother can of worms that I have no experience in.
 
I have a HTC One X.. and was about to buy either a e7 or e17. From what I've read.. typically.. the DAC portion won't function on my phone?
 
But.. it seems like there are ways to bypass this with the "RIGHT" interface + app???
 
     Share This Post       
post-9320421
Post #2,019 of 9,413

DanBa

Headphoneus Supremus
Joined
Nov 12, 2009
Messages
1,721
Reaction score
262
Joined
Nov 12, 2009
Posts
1,721
Likes
262
Quote:
I was glad to find this useful tread on internets
 
 
Welcome!
 
 

Just want to report that Galaxy S3 works fine with FiiO E10 with USB Audio Recorder Pro.
 
 
Thanks!

 
I will include the FiiO E10 in the next S3 – USB DAC compatibility list on the next page 135 + 5.
 
 
 
 
I was glad to find this useful tread on internets, thanks DanBa for your contribution!
 
Just want to report that Galaxy S3 works fine with FiiO E10 with USB Audio Recorder Pro.
 
But in native mode I'm getting in dmesg this:
<7>[ 1475.334922] c3 usb 2-1: adding 2-1:1.1 (config #1, interface 1)
<7>[ 1475.341661] c3 snd-usb-audio 2-1:1.1: usb_probe_interface
<7>[ 1475.341800] c3 snd-usb-audio 2-1:1.1: usb_probe_interface - got id
<7>[ 1475.352243] c0 max77686: id=27, org=1e, val=1c
<3>[ 1475.385089] c3 16:1: cannot get min/max values for control 2 (id 16)
<7>[ 1475.389856] c3 usb 2-1: adding 2-1:1.2 (config #1, interface 2)
 
Looks like it that fails from register proper interface for playback.
Message itself goes from sound/usb/mixer.c:static int get_min_max(struct usb_mixer_elem_info *cval, int default_min).
I have limited debugging capabilities and pretty new to kernel media infrastructure, but I hope I'll debug it once.
 
 
Yes, the Galaxy S3 has a perfectible native USB enumeration that stops interacting with the FiiO E10 / E17 when receiving a buggy USB interface descriptor.
http://forum.xda-developers.com/showpost.php?p=27612972&postcount=458
http://www.head-fi.org/t/595071/android-phones-and-usb-dacs/615#post_8807747
 
According to the USB specification, “interfaces are numbered from zero to one less than the number of concurrent interfaces supported by the configuration”.
 
The three interface descriptors of the E17 are the following:
. interface descriptor number 0: Human Interface Device
. interface descriptor number 1: Audio Control
. interface descriptor number 3: Audio Streaming
 
This latter should have the number 2.
 
 
The USB enumeration of USB Audio Recorder PRO is more tolerant; and the Galaxy S3 using USB Audio Recorder PRO can work with the FiiO E10 / E17.
 
 
As modify the software of the Galaxy S3 is much easier than modify the firmware of existing USB DAC, I asked Samsung to improve the USB enumeration of the Galaxy S3.
http://developer.samsung.com/forum/board/thread/view.do?boardName=GeneralB&messageId=227582&startId=zzzzz~
 
It should be perfect if you could add your finding on the FiiO E10 to the mentioned Samsung thread.
 
That Samsung thread is somewhat a petition to improve USB audio.
The more people post in that Samsung thread, the better Android USB audio could be improved.
 
And what is good for Samsung is also good for others (HTC, Sony,…) which seem to follow Samsung in USB audio.
 
     Share This Post       
post-9320543
Post #2,020 of 9,413

Hiver

New Head-Fier
Joined
Apr 2, 2013
Messages
5
Reaction score
11
Joined
Apr 2, 2013
Posts
5
Likes
11
Actually I haven't seen in Samsung branch of kernel codes (I checked I9300 update 7) mentioned by ALSA gurus patch. So I believe enumeration issue still presents.
 
But, surprisinigly, I'm really not sure that for my FiiO E10 there is the same problem. At least I wasn't able to reproduce described dmesg output.
According to my dmesg log, E10 is not breaking said USB spec here:
Code:
 <7>[ 1475.334922] c3 usb 2-1: adding 2-1:1.1 (config #1, [color=#ff0000]interface 1[/color]) <7>[ 1475.341661] c3 snd-usb-audio 2-1:1.1: usb_probe_interface <7>[ 1475.341800] c3 snd-usb-audio 2-1:1.1: usb_probe_interface - got id <7>[ 1475.352243] c0 max77686: id=27, org=1e, val=1c <3>[ 1475.385089] c3 16:1: cannot get min/max values for control 2 (id 16) <7>[ 1475.389856] c3 usb 2-1: adding 2-1:1.2 (config #1, [color=#ff0000]interface 2[/color]) <7>[ 1475.390630] c3 usb 2-1: adding 2-1:1.3 (config #1, [color=#ff0000]interface 3[/color])
So enumeration seems to be passed fine, but those snd-usb-audio specifics gone wrong with reading min/max values of some parameter of device. 
 
I just bought my DAC, so maybe FiiO changed USB chip for latest revisions of E10 and that caused different behavior.
 
I'll try to do some deeper investigation, if I get some result I'll update here.
 
     Share This Post       
post-9320591
Post #2,021 of 9,413

fuzzy1969

100+ Head-Fier
Joined
Nov 7, 2010
Messages
431
Reaction score
21
Joined
Nov 7, 2010
Posts
431
Likes
21
Im going out on a limb here, Im not familiar with android kernel source code, but back in my unix days, what you can do is compile mixer.c against the kernel headers to create a mixer.o file and use printf to get variable values and use 'insmod' after the device has booted.
 
     Share This Post       
post-9320650
Post #2,022 of 9,413

DanBa

Headphoneus Supremus
Joined
Nov 12, 2009
Messages
1,721
Reaction score
262
Joined
Nov 12, 2009
Posts
1,721
Likes
262
Anyhow, on a same Android device, using a same USB driver, if the native USB audio can’t interact with some USB DAC and if the USB audio of USB Audio Recorder PRO can, the native USB audio should be modified or improved.
 
     Share This Post       
post-9320691
Post #2,023 of 9,413

fuzzy1969

100+ Head-Fier
Joined
Nov 7, 2010
Messages
431
Reaction score
21
Joined
Nov 7, 2010
Posts
431
Likes
21
It would be nice but its still early days, USB recorder pro is the way forward to play 24 bit flac on 24 bit dac something which would be nice.
 
     Share This Post       
post-9320708
Post #2,024 of 9,413

DanBa

Headphoneus Supremus
Joined
Nov 12, 2009
Messages
1,721
Reaction score
262
Joined
Nov 12, 2009
Posts
1,721
Likes
262
     Share This Post       
post-9320736
Post #2,025 of 9,413

fuzzy1969

100+ Head-Fier
Joined
Nov 7, 2010
Messages
431
Reaction score
21
Joined
Nov 7, 2010
Posts
431
Likes
21
The lvr read is interesting it refers to a powered hub (500 ma) although with a android device (100 ma) is the limit. Also 'Some controllers can manage enumeration entirely in hardware except possibly for vendor-provided values in EEPROM' which is where I think fiio messed up with the E17.
 
     Share This Post       

Users Who Are Viewing This Thread (Users: 1, Guests: 11)

Top