Pixel 2 or 3 USB audio control

Search This thread

bjrmd

Senior Member
Feb 13, 2006
841
497
That message means the Pixel isn't recognizing the dongle.
Just buy another, not worth the hassle.

Maybe the pins were damaged from a weird insertion.
 
Last edited:

MrMagicPotato

Senior Member
That message means the Pixel isn't recognizing the dongle.
Just buy another, not worth the hassle.

Maybe the pins were damaged from a weird insertion.

Nope, they aren't bent pins because the dongle kept working on other phones. Only on my Pixel stopped working.
I messaged the Google Pixel Support and they almost immediately sent me a new replacement one, maybe it's because they aknowledged that's a problem with their dongles.
 

hovo222

Member
Oct 22, 2018
9
2
I just noticed that the phone headphone volume on the loudest level without this mod is the same as with the mod
i mean the mod is definitely working the volume is changing every time i dac up but the max which is 175 is the same as the phones without this mod
is it the software or something else any help is appreciated
phone: pixel 2 xl
software: android pie latest security patch (oct)
doungle: oem google's
unlocked rooted
 
Last edited:

bjrmd

Senior Member
Feb 13, 2006
841
497
I just noticed that the phone headphone volume on the loudest level without this mod is the same as with the mod
i mean the mod is definitely working the volume is changing every time i dac up but the max which is 175 is the same as the phones without this mod
is it the software or something else any help is appreciated
phone: pixel 2 xl
software: android pie latest security patch (oct)
doungle: oem google's
unlocked rooted

To clarify:
This app does not make the final volume louder than stock (except with a Dragonfly Red). What it does is give you control over the DAC digital gain and the android volume rocker gain. Stock behavior is to have the DAC digital gain at max (175 arbitrary units) and the user then adjusts the final volume with the rocker. My app lets you choose the DAC digital gain (since lower DAC gains will yield less distortion). However, if you choose DAC gain of 175 and max Android volume (25) that will max out your choices.
 
  • Like
Reactions: hovo222

hovo222

Member
Oct 22, 2018
9
2
To clarify:
This app does not make the final volume louder than stock (except with a Dragonfly Red). What it does is give you control over the DAC digital gain and the android volume rocker gain. Stock behavior is to have the DAC digital gain at max (175 arbitrary units) and the user then adjusts the final volume with the rocker. My app lets you choose the DAC digital gain (since lower DAC gains will yield less distortion). However, if you choose DAC gain of 175 and max Android volume (25) that will max out your choices.
ok thank you for clearifying is there anyway to boost the sound without changing the doungle?
 

bjrmd

Senior Member
Feb 13, 2006
841
497
ok thank you for clearifying is there anyway to boost the sound without changing the doungle?

The Google DAC dongle has an impedance sensor (see my post on DAC testing) so if you are unfortunate enough to have a headphone/IEM that is both low impedance and low sensitivity, that will be an issue. Most of the low impedance IEMs are pretty sensitive (and that's probably why Google designed it this way - safety) so the net volume will be fine.

What are you using?
 
  • Like
Reactions: hovo222

hovo222

Member
Oct 22, 2018
9
2
The Google DAC dongle has an impedance sensor (see my post on DAC testing) so if you are unfortunate enough to have a headphone/IEM that is both low impedance and low sensitivity, that will be an issue. Most of the low impedance IEMs are pretty sensitive (and that's probably why Google designed it this way - safety) so the net volume will be fine.

What are you using?
I've tested it on 2 of my headphones one was the sony xb50ap this headphones were the loudest
and the razer adaro djs which were very quiet
so what your saying is that im stuck with only one option and that is the headphones i should get headphones that are low impendance but high in sensitivity?

---------- Post added at 06:00 AM ---------- Previous post was at 05:59 AM ----------

sorry for being noob I'm just new to type c audio
 

bjrmd

Senior Member
Feb 13, 2006
841
497
I've tested it on 2 of my headphones one was the sony xb50ap this headphones were the loudest
and the razer adaro djs which were very quiet
so what your saying is that im stuck with only one option and that is the headphones i should get headphones that are low impendance but high in sensitivity?

---------- Post added at 06:00 AM ---------- Previous post was at 05:59 AM ----------


sorry for being noob I'm just new to type c audio

The Razer has an impedance of only 32 so the DAC will only put out 300 mV. The sensitivity is listed as 103 dB, but no indication if it's per volt or mw. Either way not very sensitive.
The Sony is listed as 40 ohms (may trigger the higher output but can't be certain) and sensitivity of 110 dB/mw which may be more than your Razer.

You may be better off getting a different Dongle, look at my thread on the Dongle testing for options. The HTC would be pretty good since both your headphones are single driver (the HTC has a high impedance so a problem for multi driver IEM) and it put's out close to 1 volt.
 
  • Like
Reactions: hovo222

bjrmd

Senior Member
Feb 13, 2006
841
497
The version below now supports the Apple Dac dongle, allowing it to reach 1 Volt output. In addition, this version requires a small addition to a folder in Magisk that will change the volume steps from 25 to 50. The 50 step change was done to make each volume increment about 1 dB in volume. for very fine control of gain.

To change the volume steps:
Make an empty folder in sbin/.core/img/.core/ called post-fs-data.d/
y4mFsjertmn92Hqng6ZG7UFVQ-VfIJwIZ85x_Z4oz9eNeDZT7D2YFME3rJVBsvOAfmMrK3Lfu3TinQGpd9mw6tOACEnX5_1zvH7mMvH9Wwrxms8iXIvPT1FjYZNKwRzT7fswhesoi5wzysWKgnonaAklX_kXdtELt_EztY8VP25ZIiQgZRDHfx-rAv_G_GOzSq1

Put the volmod.sh file into that folder as shown above. (the file is in the zip)
Grant permissions (755) read, write, execute.

The functionality and menus are pretty much the same in the app. Distortion wise, stock is comparable now (Nov update in Pie) but if you need full voltage out from the Apple or Dragonfly Dac, or want to track your Spl levels to protect your hearing, this will be of use.
 

Attachments

  • Pixel_2_Audio.38.apk
    2.8 MB · Views: 1,371
  • volmod.rar
    129 bytes · Views: 704

BulleT0o

Senior Member
Mar 12, 2017
51
16
More details please.
So I would have my earphones in the dongle and plug the dongle in the phone and play music, 9 out of 10 times the music plays through the speakers of the phone and if it does work, it only plays music for 15 seconds than stops playing than if you try to play it again, goes through the speakers, I've ordered another dongle free from Google and that had the exact same issue
 

bjrmd

Senior Member
Feb 13, 2006
841
497
So I would have my earphones in the dongle and plug the dongle in the phone and play music, 9 out of 10 times the music plays through the speakers of the phone and if it does work, it only plays music for 15 seconds than stops playing than if you try to play it again, goes through the speakers, I've ordered another dongle free from Google and that had the exact same issue

It sounds like either the headset connector is faulty of the USB C is loosing contact. What you are describing happens when the Pixel does not "sense" a dongle plus earphones plugged in. If two dongles did the same thing, try a different set of earphones. I don't think my app has anything to do with that, but remove it to be sure.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 19
    Purpose: To reduce the distortion and better control the audio DAC of the Pixel 2 XL.

    Edit 11/25/18
    Please see this post for the version supporting the Apple Dac. In addition the new version incorporates a mod for 50 steps of volume rocker control. I redid the volume limits in the app to 50, so you will have issues using the new app with 25 steps only.

    Introduction: The new Pixel 2 differs from the original Pixel in a major way. The lack of a headset jack offloads the headset out capability to a USB Dac in the supplied dongle (or any USB Dac you are using). Although at first glace this is a disappointment to most, on further thought it has some advantages. No longer will you need to upgrade a phone because the audio is better on a newer model, just upgrade the dongle instead. Or, have a range of dongles to suit your purpose (power, low distortion, impedance, form factor, etc). But, unfortunately, the folks who designed the software, did not (IMO), properly adjust the digital gain of the dongle Dac or aftermarket devices like the Dragonfly red. So the Dragonfly can put out 2.1 V, but the stock Pixel 2 will only max out at 55 mV. Worse, the supplied dongle (which has very nice electrical/audio specs), is set to have maximal Dac digital gain, resulting in higher distortion. Now you may say, what about the good Gsmarena tests. They test all devices at max output, so the distortion bands will not appear so significant. But, you listen at perhaps one hundredth of that voltage, making the comparison invalid. By cutting the digital gain of the dongle, we can approach Dragonfly red specs in regards to distortion. The dongle has very low impedance, excellent crosstalk and power is there, if needed.
    The goal of this project is to enable Dac digital gain adjustment, report the gain numbers and if so desired, track listening Spl to help protect your hearing. It is not an equalizer, effects module and the goal is audio quality/accuracy.
    It does need root.

    Requirements: Root with Magisk, Tested on stock 8.0. At this time the only dongles working are the supplied Google unit, and the Dragonfly red. More to follow. Each needs to be set in the software backend. App will work with Spotify, Google music, Neutron player, maybe others.

    Download the tinymix file, unpack tinymix and place it in your sdcard/Download. If using the the tinymix32 file make sure you rename it to just tinymix, no extension.

    Note, the version of tinymix for the U11 must be the 32 bit one.
    Unzip the tinymix32, rename it to tinymix and place in the Download folder, then reboot the phone.

    The version for the Pixel 2 XL is the 64 bit version posted as just "tinymix.rar"


    Download and install the apk.
    Open the apk, it will ask for root permission, say yes.
    Reboot your phone.
    The app will automatically copy tinymix to sbin.
    Insert the dongle with headphones attached-- the phone does not register the dongle properly unless the headset is plugged into it. The Dragonfly does not have this issue.
    The app will automatically open and the following screen appears:
    y4m27osKRmyEkV7lmrHLwkil_9fCwOFBMmI3s-XgakpyC61zBqd-R_tsz8J5LqfXmIxtVuwggwH2e6UWy0MULhLtmr61UzTVRNe87XMJKowZ8DESJ5b67CJ7EFhxjaQ8JqRuWl1uFWUUwD25cywYjmRnmkjCaMFuLKakUe6xF8kzkqbzr-v7eDgynX4-Pb4AUzYm2ZyTxLCmrhreLjPsY6CAg

    For now do nothing, it will go away in 10 secs.
    Start playing music and the following notifications should appear:
    y4mV9P7TMduRMqglkg0umsG3V_piHZDi3wijBHE7jM9FKXpKXpPi6ghGoeRff1EB7utoXLisLwNy1rbRl881ThNczdUa7yTb4kYTOZpuGr3Sst-I8W70mPGr-6kVcIWga6LHlXshJIj1l7q3r7H1R7usTaqDuq3XOrLgSuDWmjMRhNYxaaGC0VDzgkWsGw-cKqpdVoWZQ6QAf_sz39syQfVFw

    Lets look at USB Gain first. Pull down the notification and the Dac Up, Dac Down, Sliders appear. The Up/Down will increment the digital gain by about 1 dB per click. The sliders will bring up the following:
    y4mTGJ3giS1nXxm2ooO6Zg_JeFee_XdcCjZFz3rDdGVri2JnvOa9cJ-ZYgtSNTP4ZNASGzuM3x7qQ5VehJo1KX7MYTjYYNouSdxKbHwRa9PTBGQULxIqrLMsdp0x7gQlP2JLX_zepF4WsZbaW9gdBIZRoreJRDxGQYav6EkQtdhRg75FQq-EgBp-GjtuQRsAx-SjYdaImT65126ZrJ4ExV2pQ

    The left controls the android volume, the right side control the Dac. You generally want the android vol near max and the Dac gain low. Since you can still adjust the android volume with the standard volume rocker (2.4dB per click), I would find a comfortable net volume out with the android Vol about 22 with a Dac gain to fill up the difference. The initial settings are some safe defaults I put in and we can change that as noted below. The gain numbers on the slider go from 1 to 64(Dragonfly defaults- 1 dB per tick), but the Google dongle has a range of 1 to 175 (don't ask me why). I have converted this so the spinner reads 1 to 64, but below it is the actual file output.
    The 3 dot menu on the top right will bring you back here:
    y4m27osKRmyEkV7lmrHLwkil_9fCwOFBMmI3s-XgakpyC61zBqd-R_tsz8J5LqfXmIxtVuwggwH2e6UWy0MULhLtmr61UzTVRNe87XMJKowZ8DESJ5b67CJ7EFhxjaQ8JqRuWl1uFWUUwD25cywYjmRnmkjCaMFuLKakUe6xF8kzkqbzr-v7eDgynX4-Pb4AUzYm2ZyTxLCmrhreLjPsY6CAg

    The headphones screen transfers to form entry to set up various headphones you may own. If you know the specs, the app will calculate the Spl (but there is an issue with the Google dongle calculation, it's off by a few dB, Dragonfly is spot on). More importantly the initial Dac gain (in percent) and android volume can be entered, so when you replug, the app will start with those settings. It remembers the last applied headset setting on reboot. So if you liked a dongle gain of 32 of 64 (same as 87 of 175), that's 50 percent. Sorry about the lack of uniformity, but the dongles all have different gain numbers.
    The list of headphone entries lies below. A single click chooses the parameters for the listening session(start vol, gain, etc) and will remain for the next Usb insertion as well. To delete an entry, long press on it.
    The headphone sensitivity numbers published are either dB/V or dB/mw. The program uses dB/V, but will autoconvert if dB/mw is entered. Be extra careful which headphone sensitivity units are used--either dB/V or dB/mw. Enter either one but not both. The website of the manufacturer should have the specs. Note: Shure is in dB/mw and Sennheiser is dB/V.
    y4mP7Yx83GE3SzpuO9XoGPrnBFLPkd0G5fIJKB2aZIKH1HfdFJeoG_Fxnl6uhD-2ct8yUBwvofZegoJjk-pnEKu-HN4ELviKeU0ODZHhdTB8qqPNQkG5995Un3PLRXRF5mAgp7fcALnpORAoTnpPZaCcrsnvyt4Dzs0G85LVS0_ztD7ZvTMxBDZ1GmCgi37kqm4mkUl-T4YxRi-PSJ9EGhaQg

    The visualizer button will engage the java android visualizer that actually calculates RMS and Peak signal, making the Spl more accurate. Some details from my old app.
    Lastly, the Spl Graph option will allow you to view the current session of dongle use or previous, it use the Google Chart api.
    358ckzc.jpg


    To be extra cautious initially-Make sure you do not put the headset on and play - keep it off the ear then insert--a high sound volume can damage your hearing.


    Many thanks to @chdloc for continued help in android audio, acoustics and of course friendship.
    8
    A few comments on excessive Dac digital gain.
    The Dragonfly red is felt to be one of the top Usb Dacs in that price range. But how would it look if the digital gain was set at max (like Google does with it's dongle).
    Here it is, android volume down, digital gain at max:
    y4mdbPLdpVD5tzvTTWkuXd0xU_F6q7USbRrxFcYysxl8sBaR17sKNw8aDQc7k2S8SI9l9unSLzLk6WP8a-DX6jzSS15_Ok2Ln2ZIDtWhLSbhA-AvTPSwI6yeytLbkLFeK9BAfAn0EUGzcHbkQ4KC8_8AkarFhtQrukK5ThGIhrBuncUenUMT1jXZLrDbDdnjcczy0hGhT9omTT3zq5-8pwrsg

    Not much different from the Google Usb dongle.
    But, digital gain turned down, android vol high - much better:
    y4mQ1J7mlNjsJJp-h4RbnHI-RPGcRo9Ha0NjRbgViFEzPLyc5SKyeGyIpC5UEyRPBjdKVeT7o4MT2hEy3DTDgc3SGoe5t7lKIe0sz1hiUo4_21GjFmM0SedNP_EFz0ZuI-u2kGxhCPLlf3enAiCepXJajpIrW05MAQ5ZKqECjeJeiPJngeIseTEJWDfLnqy3jUTqXG16oKj6aS1VDsph7laAA


    I did measure the output voltage of the Dragonfly at max gain/max android vol, it is 2.1 volts - as advertised.
    4
    The version below now supports the Apple Dac dongle, allowing it to reach 1 Volt output. In addition, this version requires a small addition to a folder in Magisk that will change the volume steps from 25 to 50. The 50 step change was done to make each volume increment about 1 dB in volume. for very fine control of gain.

    To change the volume steps:
    Make an empty folder in sbin/.core/img/.core/ called post-fs-data.d/
    y4mFsjertmn92Hqng6ZG7UFVQ-VfIJwIZ85x_Z4oz9eNeDZT7D2YFME3rJVBsvOAfmMrK3Lfu3TinQGpd9mw6tOACEnX5_1zvH7mMvH9Wwrxms8iXIvPT1FjYZNKwRzT7fswhesoi5wzysWKgnonaAklX_kXdtELt_EztY8VP25ZIiQgZRDHfx-rAv_G_GOzSq1

    Put the volmod.sh file into that folder as shown above. (the file is in the zip)
    Grant permissions (755) read, write, execute.

    The functionality and menus are pretty much the same in the app. Distortion wise, stock is comparable now (Nov update in Pie) but if you need full voltage out from the Apple or Dragonfly Dac, or want to track your Spl levels to protect your hearing, this will be of use.
    3
    I am using Apple DAC dongle for my Xiaomi Mi A1 phone running stock Android Pie. With the default configuration, the volume output is quite low - fine for sensitive IEMs, but not really usable with higher impedance headphones. I stumbled upon a quite old Reddit post suggesting to use ALSA mixer to fix this issue. I extracted ALSA binaries from some old Android APK and made a simple Magisk module. I control the gain with Tasker. Microphone and play button work and I don't have any playback issues. I don't have any measurement system, but volume gets definitely much higher and I can drive less sensitive headphones without any issues. Is this solution any different to the app in this thread?

    Default:
    Code:
    # [B]alsa_amixer -c 1[/B]
    Simple mixer control 'Headphone',0
      Capabilities: pvolume pswitch pswitch-joined penum
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 120
      Mono:
      Front Left:[B] Playback 80 [67%] [-40.00dB][/B] [on]
      Front Right:[B] Playback 80 [67%] [-40.00dB][/B] [on]

    Headphones with no mic:
    Code:
    # [B]alsa_amixer -c  1 sset Headphone 120[/B]
    Simple mixer control 'Headphone',0
      Capabilities: pvolume pswitch pswitch-joined penum
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 120
      Mono:
      Front Left: [B]Playback 120 [100%] [0.00dB][/B] [on]
      Front Right: [B]Playback 120 [100%] [0.00dB][/B] [on]

    Headset with a mic:

    Code:
    # [B]alsa_amixer -c  1 sset Headset,1 120[/B]
    Simple mixer control 'Headset',1
      Capabilities: pvolume pswitch pswitch-joined penum
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 120
      Mono:
      Front Left: [B]Playback 120 [100%] [0.00dB][/B] [on]
      Front Right: [B]Playback 120 [100%] [0.00dB][/B] [on]

    Nice work.
    Yes, it is similar (I use tinymix which is an offshoot of alsa).
    You may want to adjust the gain (the 120 number) so the net output volume is at a comfortable level with the android rocker volume near max. Distortion will be higher if the Dac gain is 120/120 and the android volume is let's say 50% max rather than a near max android volume and 80% Dac output.
    3
    Great work @bjrmd. I'm really curious about this issue too. I poked around a little bit with Nexus 6P audio in the past, but this USB-C dongle has me fascinated. I had a Pixel 2 XL for a short bit, and played with the dongle on my Nexus 6P, but had to send it back. :( So I no longer have access to one to test.

    Insert the dongle with headphones attached-- the phone does not register the dongle properly unless the headset is plugged into it. The Dragonfly does not have this issue.
    I signed in just to let you know the Google dongle enumerating as a USB audio device dynamically is a feature, not a bug. It's intended to work this way. Benson confirmed this in a Google Plus post.

    Basically, it's intended to prevent you from "accidentally" null-routing notification sounds (or muting the mic) merely by plugging in an unconnected dongle. It will first probe the TRRS of the attached device. If it detects TRS stereo headphones, it will dynamically enumerate as stereo output ONLY. If it detects TRRS stereo headset, it will dynamically enumerate as a mono microphone input AND stereo output. This can be verified by enabling System UI tuner, and toggling the "headset connection" display icon in the taskbar. (Boom mic icon = headset, headphones icon = stereo. Very useful for troubleshooting CTIA/OMTP autodetection errors.)

    (I suspect, but have not tested) If you connect a TS, TRS microphone, it will enumerate a mono, stereo mic input device (respectively). Again, I haven't tested this, but I suspect it's true. (I could be wrong. :confused:)

    Your Dragonfly always enumerates as a stereo out, so won't encounter this. Just thought I'd highlight a bit of Google's fancy engineering.

    I wish I had the hardware to investigate the rest of your data and pass it on to the engineers at Google, but unfortunately I don't have access or funding of that sort. The most I can do as a volunteer is spectate and pass it on. And give you massive props for the amazing work you are doing. :good: :)