USB Exclusive mode not working 15.02 beta (Pixel 8 pro / Qudelix 5k)

App version

Beta

Issue description

Testing beta usb exclusive modes using all available options and monitoring the sample rate received into the USB Dac, none of the audio seems to be bypassing the android 48khz limitation when playing 44khz audio, audio above 48khz is given in correct sample rate regardless of exclusive modde or not.

Device type

Phone

Media provider

Jellyfin

Steps to reproduce

Enable USB Exclusive mode

Play 44.1khz song

Check received sample rate in Qudelix app

I searched existing issues first

on

I understand that logs are mandatory

on

Log upload name / description

juststylish

There’s no logs uploaded …

I need the logs as the check you checked says :wink: And the content of the debug details from the output settings.

Apologies, uploading through the app doesnt seem to be working for me currently, have uploaded manually titled “Juststylish - USB Exclusive mode not working 15.02 beta (Pixel 8 pro / Qudelix 5k)”

Please also provide this, the copy to clipboard and a screenshot.

Edit and provide a log with usb exclusive showing this, as in the logs all 44.1 in exclusive are send at 44.1.

Current output summary
Captured from USB.

Android lane:
Status: Reported by Android audio profiles
PCM: 24-bit @ 44.1, 48, 96 kHz; 32-bit float @ 44.1, 48, 96 kHz
DSD: None reported

Android bit-perfect lane:
Status: Reported by Android mixer profiles
PCM: 24-bit @ 44.1, 48, 96 kHz
DSD: No DSD mixer profiles reported

HiBy lane:
Status: Not applicable on the current device

FiiO lane:
Status: Not applicable on the current device

Libusb lane:
Status: Profile resolved
PCM: 24-bit @ 44.1, 48, 88.2, 96 kHz
DSD: DoP possible but exact rates not reported (44.1, 48, 88.2, 96 kHz)
Volume: Feature Unit 2 UAC1 volume read master; write master; mute read master; mute write master; ch0 range -60..0 dB step 0.5 dB, ch0 current 0 dB

current-output-debug:
activePlaybackDeviceId=Usb(stableFingerprint=usb:2578:16391:serial:ABCDEF0123456789)
displayName=QTIL Qudelix-5K USB DAC
outputKind=Usb
currentRouteName=USB
selectedRouteName=USB
selectedRouteRemote=false
selectedRouteUserRoute=false
selectedRouteDeviceType=0
rendererName=LocalDevice
rendererSupportResampling=true
playbackPipelineMode=LibusbExclusive
requiresDedicatedExtractors=false
rendererVolumeControlType=Absolute
rendererVolumeBackend=UsbFeatureUnit
rendererVolumeStepSize=1
rendererVolume=100
rendererMuted=false
currentMedia={mediaType=Song/title=FEFE (Ft. Murda Beatz & Nicki Minaj)/sampleRate=44100/bitDepth=16/channels=2/mime=flac/codec=flac/durationMs=179404}
deviceIdentity=DsdDeviceIdentity(brand=google, manufacturer=Google, model=Pixel 8 Pro, device=husky, product=husky, systemProperties=[ro.build.fingerprint=google/husky/husky:16/BP4A.260205.001/2026050901:user/release-keys, ro.build.user=android-user, ro.product.model=Pixel 8 Pro, ro.product.odm.model=Pixel 8 Pro, ro.product.system.model=mainline, ro.product.vendor.model=Pixel 8 Pro])
androidUsbRuntimeAvailable=true
fiioDsdRuntimeAvailable=false
libusbRuntimeAvailable=true
currentOutputPcmMaxSampleRate=96000
hibyPcmMaxOutputSampleRate=1536000
hibyPcmDirectSampleRateThreshold=96000
resolutionPolicy=unrestricted
preferHardwareAcceleratedCodec=true
hiResEnabled=true
offloadMode=0
maxOutputSampleRateHz=96000
allowVendorSpecificRoutes=true
usbPlaybackMode=UsbExclusive
enableUsbMediaButtonsWorkaround=true
enableUsbHidVolumePath=false
allowSystemEqualizer=true
allowNativeDsd=true
allowDop=true
forcePcmDecodeForProcessing=true
allowAudioProcessors=true
allowedBitPerfectUsbFingerprints=[type=usb-device-v2|name=QTIL Qudelix-5K USB DAC|address=S/N ABCDEF0123456789|vid=2578|pid=16391|serial=ABCDEF0123456789|manufacturer=QTIL|product=Qudelix-5K USB DAC|port=USB 001/003, type=usb-device|address=/dev/bus/usb/001/003|name=QTIL Qudelix-5K USB DAC|vid=2578|pid=16391]
usbPermissionPolicy=Allowed
android-audio-output:
totalOutputDeviceCount=6
matchCandidateCount=1
streamMusicVolume=25/25 fixed=false
resolved=true
id=6680
type=usb-headset
productName=USB-Audio - Qudelix-5K USB DAC
address=card=1;device=0
encodings=[pcm-float, pcm-24-packed]
sampleRates=[48000, 96000, 44100]
channelCounts=[2]
channelMasks=[12]
channelIndexMasks=
profiles=[{format=pcm-24-packed/sampleRates=[44100, 48000, 96000]/channelMasks=[12]/channelIndexMasks=/encapsulation=none}, {format=pcm-float/sampleRates=[44100, 48000, 96000]/channelMasks=[12]/channelIndexMasks=/encapsulation=none}]
supportedMixers=[{format=[encoding=21/sr=44100/mask=12/channels=2]/behavior=default}, {format=[encoding=21/sr=44100/mask=12/channels=2]/behavior=bit-perfect}, {format=[encoding=21/sr=48000/mask=12/channels=2]/behavior=default}, {format=[encoding=21/sr=48000/mask=12/channels=2]/behavior=bit-perfect}, {format=[encoding=21/sr=96000/mask=12/channels=2]/behavior=default}, {format=[encoding=21/sr=96000/mask=12/channels=2]/behavior=bit-perfect}]
preferredMixers=none
bitPerfectMixers=[{format=[encoding=21/sr=44100/mask=12/channels=2]/behavior=bit-perfect}, {format=[encoding=21/sr=48000/mask=12/channels=2]/behavior=bit-perfect}, {format=[encoding=21/sr=96000/mask=12/channels=2]/behavior=bit-perfect}]
bitPerfectPcm=[44100/pcm-24-packed/2ch/mask=12, 48000/pcm-24-packed/2ch/mask=12, 96000/pcm-24-packed/2ch/mask=12]
dopSupport=
active-usb-device:
displayName=QTIL Qudelix-5K USB DAC
selectionLabel=QTIL Qudelix-5K USB DAC (S/N ABCDEF0123456789)
fingerprint=type=usb-device-v2|name=QTIL Qudelix-5K USB DAC|address=S/N ABCDEF0123456789|vid=2578|pid=16391|serial=ABCDEF0123456789|manufacturer=QTIL|product=Qudelix-5K USB DAC|port=USB 001/003
deviceAllowed=true
runtimePermissionGranted=true
mqaPolicy=unknown
effectiveLibusbProbeMode=configured
android-usb-device:
fingerprint=type=usb-device-v2|name=QTIL Qudelix-5K USB DAC|address=S/N ABCDEF0123456789|vid=2578|pid=16391|serial=ABCDEF0123456789|manufacturer=QTIL|product=Qudelix-5K USB DAC|port=USB 001/003
stableIdentity=usb:2578:16391:serial:ABCDEF0123456789
fingerprintAliases=[type=usb-device|address=/dev/bus/usb/001/003|name=QTIL Qudelix-5K USB DAC|vid=2578|pid=16391]
displayName=QTIL Qudelix-5K USB DAC
selectionLabel=QTIL Qudelix-5K USB DAC (S/N ABCDEF0123456789)
selectionDetail=S/N ABCDEF0123456789
connectionToken=deviceId=1003|deviceName=/dev/bus/usb/001/003
topologyToken=topology=9
permissionGranted=true
deviceId=1003
deviceName=/dev/bus/usb/001/003
vendorId=0x0a12 (2578)
productId=0x4007 (16391)
manufacturerName=QTIL
productName=Qudelix-5K USB DAC
serialNumber=ABCDEF0123456789
portLabel=/dev/bus/usb/001/003
version=19.70
configurationCount=1
interfaceCount=5
deviceClass=per-interface(0)
deviceSubclass=0
deviceProtocol=0
interfaces=[
{id=0/alt=0/class=audio(1)/subclass=1/protocol=0/name=/endpoints=}
{id=1/alt=0/class=audio(1)/subclass=2/protocol=0/name=Qudelix-5K USB DAC/endpoints=}
{id=1/alt=1/class=audio(1)/subclass=2/protocol=0/name=Qudelix-5K USB DAC/endpoints=[{address=0x03/direction=out/type=isochronous/attributes=0x09/maxPacketSize=576/interval=1}]}
{id=2/alt=0/class=hid(3)/subclass=0/protocol=0/name=/endpoints=[{address=0x81/direction=in/type=interrupt/attributes=0x03/maxPacketSize=64/interval=8}]}
{id=3/alt=0/class=hid(3)/subclass=0/protocol=0/name=/endpoints=[{address=0x89/direction=in/type=interrupt/attributes=0x03/maxPacketSize=64/interval=1}]}
]
libusb-exclusive:
runtimeAvailable=true
selectedDevice=QTIL Qudelix-5K USB DAC
selectedFingerprint=type=usb-device-v2|name=QTIL Qudelix-5K USB DAC|address=S/N ABCDEF0123456789|vid=2578|pid=16391|serial=ABCDEF0123456789|manufacturer=QTIL|product=Qudelix-5K USB DAC|port=USB 001/003
hasPermission=true
preferredRouteName=USB
allowedDeviceFingerprints=[type=usb-device-v2|name=QTIL Qudelix-5K USB DAC|address=S/N ABCDEF0123456789|vid=2578|pid=16391|serial=ABCDEF0123456789|manufacturer=QTIL|product=Qudelix-5K USB DAC|port=USB 001/003, type=usb-device|address=/dev/bus/usb/001/003|name=QTIL Qudelix-5K USB DAC|vid=2578|pid=16391]
enableUsbHidVolumePath=false
playbackPipelineMode=LibusbExclusive
rendererVolumeControlType=Absolute
rendererVolumeBackend=UsbFeatureUnit
rendererVolumeStepSize=1
rendererVolume=100
rendererMuted=false
activeVolumeSession=handle=216685940013376 snapshot=LibusbExclusiveHardwareVolumeSnapshot(volume=100, stepSize=1, isMuted=false, backend=UsbFeatureUnit, controlType=Absolute) preferPerChannelWrites=false effectiveVolumeChannel=0 cachedRangeChannel=0 cachedRange=[-15360, 0, 128] optimisticRawVolumesByChannel={} optimisticMutesByChannel={0=false} featureUnitMuteOwner=None playStartFeatureUnitMuteClearTargetVolume=null enableUsbHidVolumePath=false hidVolumeControl=null lastHidVolumeTarget=null featureUnitId=2 isUac2=false volumeChannels=[0] volumeReadableChannels=[0] volumeWritableChannels=[0] muteChannels=[0] muteReadableChannels=[0] muteWritableChannels=[0] preferredVolumeChannel=0 preferredVolumeReadChannels=[0] preferredMuteChannel=0 volumeWriteChannels=[0] fallbackVolumeRanges={0=LibusbExclusiveVolumeRangeProfile(minimum=-15360, maximum=0, resolution=128)} fallbackVolumeCurrentRawByChannel={0=0} fallbackMuteCurrentByChannel={0=false} preferPerChannelVolumeControl=false userVolumeCurve=LinearDb readChannel=0 readCandidates=[0] readRange=[-15360, 0, 128] currentRawVolume=0 currentMute=false
probeReport=libusb-uac-probe vid=0x0a12 pid=0x4007 usb=0x0200 device=0x1970 speed=full config=1 acIf=0 acProtocol=0x00 adc=0x0100
feature-units:
id=2 source=1 uac=1
ch=0 rawControls=0x00000003 volume=rw mute=rw volumeRange=[-15360, 0, 128] volumeCurrent=0 muteCurrent=false
ch=1 rawControls=0x00000000 volume=-- mute=–
ch=2 rawControls=0x00000000 volume=-- mute=–
streams:
if=1 alt=0 dir=unknown protocol=0x00 terminal=0 asControls=0x00 formatType=0 bmFormats=0x00000000 channels=0 channelConfig=0x00000000 subslot=0 bits=0
if=1 alt=1 dir=playback protocol=0x00 terminal=1 asControls=0x00 formatType=1 bmFormats=0x00000000 channels=2 channelConfig=0x00000000 subslot=3 bits=24 rates=[96000Hz, 88200Hz, 48000Hz, 44100Hz] endpoints=[ep=0x03 transfer=iso sync=adaptive usage=data packet=576 interval=1]
speed=full
usbVersionBcd=0x0200
deviceVersionBcd=0x1970
activeConfiguration=1
audioControlInterface=0
audioControlProtocol=0
audioControlVersionBcd=0x0100
audioFunctionCategory=
maxPcmPlaybackSampleRateHz=96000
playbackCapabilities=playback-capabilities: pcm=[if=1/alt=1 2ch 24bit/24slot isochronous/adaptive packet=576 rates=96000Hz, 88200Hz, 48000Hz, 44100Hz] raw=[none]
volumeSupport=Feature Unit 2 UAC1 volume read master; write master; mute read master; mute write master; ch0 range -60..0 dB step 0.5 dB, ch0 current 0 dB
investigation=investigation: hints=[auxiliary-hid-interface, auxiliary-interrupt-interface, possible-vendor-control-path] auxiliaryInterfaces=[if=2/alt=0 hid subclass=0 protocol=0 hidVersion=0x0111 hidCountry=0 hidReportBytes=69 hidReportError=busy:LIBUSB_ERROR_IO endpoints=[ep=129/interrupt/devicetohost]; if=3/alt=0 hid subclass=0 protocol=0 hidVersion=0x0111 hidCountry=0 hidReportBytes=91 hidReportError=busy:LIBUSB_ERROR_IO endpoints=[ep=137/interrupt/devicetohost]]
experimentalHidVolumePath=disabled
notes=
clockSources=
featureUnits=[{id=2/source=1/isUac2=false/channels=[ch=0/rawControls=0x3/volume=rw/mute=rw/range=[-15360,0,128]/current=0/muteCurrent=false; ch=1/rawControls=0x0/volume=–/mute=–; ch=2/rawControls=0x0/volume=–/mute=–]}]
playbackStreams=
{if=1/alt=1/payload=pcm/asControls=0x00/channels=2/bitResolution=24/bitsPerSlot=24/clockIds=/sampleRates=[96000Hz, 88200Hz, 48000Hz, 44100Hz]/validatedSampleRates=/maxPacketBudgetSampleRateHz=96000/dataEndpoint=address=0x03/transfer=isochronous/direction=hosttodevice/sync=adaptive/usage=data/maxPacketSize=576/interval=1/syncAddress=0/feedbackEndpoint=null/volumeControl=featureUnit=2/isUac2=false/volumeChannels=[0]/volumeReadableChannels=[0]/volumeWritableChannels=[0]/muteChannels=[0]/muteReadableChannels=[0]/muteWritableChannels=[0]/preferredVolumeChannel=0/volumeWriteChannels=[0]/preferPerChannel=false/curve=LinearDb/sampleRateValidationQueryError=}
supportedCommonPcm=[44100/16=if=1/alt=1 pcm 2ch 24bit/24slot isochronous/adaptive feedback=false rates=96000Hz, 88200Hz, 48000Hz, 44100Hz sampleRateSupport=exact, 44100/24=if=1/alt=1 pcm 2ch 24bit/24slot isochronous/adaptive feedback=false rates=96000Hz, 88200Hz, 48000Hz, 44100Hz sampleRateSupport=exact, 48000/16=if=1/alt=1 pcm 2ch 24bit/24slot isochronous/adaptive feedback=false rates=96000Hz, 88200Hz, 48000Hz, 44100Hz sampleRateSupport=exact, 48000/24=if=1/alt=1 pcm 2ch 24bit/24slot isochronous/adaptive feedback=false rates=96000Hz, 88200Hz, 48000Hz, 44100Hz sampleRateSupport=exact, 88200/24=if=1/alt=1 pcm 2ch 24bit/24slot isochronous/adaptive feedback=false rates=96000Hz, 88200Hz, 48000Hz, 44100Hz sampleRateSupport=exact, 96000/24=if=1/alt=1 pcm 2ch 24bit/24slot isochronous/adaptive feedback=false rates=96000Hz, 88200Hz, 48000Hz, 44100Hz sampleRateSupport=exact]
unconfirmedCommonPcm=
supportedDopCarriers=
unconfirmedDopCarriers=
supportedRawDsdCarriers=
unconfirmedRawDsdCarriers=

{
“schemaVersion”: 1,
“route”: {
“activePlaybackDeviceId”: “Usb(stableFingerprint=usb:2578:16391:serial:ABCDEF0123456789)”,
“displayName”: “QTIL Qudelix-5K USB DAC”,
“outputKind”: “Usb”,
“currentRouteName”: “USB”,
“selectedRouteName”: “USB”,
“selectedRouteRemote”: false,
“selectedRouteUserRoute”: false,
“selectedRouteDeviceType”: 0
},
“renderer”: {
“name”: “LocalDevice”,
“supportResampling”: true,
“playbackPipelineMode”: “LibusbExclusive”,
“requiresDedicatedExtractors”: false,
“volumeControlType”: “Absolute”,
“volumeBackend”: “UsbFeatureUnit”,
“volumeStepSize”: 1,
“volume”: 100,
“muted”: false
},
“runtime”: {
“deviceIdentity”: “DsdDeviceIdentity(brand=google, manufacturer=Google, model=Pixel 8 Pro, device=husky, product=husky, systemProperties=[ro.build.fingerprint=google/husky/husky:16/BP4A.260205.001/2026050901:user/release-keys, ro.build.user=android-user, ro.product.model=Pixel 8 Pro, ro.product.odm.model=Pixel 8 Pro, ro.product.system.model=mainline, ro.product.vendor.model=Pixel 8 Pro])”,
“androidUsbRuntimeAvailable”: true,
“fiioDsdRuntimeAvailable”: false,
“libusbRuntimeAvailable”: true,
“currentOutputPcmMaxSampleRate”: 96000,
“hibyPcmMaxOutputSampleRate”: 1536000,
“hibyPcmDirectSampleRateThreshold”: 96000
},
“policy”: {
“resolutionPolicy”: “unrestricted”,
“preferHardwareAcceleratedCodec”: true,
“hiResEnabled”: true,
“offloadMode”: 0,
“maxOutputSampleRateHz”: 96000,
“allowVendorSpecificRoutes”: true,
“usbPlaybackMode”: “UsbExclusive”,
“enableUsbMediaButtonsWorkaround”: true,
“enableUsbHidVolumePath”: false,
“allowSystemEqualizer”: true,
“allowNativeDsd”: true,
“allowDop”: true,
“forcePcmDecodeForProcessing”: true,
“allowAudioProcessors”: true,
“allowedBitPerfectUsbFingerprints”: [
“type=usb-device-v2|name=QTIL Qudelix-5K USB DAC|address=S/N ABCDEF0123456789|vid=2578|pid=16391|serial=ABCDEF0123456789|manufacturer=QTIL|product=Qudelix-5K USB DAC|port=USB 001/003”,
“type=usb-device|address=/dev/bus/usb/001/003|name=QTIL Qudelix-5K USB DAC|vid=2578|pid=16391”
],
“usbPermissionPolicy”: “Allowed”
},
“activeUsbDevice”: {
“displayName”: “QTIL Qudelix-5K USB DAC”,
“selectionLabel”: “QTIL Qudelix-5K USB DAC (S/N ABCDEF0123456789)”,
“fingerprint”: “type=usb-device-v2|name=QTIL Qudelix-5K USB DAC|address=S/N ABCDEF0123456789|vid=2578|pid=16391|serial=ABCDEF0123456789|manufacturer=QTIL|product=Qudelix-5K USB DAC|port=USB 001/003”,
“deviceAllowed”: true,
“runtimePermissionGranted”: true,
“mqaPolicy”: “unknown”
},
“lanes”: [
{
“title”: “Android lane”,
“status”: “Reported by Android audio profiles”,
“pcm”: {
“readable”: “24-bit @ 44.1, 48, 96 kHz; 32-bit float @ 44.1, 48, 96 kHz”,
“notes”: ,
“groups”: [
{
“label”: “24-bit”,
“bitDepth”: 24,
“encoding”: “24-bit”,
“sampleRatesHz”: [
44100,
48000,
96000
],
“sampleRateSupport”: “Exact”
},
{
“label”: “32-bit float”,
“bitDepth”: 32,
“encoding”: “32-bit float”,
“sampleRatesHz”: [
44100,
48000,
96000
],
“sampleRateSupport”: “Exact”
}
]
},
“dsd”: {
“readable”: “None reported”,
“emptyReason”: “None reported”,
“notes”: ,
“transports”:
}
},
{
“title”: “Android bit-perfect lane”,
“status”: “Reported by Android mixer profiles”,
“pcm”: {
“readable”: “24-bit @ 44.1, 48, 96 kHz”,
“notes”: ,
“groups”: [
{
“label”: “24-bit”,
“bitDepth”: 24,
“encoding”: “24-bit”,
“sampleRatesHz”: [
44100,
48000,
96000
],
“sampleRateSupport”: “Exact”
}
]
},
“dsd”: {
“readable”: “No DSD mixer profiles reported”,
“emptyReason”: “No DSD mixer profiles reported”,
“notes”: ,
“transports”:
}
},
{
“title”: “HiBy lane”,
“status”: “Not applicable on the current device”
},
{
“title”: “FiiO lane”,
“status”: “Not applicable on the current device”
},
{
“title”: “Libusb lane”,
“status”: “Profile resolved”,
“pcm”: {
“readable”: “24-bit @ 44.1, 48, 88.2, 96 kHz”,
“notes”: ,
“groups”: [
{
“label”: “24-bit”,
“bitDepth”: 24,
“encoding”: “pcm”,
“sampleRatesHz”: [
44100,
48000,
88200,
96000
],
“sampleRateSupport”: “Exact”
}
]
},
“dsd”: {
“readable”: “DoP possible but exact rates not reported (44.1, 48, 88.2, 96 kHz)”,
“notes”: ,
“transports”: [
{
“transport”: “Dop”,
“sampleRateSupport”: “Unknown”,
“note”: “44.1, 48, 88.2, 96 kHz”,
“rates”:
}
]
},
“volume”: {
“readable”: “Feature Unit 2 UAC1 volume read master; write master; mute read master; mute write master; ch0 range -60..0 dB step 0.5 dB, ch0 current 0 dB”,
“notes”: ,
“featureUnits”: [
{
“unitId”: 2,
“uacVersion”: 1,
“volumeReadableChannels”: [
0
],
“volumeWritableChannels”: [
0
],
“muteReadableChannels”: [
0
],
“muteWritableChannels”: [
0
],
“notes”: ,
“channelProbes”: [
{
“channelNumber”: 0,
“volumeRange”: {
“minimumRaw”: -15360,
“maximumRaw”: 0,
“resolutionRaw”: 128
},
“volumeCurrentRaw”: 0,
“volumeRangeError”: “”,
“volumeCurrentError”: “”
}
]
}
]
}
}
],
“libusbProfile”: {
“vendorId”: 2578,
“productId”: 16391,
“usbVersionBcd”: 512,
“deviceVersionBcd”: 6512,
“speed”: “full”,
“activeConfiguration”: 1,
“audioControlInterface”: 0,
“audioControlProtocol”: 0,
“audioControlVersionBcd”: 256,
“probeReport”: “libusb-uac-probe vid=0x0a12 pid=0x4007 usb=0x0200 device=0x1970 speed=full config=1 acIf=0 acProtocol=0x00 adc=0x0100\nfeature-units:\n id=2 source=1 uac=1\n ch=0 rawControls=0x00000003 volume=rw mute=rw volumeRange=[-15360, 0, 128] volumeCurrent=0 muteCurrent=false\n ch=1 rawControls=0x00000000 volume=-- mute=–\n ch=2 rawControls=0x00000000 volume=-- mute=–\nstreams:\n if=1 alt=0 dir=unknown protocol=0x00 terminal=0 asControls=0x00 formatType=0 bmFormats=0x00000000 channels=0 channelConfig=0x00000000 subslot=0 bits=0\n if=1 alt=1 dir=playback protocol=0x00 terminal=1 asControls=0x00 formatType=1 bmFormats=0x00000000 channels=2 channelConfig=0x00000000 subslot=3 bits=24 rates=[96000Hz, 88200Hz, 48000Hz, 44100Hz] endpoints=[ep=0x03 transfer=iso sync=adaptive usage=data packet=576 interval=1]”,
“clockSources”: ,
“featureUnits”: [
{
“unitId”: 2,
“sourceId”: 1,
“isUac2”: false,
“channels”: [
{
“channelNumber”: 0,
“rawControls”: 3,
“volumeReadable”: true,
“volumeWritable”: true,
“muteReadable”: true,
“muteWritable”: true,
“volumeRange”: {
“minimum”: -15360,
“maximum”: 0,
“resolution”: 128
},
“volumeCurrentRaw”: 0,
“muteCurrent”: false,
“volumeRangeError”: “”,
“volumeCurrentError”: “”,
“muteCurrentError”: “”
},
{
“channelNumber”: 1,
“rawControls”: 0,
“volumeReadable”: false,
“volumeWritable”: false,
“muteReadable”: false,
“muteWritable”: false,
“volumeRangeError”: “”,
“volumeCurrentError”: “”,
“muteCurrentError”: “”
},
{
“channelNumber”: 2,
“rawControls”: 0,
“volumeReadable”: false,
“volumeWritable”: false,
“muteReadable”: false,
“muteWritable”: false,
“volumeRangeError”: “”,
“volumeCurrentError”: “”,
“muteCurrentError”: “”
}
]
}
],
“interfaces”: [
{
“interfaceNumber”: 0,
“alternateSetting”: 0,
“interfaceClass”: 1,
“interfaceSubclass”: 1,
“interfaceProtocol”: 0,
“endpoints”:
},
{
“interfaceNumber”: 1,
“alternateSetting”: 0,
“interfaceClass”: 1,
“interfaceSubclass”: 2,
“interfaceProtocol”: 0,
“endpoints”:
},
{
“interfaceNumber”: 1,
“alternateSetting”: 1,
“interfaceClass”: 1,
“interfaceSubclass”: 2,
“interfaceProtocol”: 0,
“endpoints”: [
{
“address”: 3,
“attributes”: 9,
“maximumPacketSize”: 576,
“interval”: 1,
“synchronizationAddress”: 0,
“hasClassSpecificDescriptor”: false,
“classSpecificAttributes”: 0,
“classSpecificControls”: 0,
“lockDelayUnits”: 0,
“lockDelay”: 0
}
]
},
{
“interfaceNumber”: 2,
“alternateSetting”: 0,
“interfaceClass”: 3,
“interfaceSubclass”: 0,
“interfaceProtocol”: 0,
“hidDescriptor”: {
“versionBcd”: 273,
“countryCode”: 0,
“reportDescriptorLength”: 69,
“reportDescriptorQueryError”: “busy:LIBUSB_ERROR_IO”
},
“endpoints”: [
{
“address”: 129,
“attributes”: 3,
“maximumPacketSize”: 64,
“interval”: 8,
“synchronizationAddress”: 0,
“hasClassSpecificDescriptor”: false,
“classSpecificAttributes”: 0,
“classSpecificControls”: 0,
“lockDelayUnits”: 0,
“lockDelay”: 0
}
]
},
{
“interfaceNumber”: 3,
“alternateSetting”: 0,
“interfaceClass”: 3,
“interfaceSubclass”: 0,
“interfaceProtocol”: 0,
“hidDescriptor”: {
“versionBcd”: 273,
“countryCode”: 0,
“reportDescriptorLength”: 91,
“reportDescriptorQueryError”: “busy:LIBUSB_ERROR_IO”
},
“endpoints”: [
{
“address”: 137,
“attributes”: 3,
“maximumPacketSize”: 64,
“interval”: 1,
“synchronizationAddress”: 0,
“hasClassSpecificDescriptor”: false,
“classSpecificAttributes”: 0,
“classSpecificControls”: 0,
“lockDelayUnits”: 0,
“lockDelay”: 0
}
]
}
],
“streamingAltSettings”: [
{
“interfaceNumber”: 1,
“alternateSetting”: 0,
“interfaceProtocol”: 0,
“terminalLink”: 0,
“asControls”: 0,
“formatType”: 0,
“formatMask”: 0,
“channelCount”: 0,
“channelConfig”: 0,
“subslotSize”: 0,
“bitResolution”: 0,
“direction”: “unknown”,
“hasRawData”: false,
“sampleRateRanges”: ,
“validatedSampleRates”: ,
“sampleRateValidationQueryError”: “”,
“resolvedClockIds”: ,
“endpoints”:
},
{
“interfaceNumber”: 1,
“alternateSetting”: 1,
“interfaceProtocol”: 0,
“terminalLink”: 1,
“asControls”: 0,
“formatType”: 1,
“formatMask”: 0,
“channelCount”: 2,
“channelConfig”: 0,
“subslotSize”: 3,
“bitResolution”: 24,
“direction”: “playback”,
“hasRawData”: false,
“resolvedVolumeControl”: {
“featureUnitId”: 2,
“isUac2”: false,
“volumeChannels”: [
0
],
“volumeReadableChannels”: [
0
],
“volumeWritableChannels”: [
0
],
“muteChannels”: [
0
],
“muteReadableChannels”: [
0
],
“muteWritableChannels”: [
0
]
},
“sampleRateRanges”: [
{
“minimumHz”: 96000,
“maximumHz”: 96000,
“resolutionHz”: 0
},
{
“minimumHz”: 88200,
“maximumHz”: 88200,
“resolutionHz”: 0
},
{
“minimumHz”: 48000,
“maximumHz”: 48000,
“resolutionHz”: 0
},
{
“minimumHz”: 44100,
“maximumHz”: 44100,
“resolutionHz”: 0
}
],
“validatedSampleRates”: ,
“sampleRateValidationQueryError”: “”,
“resolvedClockIds”: ,
“endpoints”: [
{
“address”: 3,
“attributes”: 9,
“maximumPacketSize”: 576,
“interval”: 1,
“synchronizationAddress”: 0,
“hasClassSpecificDescriptor”: false,
“classSpecificAttributes”: 0,
“classSpecificControls”: 0,
“lockDelayUnits”: 0,
“lockDelay”: 0
}
]
}
],
“notes”:
}
}

Can you provide the new log showing 44.1 in exclusive mode actually playing at 48 ?

uploaded new logs under name “JustStylish - USB Exclusive mode not working 15.02 beta (Pixel 8 pro / Qudelix 5k) v2” , this is after using both usb exclusive modes back and forth and messing with all the settings to confirm and 44.1 audio still seems to be being read at 48

I guess that you check the sample rate via the other app and answer yes when it ask for the permission ? That removes the perm from Symfonium and then only expose the DAC as 48k DAC.

2026-06-01 23:17:46.509 Verbose LibusbExclusive  Generic UAC probe for QTIL Qudelix-5K USB DAC
libusb-uac-probe vid=0x0a12 pid=0x4007 usb=0x0200 device=0x1970 speed=full config=1 acIf=0 acProtocol=0x00 adc=0x0100
feature-units:
  id=2 source=1 uac=1
    ch=0 rawControls=0x00000003 volume=rw mute=rw volumeRangeError="volumeMin: LIBUSB_ERROR_IO (-1); volumeMax: LIBUSB_ERROR_IO (-1); volumeRes: LIBUSB_ERROR_IO (-1)" volumeCurrentError="volumeCurrent: LIBUSB_ERROR_IO (-1)" muteCurrentError="muteCurrent: LIBUSB_ERROR_IO (-1)"
    ch=1 rawControls=0x00000000 volume=-- mute=--
    ch=2 rawControls=0x00000000 volume=-- mute=--
streams:
  if=1 alt=0 dir=unknown protocol=0x00 terminal=0 asControls=0x00 formatType=0 bmFormats=0x00000000 channels=0 channelConfig=0x00000000 subslot=0 bits=0
  if=1 alt=1 dir=playback protocol=0x00 terminal=1 asControls=0x00 formatType=1 bmFormats=0x00000000 channels=2 channelConfig=0x00000000 subslot=3 bits=24 rates=[96000Hz, 88200Hz, 48000Hz, 44100Hz] endpoints=[ep=0x03 transfer=iso sync=adaptive usage=data packet=576 interval=1]
playback-capabilities: pcm=[if=1/alt=1 2ch 24bit/24slot isochronous/adaptive packet=576 rates=96000Hz, 88200Hz, 48000Hz, 44100Hz] raw=[none]
investigation: hints=[auxiliary-hid-interface, auxiliary-interrupt-interface, possible-vendor-control-path] auxiliaryInterfaces=[if=2/alt=0 hid subclass=0 protocol=0 hidVersion=0x0111 hidCountry=0 hidReportBytes=69 hidReportError=busy:LIBUSB_ERROR_IO endpoints=[ep=129/interrupt/devicetohost]; if=3/alt=0 hid subclass=0 protocol=0 hidVersion=0x0111 hidCountry=0 hidReportBytes=91 hidReportError=busy:LIBUSB_ERROR_IO endpoints=[ep=137/interrupt/devicetohost]]
mqa-policy=unknown

Normal case, it will play at 44.1 with no issue.

2026-06-01 23:39:41.569 Verbose LibusbExclusive  Generic UAC probe for QTIL Qudelix-5K USB DAC/MIC 48KHz
libusb-uac-probe vid=0x0a12 pid=0x4125 usb=0x0200 device=0x1970 speed=full config=1 acIf=0 acProtocol=0x00 adc=0x0100
feature-units:
  id=2 source=1 uac=1
    ch=0 rawControls=0x00000003 volume=rw mute=rw volumeRangeError="volumeMin: LIBUSB_ERROR_IO (-1); volumeMax: LIBUSB_ERROR_IO (-1); volumeRes: LIBUSB_ERROR_IO (-1)" volumeCurrentError="volumeCurrent: LIBUSB_ERROR_IO (-1)" muteCurrentError="muteCurrent: LIBUSB_ERROR_IO (-1)"
    ch=1 rawControls=0x00000000 volume=-- mute=--
    ch=2 rawControls=0x00000000 volume=-- mute=--
  id=5 source=4 uac=1
    ch=0 rawControls=0x00000002 volume=rw mute=-- volumeRangeError="volumeMin: LIBUSB_ERROR_IO (-1); volumeMax: LIBUSB_ERROR_IO (-1); volumeRes: LIBUSB_ERROR_IO (-1)" volumeCurrentError="volumeCurrent: LIBUSB_ERROR_IO (-1)"
    ch=1 rawControls=0x00000000 volume=-- mute=--
    ch=2 rawControls=0x00000000 volume=-- mute=--
streams:
  if=1 alt=0 dir=unknown protocol=0x00 terminal=0 asControls=0x00 formatType=0 bmFormats=0x00000000 channels=0 channelConfig=0x00000000 subslot=0 bits=0
  if=1 alt=1 dir=capture protocol=0x00 terminal=6 asControls=0x00 formatType=1 bmFormats=0x00000000 channels=2 channelConfig=0x00000000 subslot=2 bits=16 rates=[48000Hz] endpoints=[ep=0x83 transfer=iso sync=none usage=data packet=192 interval=1]
  if=2 alt=0 dir=unknown protocol=0x00 terminal=0 asControls=0x00 formatType=0 bmFormats=0x00000000 channels=0 channelConfig=0x00000000 subslot=0 bits=0
  if=2 alt=1 dir=playback protocol=0x00 terminal=1 asControls=0x00 formatType=1 bmFormats=0x00000000 channels=2 channelConfig=0x00000000 subslot=3 bits=24 rates=[48000Hz] endpoints=[ep=0x03 transfer=iso sync=adaptive usage=data packet=576 interval=1]
playback-capabilities: pcm=[if=2/alt=1 2ch 24bit/24slot isochronous/adaptive packet=576 rates=48000Hz] raw=[none]
investigation: hints=[auxiliary-hid-interface, auxiliary-interrupt-interface, possible-vendor-control-path] auxiliaryInterfaces=[if=3/alt=0 hid subclass=0 protocol=0 hidVersion=0x0111 hidCountry=0 hidReportBytes=69 hidReportError=busy:LIBUSB_ERROR_IO endpoints=[ep=129/interrupt/devicetohost]; if=4/alt=0 hid subclass=0 protocol=0 hidVersion=0x0111 hidCountry=0 hidReportBytes=91 hidReportError=busy:LIBUSB_ERROR_IO endpoints=[ep=137/interrupt/devicetohost]]
mqa-policy=unknown

Not normal case, the app have no more access to anything and only see a 48k path and use it.