• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Best cheap USB-C headphone dongles?

Interested to see if you have the issue I do moving around. If you have the chance to try of course. Good to know it works on linux as I have not plugged it into the PC yet.
Uhm, I don't know if it can be related to your issue or the fact that it's recognized at max 96 Khz on my OS, but now I turned on the usb port where the CX is plugged (it's a usb hub with switch for each port) and it didn't showed up in OS:
in events i found this:
Bash:
[ 6264.838600] usb 1-1.1.1.2: new low-speed USB device number 12 using ehci-pci
[ 6265.695125] usb 1-1.1.1-port2: Cannot enable. Maybe the USB cable is bad?
[ 6266.547054] usb 1-1.1.1-port2: Cannot enable. Maybe the USB cable is bad?
[ 6266.547387] usb 1-1.1.1-port2: attempt power cycle
[ 6267.718980] usb 1-1.1.1-port2: Cannot enable. Maybe the USB cable is bad?
[ 6268.571113] usb 1-1.1.1-port2: Cannot enable. Maybe the USB cable is bad?
[ 6268.571340] usb 1-1.1.1-port2: unable to enumerate USB device
[ 6316.739015] usb 1-1.1.1-port2: Cannot enable. Maybe the USB cable is bad?
[ 6317.595007] usb 1-1.1.1-port2: Cannot enable. Maybe the USB cable is bad?
[ 6317.595262] usb 1-1.1.1-port2: attempt power cycle
[ 6318.762890] usb 1-1.1.1-port2: Cannot enable. Maybe the USB cable is bad

then played a bit moving the dingle in the usb port and pressing a little on it and this showed up
Bash:
[ 6320.090596] usb 1-1.1.1.2: new full-speed USB device number 19 using ehci-pci
[ 6320.123438] usb 1-1.1.1.2: device descriptor read/8, error -32
[ 6320.251452] usb 1-1.1.1.2: device descriptor read/8, error -32
[ 6320.358788] usb 1-1.1.1-port2: unable to enumerate USB device
[ 6367.986601] usb 1-1.1.1.2: new full-speed USB device number 20 using ehci-pci
[ 6368.066590] usb 1-1.1.1.2: device descriptor read/64, error -32
[ 6374.514605] usb 1-1.1.1.2: new full-speed USB device number 22 using ehci-pci
[ 6374.624178] usb 1-1.1.1.2: not running at top speed; connect to a high speed hub
[ 6374.644548] usb 1-1.1.1.2: New USB device found, idVendor=3302, idProduct=3365, bcdDevice= 0.01
[ 6374.644574] usb 1-1.1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 6374.644583] usb 1-1.1.1.2: Product: CX31993 384Khz HIFI AUDIO
[ 6374.644590] usb 1-1.1.1.2: Manufacturer: TTGK Technology Co.,Ltd
[ 6374.672141] input: TTGK Technology Co.,Ltd CX31993 384Khz HIFI AUDIO Consumer Control as /devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1.2/1-1.1.1.2:1.3/0003:3302:3365.0008/input/input37

Now the dongle is recognized by OS again as max 96 Khz.

I'll do other test without the usb hub and with a different usb-c/usb-a adapter.
 
Just got the "generic" GraveAudio DA06 with CX31993 for €5.50.
Name is not very reassuring, but whatever.
This has no additional max97220 or other opamps since line level output voltage sits at exact 1 V.
Build is mixed up, plug and case appears solid metal but cable is super filmsy and the 3.5 socket doesn't give a very solid feel when plugging\unplugging a jack.
Testing with Truthear Gate plenty loud at 35% OS volume, just the same i set with the Sonata BHD in low gain mode (same 1 V max out), no hiss, no strange emi noise.
Testing with Thieaudio Ghost (60 ohm, 91 db), they go pretty loud at 55% OS volume, at least for my preferences, so there's even good margin for eq with negative preamp.
Plugging trrs mic cable activetes the ADC and OS recognize the input device, flawless.
I bought it just for a nice to have gadget to leave at my office pc but honestly with my iems and headphones i could perfectly live with this alone, €5.50 (thin metal case and usb-c\usb-a adapter included) and dac\amp resolved, jaw dropping

Only strange thing is that Linux recognizes it supporting "only" max 96 Khz, nothing more:

Bash:
TTGK Technology Co.,Ltd CX31993 384Khz HIFI AUDIO at usb-0000:00:1d.0-1.1.1.1,  : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (SYNC)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000
    Bits: 16
    Channel map: FL FR
  Interface 1
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (SYNC)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000
    Bits: 24
    Channel map: FL FR
  Interface 1
    Altset 3
    Format: S32_LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (SYNC)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000
    Bits: 32
    Channel map: FL FR

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 1
    Endpoint: 0x81 (1 IN) (SYNC)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000
    Bits: 16
    Channel map: FL
  Interface 2
    Altset 2
    Format: S24_3LE
    Channels: 1
    Endpoint: 0x81 (1 IN) (SYNC)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000
    Bits: 24
    Channel map: FL

Also Windows 10, the first time i plugged it showed max 32/96 in audio control panel, but unplugging\replugging reinitialized it and then showed 32/384.
Honestly it doesn't make a difference to me, just sharing for completeness.

P.S.
As you see, usb communication is in SYNC mode, that matches with the large jitter skirt I've seen in other CX dongles review.
A good 1V option to Apple dongle when availability is an issue, or Android restrictions are unacceptable. Better metrics than all kinds of Realtek, KTMicro and mystery alternatives. And beats everything in low power consumption.
 
Last edited:
Ok, found out the disconnections culprit, in my case was the bundled usb-c\usb-a converter. Every little movement the dongle made, os events were flooded with disconnect\connect messages. Given that directly plugged to the usb-c port of my phone it was stable I suspected the adapter and it was indeed. swapped woth another one (hopefully i have a bunch of them) now pc connection is stable no matter which movements i make the dongle do.

A good option to Apple dongle when availability is an issue, or Android restrictions are unacceptable. Better metrics than all kinds of Realtek, KTMicro and mystery alternatives. And beats everything in low power consumption.

I agree but with some reserve... The behavior on my Linux Mint with Pipewire is somewhat strange, as said it is recognozed as max 96 Khz, and playing test files at various sample rates everything more than 48 Khz is upsampled to 96 Khz. Nothing of this happens with my other 3 dongles, all CS43131, where everything is played at native sample rate via pipewire.
I'll check on another Mint without pipewire, but It seems more like a kernel driver issue.
 
My bad, also the max 96 Khz issue turned out to be not relative to the dongle itself but to the usb connection... Looking better at the log i posted earlier I found out that that usb-hub with switched ports is a crappy FULL-speed hub, not High-speed... So connecting the dongle to it makes it go Full-speed with sample rate limitation to 96 K.

Code:
[ 8497.386457] usb 1-1.1.1.2: new full-speed USB device number 69 using ehci-pci
[ 8497.500036] usb 1-1.1.1.2: not running at top speed; connect to a high speed hub

I got the hub toghether with the CX dongle in the 3 item Aliexpress bundle for €2.50... it's stated to be high-speed but ok, sometimes we get what we pay for... Still useful for powering mouse, laptop cooling stand and charging bluetooth speaker... maybe...

Ok, in the end the CX dongle proved to be totally OK, i'm just thinking about reinforcing it with some heat-shrink tube, the cable really concerns me...
 
Uhm, I don't know if it can be related to your issue or the fact that it's recognized at max 96 Khz on my OS, but now I turned on the usb port where the CX is plugged (it's a usb hub with switch for each port) and it didn't showed up in OS:

Thanks for this and your other posts. I seen your follow ups confirming what it was but I still think it's a similar issue even though I was connected without the converter directly to a phone. Btw I have the same issue with hardware volume switching off randomly but using the Hiby music app.

A question for anyone, but I presume there is no easy way to connect the dongle at system level on android?
 
What does "connect at system level" mean?

I mean everything going through the dongle. Like newpipe or the browser. As it is it works through the music player only.
 
I mean everything going through the dongle. Like newpipe or the browser. As it is it works through the music player only.
Whether you can play all audio or just via special Apps, is dictated by your Android ROM.

If you'd like, you can switch to LineageOS, which supports systemwide USB Audio output.

Other ROMs I've used, which support this are Oxygen OS, One UI, and MIUI.
 
Whether you can play all audio or just via special Apps, is dictated by your Android ROM.

If you'd like, you can switch to LineageOS, which supports systemwide USB Audio output.

Other ROMs I've used, which support this are Oxygen OS, One UI, and MIUI.
MIUI is the Xiaomi one I use I think, thank you. You really are a fountain of knowledge. They should make you into an AI or something :)
 
Hmm. Strange that it doesn't work for you then.

Might be dependent on the specific MIUI version?

I'll check the version number and update you here.

Let me look first as I just assumed it'd involve more faffing. It's just a setting, but it'll depend on if my Poco c65 supports it.

I'll check when I'm home.
 
My bad, also the max 96 Khz issue turned out to be not relative to the dongle itself but to the usb connection... Looking better at the log i posted earlier I found out that that usb-hub with switched ports is a crappy FULL-speed hub, not High-speed... So connecting the dongle to it makes it go Full-speed with sample rate limitation to 96 K.

Code:
[ 8497.386457] usb 1-1.1.1.2: new full-speed USB device number 69 using ehci-pci
[ 8497.500036] usb 1-1.1.1.2: not running at top speed; connect to a high speed hub

I got the hub toghether with the CX dongle in the 3 item Aliexpress bundle for €2.50... it's stated to be high-speed but ok, sometimes we get what we pay for... Still useful for powering mouse, laptop cooling stand and charging bluetooth speaker... maybe...

Ok, in the end the CX dongle proved to be totally OK, i'm just thinking about reinforcing it with some heat-shrink tube, the cable really concerns me...
To conclude this, i just forgot to post the correct system info now that the CX-Pro is connected to a proper us 2.0 port:

Bash:
TTGK Technology Co.,Ltd CX31993 384Khz HIFI AUDIO at usb-0000:00:1d.0-1.1.1.1,  : USB Audio
---------------------------------------------------------------------------------------------
Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (SYNC)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000, 192000, 384000
    Data packet interval: 125 us
    Bits: 16
    Channel map: FL FR
  Interface 1
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (SYNC)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000, 192000, 384000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL FR
  Interface 1
    Altset 3
    Format: S32_LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (SYNC)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000, 192000, 384000
    Data packet interval: 125 us
    Bits: 32
    Channel map: FL FR

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 1
    Endpoint: 0x81 (1 IN) (SYNC)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000
    Data packet interval: 125 us
    Bits: 16
    Channel map: FL
  Interface 2
    Altset 2
    Format: S24_3LE
    Channels: 1
    Endpoint: 0x81 (1 IN) (SYNC)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL

To be noted that unlike all my other dongles supporting at minimum 44.1 Khz, this start low down from 8 Khz.
And again, unlike my other dongles, 352 Khz are not supported, jumping from 192 to 384, as pipewire confirms automatically upsampling a 352 K file to the nearest supported format (384 K):

Schermata a 2024-07-04 00-42-39.png
 
Let me look first as I just assumed it'd involve more faffing. It's just a setting, but it'll depend on if my Poco c65 supports it.

I can't find the USB out setting but if I turn off USB hq output on hiby it works system wide. It also solves the issue (mostly) with the connection as I move around.

It doesn't seem as loud without hardware volume/direct out, but I am on IEMs just now and can't get near full volume anyway.

I'll need to play with the settings in hiby I think. I manually changed the usb port speed to full power but that broke it completely :)
 
So I gave it to a friend in work and on her brief use walking around she didn't have any issues. I realised walking home that its (mainly) because I leave it dangling out my pocket :facepalm:. It's still very random errors like a 90s graphics card. I can get it to distort on the right channel at times due to whatever connection thing it is, and I can also (based on ears only) get it to output at a sampling rate below 44khz, or at least some other shenanigans which sounds crappier and low pass filtered.

I am still impressed enough that I have another one on the way.
 
JCALLY JM6 PRO measurements

Here's another one from a brand with a good reputation here. From my understanding the "pro" in the name comes from the use of the MAX97220 chip that affords it more power than the standalone CX31993 dongles have. I measured the voltage at max output and it is 1.455V.
View attachment 378257


The measurement chain is as follows: Windows PC - Topping HS02 isolator - JCALLY JM6 PRO - E1DA Scaler/Cosmos.

Please note that the output was set to 24/48. The RMAA measurements are of the left channel taken with the Cosmos in mono mode as it performs better that way. They are supplemented by the stereo crosstalk results.

View attachment 378258View attachment 378241
View attachment 378251View attachment 378252
View attachment 378253View attachment 378254
View attachment 378255View attachment 378256


Do note I am now going to use the AES17-2015 standard notch setting for distortion results on REW. The first measurement was posted so that it can be compared apples to apples with my previous ones. The difference is only a dB here but I prefer to be upfront about these things.

View attachment 378247

SINAD of about 96.8 dB, which meets spec. In all this gets the job done. The 1kHz sine shows a wide skirt with some hash, but it should be inaudible. These are workman-like results that are good for the price and product position, but less so each passing day. To be sure, the JM-20 is the one to get, but anyone that has this and is happy should remain so.

I am hoping to build my own custom alligator clip cable so that I can use my E1DA loading board in order to take measurements at specific loads. But I am guessing this performs well enough for IEMs and more efficient headphones.

I have it, and hissing is terrible out of this thing, tested in multiple devices like a Laptop and a Smartphone and with multiple IEM, it's worse than any other headphone output like the one integrated in my Laptop, which is also noisy with IEM but not as much as with this. So yeah I don't know about these results, can you test connecting an IEM to it that has a fairly high sensitivity, like 107 db/mw or higher, to it to see if you can hear hissing? without using any isolator.
 
Last edited:
I have it, and hissing is terrible out of this thing, tested in multiple devices like a Laptop and a Smartphone and with multiple IEM, it's worse than any other headphone output like the one integrated in my Laptop, which is also noisy with IEM but not as much as with this. So yeah I don't know about these results, can you test connecting an IEM to it that has a fairly high sensitivity, like 107 db/mw or higher, to it to see if you can hear hissing? without using any isolator.

I just tried 3 IEMs and have found no hiss. JBL Endurance Run II, Salnotes Zero, and Artti R2, pretty typical ASR IEMs. You can look at my review page below and let me know if there is something there you'd like for me to try but I would not expect anything different. The fact that you describe the hissing as "terrible" makes me think there is an issue with your dongle.

EDIT: My source is an ASUS G14 laptop with the dongle set to 24/96 and Windows audio enhancements all set to off.

What IEMs are you having issues with? Is the issue at all volumes? It would help if you were more specific. It would help us recreate the issue as best as we can.

To be fair, if I had super high sensitivity IEMs that I really cared about, this would never be a dongle that I would consider to begin with.
 
Last edited:
I just tried 3 IEMs and have found no hiss. JBL Endurance Run II, Salnotes Zero, and Artti R2, pretty typical ASR IEMs. You can look at my review page below and let me know if there is something there you'd like for me to try but I would not expect anything different. The fact that you describe the hissing as "terrible" makes me think there is an issue with your dongle.

EDIT: My source is an ASUS G14 laptop with the dongle set to 24/96 and Windows audio enhancements all set to off.

What IEMs are you having issues with? Is the issue at all volumes? It would help if you were more specific. It would help us recreate the issue as best as we can.

To be fair, if I had super high sensitivity IEMs that I really cared about, this would never be a dongle that I would consider to begin with.

With Salnotes Zero it's not terrible, but it's there, still more than on my integrated laptop output, in a lower noise environment I find it noticeable, shouldn't be the case if this is supposed to be better than integrated audio.
The issue happens at any volume as soon as you start any audio, for example an "absolute silence" track on youtube, one should not hear anything, but hissing is evident if one is in a lower noise environment, not only connected to my laptop but the exact same hissing happens when connected to my smartphone.
 
With Salnotes Zero it's not terrible, but it's there, still more than on my integrated laptop output, in a lower noise environment I find it noticeable, shouldn't be the case if this is supposed to be better than integrated audio.
The issue happens at any volume as soon as you start any audio, for example an "absolute silence" track on youtube, one should not hear anything.
Motherboard audio has a different output-Z though, so loading conditions are different in that case. If your IEM is demanding for the dongle then that's what it is. Did you try different devices?
 
Last edited:
Motherboard audio has a different output-Z though, so loading conditions are different in that case. If your IEM is demanding for the dongle then that's what it is. Did you try different devices?

With Salnotes Zero it's not terrible, but it's there, still more than on my integrated laptop output, in a lower noise environment I find it noticeable, shouldn't be the case if this is supposed to be better than integrated audio.
The issue happens at any volume as soon as you start any audio, for example an "absolute silence" track on youtube, one should not hear anything, but hissing is evident if one is in a lower noise environment, not only connected to my laptop but the exact same hissing happens when connected to my smartphone.


I hear no hiss with my Salnotes Zero connected directly to my laptop. (Just checked with a 2022 and 2024 Asus G14.) I don't recall ever having any sort of sound issue the whole time I have had them. So I'm thinking markanini may be on to something. Perhaps there is a setting or driver issue. Or, again, your dongle could simply be broken. Not sure if such a cheap dongle is worth all the aggravation if you have found ones that work. I'd just chuck recycle it.
 
I got it for 7€, If it costed 1€ it would be ok but for 7€ I expect better sound than integrated Asus laptop output, and it's not the case here, well except using it with DT770, for that use case it's very good since it has low sensitivity and I get extra power, the laptop has like 0.5 Vrms at around 30 ohm.
Driver issue is not it, as the exact same thing happens in Android with a Smartphone.
There is a chance it is defective, but I saw two more users on reddit with the same issue, and the recent review of a CX31993 dongle with dogshit 50mv dynamic range along with that dongle and the mblu lifeme pro having a similarly bad jitter noise with the 12k test, makes me think CX31993 is at fault here.
 
Last edited:
Back
Top Bottom