<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to get USB Audio on Android 6 with IMX6? in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-get-USB-Audio-on-Android-6-with-IMX6/m-p/1087001#M159327</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am trying to enable support for USB Audio on Android 6 using the tinyalsa HAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what I have done so far:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have verified that the device exists in /proc/asound/devices:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9: [ 3- 0]: digital audio playback&lt;BR /&gt;&amp;nbsp; &amp;nbsp; 10: [ 3- 0]: digital audio capture&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In /proc/asound/devices/card3, I verified that the device supported playback. Here is the contents of stream0 to show this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Creative Technology Ltd Sound Blaster Play! 3 at usb-ci_hdrc.1-1.2, full speed : USB Audio&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Playback:&lt;BR /&gt;&amp;nbsp; Status: Stop&lt;BR /&gt;&amp;nbsp; Interface 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Altset 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format: S16_LE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Channels: 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endpoint: 1 OUT (SYNC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rates: 44100, 48000&lt;BR /&gt;&amp;nbsp; Interface 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Altset 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format: S24_3LE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Channels: 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endpoint: 1 OUT (SYNC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rates: 44100, 48000&lt;BR /&gt;&amp;nbsp; Interface 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Altset 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format: S16_LE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Channels: 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endpoint: 1 OUT (SYNC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rates: 88200, 96000&lt;BR /&gt;&amp;nbsp; Interface 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Altset 4&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format: S24_3LE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Channels: 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endpoint: 1 OUT (SYNC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rates: 88200, 96000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have added USB audio to my audio_policy.conf:&lt;/P&gt;&lt;PRE class=""&gt;usb {     outputs {       usb_accessory {         sampling_rates 44100         channel_masks AUDIO_CHANNEL_OUT_STEREO         formats AUDIO_FORMAT_PCM_16_BIT         devices AUDIO_DEVICE_OUT_USB_ACCESSORY       }       usb_device {         sampling_rates 44100         channel_masks AUDIO_CHANNEL_OUT_STEREO         formats AUDIO_FORMAT_PCM_16_BIT         devices AUDIO_DEVICE_OUT_USB_DEVICE       }     }   }


With regard to the alsa setup, this was the existing config_usbaudio.h

/* ALSA cards for IMX, these must be defined according different board / kernel config*/
static struct audio_card&amp;nbsp; usbaudio_card = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; .name = "USB Device",
&amp;nbsp;&amp;nbsp;&amp;nbsp; .driver_name = "USB-Audio",
&amp;nbsp;&amp;nbsp;&amp;nbsp; .supported_out_devices&amp;nbsp; = AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .supported_in_devices&amp;nbsp;&amp;nbsp; = AUDIO_DEVICE_IN_USB_DEVICE|AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .defaults&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .bt_output&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .speaker_output&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .hs_output&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .earpiece_output&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .vx_hs_mic_input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .mm_main_mic_input&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .vx_main_mic_input&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .mm_hs_mic_input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .vx_bt_mic_input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .mm_bt_mic_input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .card&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .out_rate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .out_channels&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .out_format&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .in_rate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .in_channels&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .in_format&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
};

I'm not sure if I have to change any of this and would appreciate some direction with what I must do with this file.

In tinyalsa_hal.c I added the usbaudio_card above to the supported devices:

/*"null_card" must be in the end of this array*/
struct audio_card *audio_card_list[] = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;wm8958_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;wm8962_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;hdmi_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;spdif_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;cs42888_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;wm8960_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;sii902x_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;sgtl5000_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;tc358743_card,
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;amp;usbaudio_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;null_card,
};

Lastly, I ran tinyhal test.wav -D 3 -d 0 and did not have any errors but no sound came out. Note that I ran this before making all of the above changes. (It should not be affected by the audio policy but I will update if this ends up working once I compile the tinyhal additions)

On android, the USB device is seen but does not use the alsa hal:
01-01 00:00:49.924 2359-2359/? I/AudioFlinger: loadHwModule() Loaded primary audio interface from Freescale i.MX Audio HW HAL (audio) handle 1
01-01 00:00:49.927 2359-2359/? I/AudioFlinger: loadHwModule() Loaded usb audio interface from USB audio HW HAL (audio) handle 2
01-01 00:00:49.927 2359-2359/? I/AudioFlinger: openOutput(), module 2 Device 4000, SamplingRate 0, Format 00000000, Channels 0, flags 0
01-01 00:00:49.927 2359-2359/? I/AudioFlinger: AudioStreamOut::open(), mHalFormatIsLinearPcm = 1
01-01 00:00:49.928 2359-2359/? I/AudioFlinger: HAL output buffer size 448 frames, normal sink buffer size 896 frames

Even with this no sound comes out

My questions are, what else must I do to get usb audio working on android? How do I enable the use of tinyhal on android? Am I doing anything wrong? Is there any documentation you could point me to because the android source documentation on audio almost leaves out android 6 completely.

Thanks in advance for the help &lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Aug 2020 13:28:21 GMT</pubDate>
    <dc:creator>mmaitland</dc:creator>
    <dc:date>2020-08-12T13:28:21Z</dc:date>
    <item>
      <title>How to get USB Audio on Android 6 with IMX6?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-get-USB-Audio-on-Android-6-with-IMX6/m-p/1087001#M159327</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am trying to enable support for USB Audio on Android 6 using the tinyalsa HAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what I have done so far:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have verified that the device exists in /proc/asound/devices:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9: [ 3- 0]: digital audio playback&lt;BR /&gt;&amp;nbsp; &amp;nbsp; 10: [ 3- 0]: digital audio capture&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In /proc/asound/devices/card3, I verified that the device supported playback. Here is the contents of stream0 to show this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Creative Technology Ltd Sound Blaster Play! 3 at usb-ci_hdrc.1-1.2, full speed : USB Audio&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Playback:&lt;BR /&gt;&amp;nbsp; Status: Stop&lt;BR /&gt;&amp;nbsp; Interface 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Altset 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format: S16_LE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Channels: 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endpoint: 1 OUT (SYNC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rates: 44100, 48000&lt;BR /&gt;&amp;nbsp; Interface 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Altset 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format: S24_3LE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Channels: 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endpoint: 1 OUT (SYNC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rates: 44100, 48000&lt;BR /&gt;&amp;nbsp; Interface 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Altset 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format: S16_LE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Channels: 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endpoint: 1 OUT (SYNC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rates: 88200, 96000&lt;BR /&gt;&amp;nbsp; Interface 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Altset 4&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format: S24_3LE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Channels: 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endpoint: 1 OUT (SYNC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rates: 88200, 96000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have added USB audio to my audio_policy.conf:&lt;/P&gt;&lt;PRE class=""&gt;usb {     outputs {       usb_accessory {         sampling_rates 44100         channel_masks AUDIO_CHANNEL_OUT_STEREO         formats AUDIO_FORMAT_PCM_16_BIT         devices AUDIO_DEVICE_OUT_USB_ACCESSORY       }       usb_device {         sampling_rates 44100         channel_masks AUDIO_CHANNEL_OUT_STEREO         formats AUDIO_FORMAT_PCM_16_BIT         devices AUDIO_DEVICE_OUT_USB_DEVICE       }     }   }


With regard to the alsa setup, this was the existing config_usbaudio.h

/* ALSA cards for IMX, these must be defined according different board / kernel config*/
static struct audio_card&amp;nbsp; usbaudio_card = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; .name = "USB Device",
&amp;nbsp;&amp;nbsp;&amp;nbsp; .driver_name = "USB-Audio",
&amp;nbsp;&amp;nbsp;&amp;nbsp; .supported_out_devices&amp;nbsp; = AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .supported_in_devices&amp;nbsp;&amp;nbsp; = AUDIO_DEVICE_IN_USB_DEVICE|AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .defaults&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .bt_output&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .speaker_output&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .hs_output&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .earpiece_output&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .vx_hs_mic_input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .mm_main_mic_input&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .vx_main_mic_input&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .mm_hs_mic_input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .vx_bt_mic_input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .mm_bt_mic_input&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .card&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .out_rate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .out_channels&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .out_format&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .in_rate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .in_channels&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .in_format&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0,
};

I'm not sure if I have to change any of this and would appreciate some direction with what I must do with this file.

In tinyalsa_hal.c I added the usbaudio_card above to the supported devices:

/*"null_card" must be in the end of this array*/
struct audio_card *audio_card_list[] = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;wm8958_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;wm8962_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;hdmi_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;spdif_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;cs42888_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;wm8960_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;sii902x_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;sgtl5000_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;tc358743_card,
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;amp;usbaudio_card,
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;null_card,
};

Lastly, I ran tinyhal test.wav -D 3 -d 0 and did not have any errors but no sound came out. Note that I ran this before making all of the above changes. (It should not be affected by the audio policy but I will update if this ends up working once I compile the tinyhal additions)

On android, the USB device is seen but does not use the alsa hal:
01-01 00:00:49.924 2359-2359/? I/AudioFlinger: loadHwModule() Loaded primary audio interface from Freescale i.MX Audio HW HAL (audio) handle 1
01-01 00:00:49.927 2359-2359/? I/AudioFlinger: loadHwModule() Loaded usb audio interface from USB audio HW HAL (audio) handle 2
01-01 00:00:49.927 2359-2359/? I/AudioFlinger: openOutput(), module 2 Device 4000, SamplingRate 0, Format 00000000, Channels 0, flags 0
01-01 00:00:49.927 2359-2359/? I/AudioFlinger: AudioStreamOut::open(), mHalFormatIsLinearPcm = 1
01-01 00:00:49.928 2359-2359/? I/AudioFlinger: HAL output buffer size 448 frames, normal sink buffer size 896 frames

Even with this no sound comes out

My questions are, what else must I do to get usb audio working on android? How do I enable the use of tinyhal on android? Am I doing anything wrong? Is there any documentation you could point me to because the android source documentation on audio almost leaves out android 6 completely.

Thanks in advance for the help &lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Aug 2020 13:28:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-get-USB-Audio-on-Android-6-with-IMX6/m-p/1087001#M159327</guid>
      <dc:creator>mmaitland</dc:creator>
      <dc:date>2020-08-12T13:28:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to get USB Audio on Android 6 with IMX6?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-get-USB-Audio-on-Android-6-with-IMX6/m-p/1087002#M159328</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A _jive_internal="true" data-userid="363006" data-username="mmaitland@persistentsystems.com" href="https://community.nxp.com/people/mmaitland@persistentsystems.com"&gt;Michael&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Information below are from android design team:&lt;/P&gt;&lt;P&gt;-----------------------&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;usb audo HAL is AOSP code, no related to&amp;nbsp; our audio HAL&lt;/SPAN&gt;, so USB sound card can be used directly.&lt;/P&gt;&lt;P&gt;----------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In addition, The descriptions on USB Audio here should be helpful for your application:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://source.android.com/devices/audio/usb" title="https://source.android.com/devices/audio/usb"&gt;USB Digital Audio &amp;nbsp;|&amp;nbsp; Android Open Source Project&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a nice day!&lt;/P&gt;&lt;P&gt;B.R,&lt;/P&gt;&lt;P&gt;Weidong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Aug 2020 02:21:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-get-USB-Audio-on-Android-6-with-IMX6/m-p/1087002#M159328</guid>
      <dc:creator>weidong_sun</dc:creator>
      <dc:date>2020-08-17T02:21:42Z</dc:date>
    </item>
  </channel>
</rss>

