1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.

    Dismiss Notice

Use a standard USB DAC with a Nexus 7 (step by step guide)

Discussion in 'Portable Source Gear' started by deltaechoe, Sep 14, 2012.
2 3 4 5 6 7 8 9 10
  1. Deltaechoe
    I know this is covered in other threads, but it is so buried that I'm going to make a thread dedicated to it

    Anyway, so you just bought a Nexus 7, congratulations, you actually got a device that will make your ears happy.  There is one caveat though, you do need to do a bit of work to get it working, but fear not, here is a step by step virutally foolproof guide to bypass the less than stellar built in DAC on the Nexus 7!

    (WARNING: This guide does involve unlocking your device which can, though extremely unlikely especially if you follow the guide, lead to unexpected damage to the device, neither the developers of the software that I reference here nor I take any responsibility to any damages caused to your device.)

    Things you will need:

    1.  A Nexus 7, obviously (https://play.google.com/store/devices/details?id=nexus_7_8gb)
    2.  A PC or laptop that runs windows 7 (just for the unlocking part, there are plenty of other guides on how to unlock for other OS's)
    3.  An OTG cable (ex. http://www.amazon.com/T-Flash-Adapter-Samsung-GT-i9100-GT-N7000/dp/B005FUNYSA/ref=sr_1_1?ie=UTF8&qid=1347667703&sr=8-1&keywords=OTG+cable)
    4.  A standard plug and play USB dac (preferably one that can run on battery power otherwise you get into problems with power management)
    5.  Nexus 7 Toolkit:  http://forum.xda-developers.com/showthread.php?t=1766475
    6.  Poitee kernel:  http://rootzwiki.com/topic/30129-kernel-nexus-7-cifsnfsusb-otg-gpu-oc-cpu-oc-072912/

    Step 1: Prep tablet for use with the toolkit
    •     Swipe down from the top of the screen to open the notification area.
    •     Tap the settings icon next to the time and date.
    •     Scroll down to the Developer options area and tap it.
    •     Slide the switch to turn on Developer options.
    •     Check the box that says USB debugging
    •     Hit the back button to return to the previous screen
    •     Tap the “About tablet” option.
    •     Make a note of the Build number — the last item on this screen.

    Another word about this step, if you have been using your tablet and it is still stock, make sure you backup all the files you have on it onto your computer as unlocking the tablet will erase absolutely all user data, including the /sdcard/.

    Step 2: Install the nexus toolkit to help unlock your tablet (windows 7 only, if you have a different os google a guide for that os and then skip to step 3)
    •     Install the Nexus toolkit that you downloaded (posted in the things you will need section)
    •     When you start up the toolkit it will ask what model type you are using, scroll down to the nexus 7 portion and select the build that you have
    •     Start it up, and under the initial setup click on the Full Driver Installation, this will walk your through how to install the drivers to unlock the device
    •     If you haven't done so, take a backup of the device by clicking on the backup button
    •     Click on the Unlock button to unlock your device
    •     Under the root button, tick the Custom Recovery box and then click on root and follow the script
    Step 3: Flash the poitee kernel
    •     Download the kernel that is posted above in the things you will need section of this guide
    •     Boot up the Nexus 7 and go through the initial setup again
    •     Put the poitee kernel onto the /sdcard/ of the nexus 7
    •     Power down the tablet completely
    •     Power on the tablet by holding the power button and down on the volume rocker, you should be in fastboot mode
    •     Use the volume rocker to select recovery mode and hit the power button to select
    •     At this point it would be a good idea to take a backup of your current state in your recovery's backup and restore menu
    •     If you are using CWM recovery, select wipe cache.  Once that is done click on install zip from sdcard and look for the poitee kernel that you downloaded, select it and follow through with the flashing
    •     If you are using TWRP recovery (which I personally prefer), touch the wipe tab and then touch Cache under the wipe menu, once that is done go back to the home menu and touch the install tab and look for the poitee kernel and select it, follow the prompts to install
    • You have now flashed the kernel
    Step 4: Final steps (the easy part)
    •     Reboot back into the system, hopefully everything has gone ok and you now have poitee kernel installed, if you run into problems then reboot back into recovery and restore the backup that you took in step 3, then repeat part 8 or 9 depending on which recovery you have installed.
    •     If everything went smooth, then power down the tablet and attach the OTG cable to it, then attach your DAC to the other side of the OTG cable
    •     When you power on your tablet, the sound should be routed through the USB DAC instead of the built in one as long as you don't disconnect the DAC
    •     Enjoy much higher quality sound from your new tablet XD
    NOTE:  If you do disconnect the DAC at any point, you will have to reboot the tablet with it attached.  Also to route sound out of the tablet, you always have to boot it up with the DAC attached otherwise it won't switch.  Also if you are using the E17, make sure you turn the USB charge feature off so it only uses the battery, it seems to draw too much current for the tablet to handle and doesn't work well when relying on the tablet's power.
  2. DanBa
  3. DanBa
    A list of standard USB DAC reportedly interworking with a custom Android-powered tablet Asus/Google Nexus 7:
    custom Google Nexus 7 > digital audio stream >> USB OTG cable (Micro-A plug inserted in the Nexus 7) >> standard USB DAC >> amp >> headphones
    Customizing Nexus 7:
    . ESi Dr. DAC nano:
    . FiiO E7 (USB DAC/amp):
    . FiiO E10 (USB DAC/amp):
    . FiiO E17 (USB DAC/amp):
    . iBasso D10 (USB DAC/amp):
    . Logitech Gaming Headset G930:
    . Practical Devices XM6 (USB DAC/amp):
    . Turtle Beach Micro II:
  4. headfinoob
    Sweet, just got my Nexus 7 working with my Fiio E17.

    Sent from my ADR6425LVW using Tapatalk 2
  5. beaver316
    Great to see the E17 working on android phones. 
  6. yokken
    The Trinity 7 kernel also works. I need to figure out how to get the E17 working on my SGS3. Then I'll be in business. Thanks for the writeup!
  7. Deltaechoe
    That's good to know, diversity is grand.  As far as the SGS3 goes, I don't think that's going to happen since the DAC does draw a bit too much power even when you turn the USB charge option off.  I don't think the phone can handle that.
  8. headfinoob
    What about cutting the power conductor in the USB cable? Does work in the E17 should still be able to play off battery

    Sent from my ADR6425LVW using Tapatalk 2
  9. DanBa
    For the time being, the stock Galaxy S3 can’t interwork with the FiiO E17, even via a powered USB hub.
    A powered hub does not draw power from the Galaxy S3, and it provides full power to the E17.
    There is a controversial FiiO E17 interface descriptor numbering.
    According to the USB specifications, “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.
    S3 dmesg log output:
    <4>[ 1040.806786] c0 usb 2-1: config 1 has an invalid interface number: 3 but max is 2
    <4>[ 1040.806910] c0 usb 2-1: config 1 has no interface number 2
    An equivalent issue with a Teac USB DAC:
    "Which doesn't prevent Teac from writing buggy firmware.
    > $ dmesg
    > usb 2-4: config 1 has an invalid interface number: 3 but max is 2
    > usb 2-4: config 1 has no interface number 1
    > The USB audio driver actually just uses functions from the USB driver
    > core to access the interface association. However, the USB core didn't
    > assign it during its probe, which is most probably a result of the
    > broken descriptor set.
    And it turned out it is.
    Ben, can you try the patch (of the link) below, please? It's a pretty obvious flaw in the USB core system which is triggered by buggy descriptors."
    Archos G9 can interwork with E17.
    And at least drivers/usb/core/message.c of Archos G9 and the one of SGS3 are different, slightly different.
    Apparently, a custom S3 can work with a E17 according to the following topic:
    Also the E17 has some issue with the stock Windows driver:


  10. Deltaechoe

    That is not a good idea
  11. xxblyxx
    Thanks for the walk through.  Got my N7 all hooked up.  Wish there was a way to switch back and forth without rebooting.
  12. jackrabbitslim0
  13. jackrabbitslim0
    Deltaechoe,  Thanks for your guide!
    It works liquid smooth, and the Nexus Toolkit is really useful and easy to follow  (even have Roll Back to Original Stock Rom function)
    [I am going to Donate some $ to him]
    Btw, it is wierd that I have to use Quick Boot apps to go to recovery mode,
    And it is TWRP recovery rather than CWM (although I clicked flash with CWM).
    Anyway seems TWRP looks and works cool for me.
    I want to say:
    My iBasso D12 and Nuforce Icon HDP work PERFECTLY FINE !!!
    But my Audioquest  Dragonfly USB DAC doesn't work...
    Now listening and enjoying!!! Thank YOU very much.[​IMG]
  14. Tomz
    Thanks for this! 
    Following this guide I got my Nexus 7 and E17 to work together. Awesome sound on my Sennheiser HD-598. I registered only to say thanks [​IMG]
    Also, in case anyone was wondering V3 Poitee kernel works fine with latest android 4.1.2 (stock).
  15. Gofre
    Took a few attempts, but success =D
2 3 4 5 6 7 8 9 10

Share This Page