[Android Q&A, Help & Troubleshooting] pasimetes:
First of all.. my setup:

HARDWARE:

Samsung Galaxy Nexus GSM i9250 (maguro)

HifiMeDiy Sabre USB DAC

USB OTG cable

SOFTWARE:

Nightly (2013-05-31) CyanogenMod 10.1

GLADOS Kernel v2.3 (flashed it on top of CM in attempt to make USB DAC work)

The problem:

It doesn't work :) The DAC itself is recognized and after installing GLADOS Kernel and insmod'ing a couple of usb-audio related modules it is also listed as a soundcard, but audio is not routed through the DAC.

Before installing GLADOS kernel, with stock CM 10.1, I've also tried USB Audio Tester app and.. it worked, audio was successfully routed through the DAC, so the DAC itself works and gets enough power from the phone.

After days of researching and Google'ing I've started to believe that it's a CyanogenMod related issue (found reports that USB DACs work on AOSP ROMs, but not CM). I've also found this, which, I think, might be related:

https://github.com/CyanogenMod/andr...mmit/09d3f13837b9e0d6580b121daac1eac1fda01990

But before me trying AOSP ROM or patching my CM with the patch above, I decided to post here, so maybe I am not the only one, who confronted this problem and someone could shed some light on the CM USB Audio issue :)

Lastly, some debug info:

1) Installed latest nightly CM.

2) Installed GLADOS v2.3

3) Then..

shell@android:/ # insmod /system/modules/snd-hwdep.ko
shell@android:/ # insmod /system/modules/snd-rawmidi.ko
shell@android:/ # insmod /system/modules/snd-usbmidi-lib.ko
shell@android:/ # insmod /system/modules/snd-usb-audio.ko

4) * I CONNECT THE USB DAC *

5) Logcat says this:

D/EventHub( 434): No input device configuration file found for device 'HiFimeDIY Audio HiFimeDIY DAC'.
W/ContextImpl( 434): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1084 com.android.server.usb.UsbSettingsManager.deviceAttached:619 com.android.server.usb.UsbHostManager.usbDeviceAdded:156 com.android.server.usb.UsbHostManager.monitorUsbHostBus:-2 com.android.server.usb.UsbHostManager.access$000:38

6) dmesg says this:

<6>[ 638.367095] fsa9480 4-0025: cable detect change, from 'unknown/none' to 'usb-host'
<6>[ 638.944702] usb 1-1: new full speed USB device number 4 using musb-hdrc
<3>[ 639.144012] usb 1-1: device v1852 p7022 is not supported
<6>[ 639.144073] usb 1-1: New USB device found, idVendor=1852, idProduct=7022
<6>[ 639.144195] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
<6>[ 639.144317] usb 1-1: Product: HiFimeDIY DAC
<6>[ 639.144378] usb 1-1: Manufacturer: HiFimeDIY Audio
<6>[ 639.154876] input: HiFimeDIY Audio HiFimeDIY DAC as /devices/platform/omap/musb-omap2430/musb-hdrc/usb1/1-1/1-1:1.0/input/input8
<6>[ 639.155334] generic-usb 0003:1852:7022.0003: input: USB HID v1.00 Device [HiFimeDIY Audio HiFimeDIY DAC] on usb-musb-hdrc-1/input0

7) shell@android:/ # cat /proc/asound/cards

0 [Tuna ]: OMAP4 - Tuna
TI OMAP4 Board
1 [OMAP4HDMI ]: OMAP4HDMI - OMAP4HDMI
OMAP4HDMI
2 [DAC ]: USB-Audio - HiFimeDIY DAC
HiFimeDIY Audio HiFimeDIY DAC at usb-musb-hdrc-1, full speed

8) * I DISCONNECT THE USB OTG CABLE (with DAC attached to it) FROM THE PHONE *

9) Logcat has this to say:

I/EventHub( 434): Removing device '/dev/input/event6' due to inotify event

Hope this helps, thx in advance :)