<?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 enable UVC+UAC composite gadget in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/how-to-enable-UVC-UAC-composite-gadget/m-p/1664970#M207243</link>
    <description>&lt;P&gt;We are use imx8mp android 11 bsp , and we want to enable UVC+UAC composite gadget feature , kernel config we have enable:&lt;/P&gt;&lt;P&gt;CONFIG_USB_CONFIGFS_F_UVC=y&lt;BR /&gt;CONFIG_USB_CONFIGFS_F_UAC1=y&lt;BR /&gt;CONFIG_USB_CONFIGFS_F_UAC2=y&lt;/P&gt;&lt;P&gt;and use below script to enable UVC and UAC:&lt;/P&gt;&lt;P&gt;stop adbd&lt;BR /&gt;echo "" &amp;gt; /config/usb_gadget/g1/UDC&lt;BR /&gt;mkdir /config/usb_gadget/g1/functions/uvc.0&lt;BR /&gt;mkdir /config/usb_gadget/g1/functions/uac1.0&lt;BR /&gt;cd /config/usb_gadget/g1/functions/uvc.0&lt;BR /&gt;echo 3072 &amp;gt; streaming_maxpacket&lt;BR /&gt;echo 0 &amp;gt; streaming_maxburst&lt;BR /&gt;echo 1 &amp;gt; streaming_interval&lt;BR /&gt;mkdir control/header/h&lt;BR /&gt;ln -s control/header/h control/class/fs/&lt;BR /&gt;ln -s control/header/h control/class/ss&lt;BR /&gt;mkdir -p streaming/mjpeg/m/720p&lt;BR /&gt;echo 1280 &amp;gt; streaming/mjpeg/m/720p/wWidth&lt;BR /&gt;echo 720 &amp;gt; streaming/mjpeg/m/720p/wHeight&lt;BR /&gt;echo 29491200 &amp;gt; streaming/mjpeg/m/720p/dwMinBitRate&lt;BR /&gt;echo 29491200 &amp;gt; streaming/mjpeg/m/720p/dwMaxBitRate&lt;BR /&gt;echo 3110400 &amp;gt; streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize&lt;BR /&gt;echo 333333 &amp;gt; streaming/mjpeg/m/720p/dwDefaultFrameInterval&lt;BR /&gt;echo "333333\n666666\n1000000\n" &amp;gt; streaming/mjpeg/m/720p/dwFrameInterval&lt;BR /&gt;mkdir streaming/header/h&lt;BR /&gt;ln -s streaming/mjpeg/m streaming/header/h&lt;BR /&gt;ln -s streaming/header/h streaming/class/fs/&lt;BR /&gt;ln -s streaming/header/h streaming/class/hs/&lt;BR /&gt;ln -s streaming/header/h streaming/class/ss/&lt;BR /&gt;echo "uvc_uac1" &amp;gt; /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration&lt;BR /&gt;rm /config/usb_gadget/g1/configs/b.1/function0&lt;BR /&gt;rm /config/usb_gadget/g1/configs/b.1/function1&lt;BR /&gt;echo "0x1d6b" &amp;gt; /config/usb_gadget/g1/idVendor&lt;BR /&gt;echo "0x0104" &amp;gt; /config/usb_gadget/g1/idProduct&lt;BR /&gt;ln -s /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/function0&lt;BR /&gt;ln -s /config/usb_gadget/g1/functions/uac1.0 /config/usb_gadget/g1/configs/b.1/function1&lt;BR /&gt;echo "38100000.dwc3" &amp;gt; /config/usb_gadget/g1/UDC&lt;/P&gt;&lt;P&gt;uvc_gadget -v /dev/video2 -u /dev/video6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;after run script , i can see host pc can detect UVC + UAC&lt;/P&gt;&lt;P&gt;[ 4166.912769] uvcvideo: Found UVC 1.00 device LATAM (1d6b:0104)&lt;BR /&gt;[ 4166.924081] input: LATAM: UVC Camera as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/input/input38&lt;/P&gt;&lt;P&gt;kevinwei@kevinwei-TUF-Gaming-FX505GT:~$ cat /proc/asound/cards&lt;BR /&gt;0 [NVidia ]: HDA-Intel - HDA NVidia&lt;BR /&gt;HDA NVidia at 0xa4080000 irq 17&lt;BR /&gt;1 [sofsklhdacard ]: sof-hda-dsp - sof-hda-dsp&lt;BR /&gt;ASUSTeKCOMPUTERINC.-TUFGamingFX505GT-1.0-FX505GT&lt;BR /&gt;2 [LATAM ]: USB-Audio - LATAM&lt;BR /&gt;Pegatron LATAM at usb-0000:00:14.0-6, high speed&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but i use below command to try UAC device , imx8mp kernel will crash&lt;/P&gt;&lt;P&gt;1. host pc:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst-launch-1.0 -v filesrc location=c304-2.wav ! wavparse ! audioconvert ! alsasink device=hw:2&lt;/P&gt;&lt;P&gt;2. imx8mp device:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst-launch-1.0 -v alsasrc device=hw:6 ! audio/x-raw, rate=48000 ! audioconvert ! alsasink device=hw:5&amp;nbsp;&amp;nbsp; // to speaker&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;imx8mp kernel will crash:&lt;/P&gt;&lt;P&gt;[ 269.974571] WARNING: CPU: 3 PID: 1903 at drivers/usb/gadget/composite.c:427 usb_function_activate+0x88/0x94&lt;BR /&gt;[ 269.987846] Modules linked in: fec ptp pps_core realtek pci_imx6 snd_soc_imx_rpmsg snd_soc_rpmsg_wm8960_i2c snd_soc_rpmsg_wm8960 imx_audio_rpmsg snd_soc_fsl_rpmsg imx_pcm_rpmsg i2c_rpmsg_imx imx_dsp_r0&lt;BR /&gt;[ 269.987993] v4l2_fwnode imx_cpufreq_dt cpufreq_dt imx8mm_thermal device_cooling nvmem_imx_ocotp dummy_battery gpio_switch dwc3_imx8mp panel_simple panel_jadard_jd9365da_h3 panel_raydium_rm67191 sec_mim&lt;BR /&gt;[ 270.153933] CPU: 3 PID: 1903 Comm: gst-launch-1.0 Tainted: G C O 5.10.72-g44cf7994ab03-dirty #35&lt;BR /&gt;[ 270.167393] Hardware name: LATAM R11 (DT)&lt;BR /&gt;[ 270.174958] pstate: 20400085 (nzCv daIf +PAN -UAO -TCO BTYPE=--)&lt;BR /&gt;[ 270.184520] pc : usb_function_activate+0x88/0x94&lt;BR /&gt;[ 270.192685] lr : usb_function_activate+0x28/0x94&lt;BR /&gt;[ 270.200852] sp : ffffffc0289fba80&lt;BR /&gt;[ 270.207720] x29: ffffffc0289fba80 x28: 0000000000000243&lt;BR /&gt;[ 270.216583] x27: 0000000000020002 x26: ffffff8012c7ca00&lt;BR /&gt;[ 270.225447] x25: ffffff80112789c0 x24: ffffff80da80dba8&lt;BR /&gt;[ 270.234311] x23: 0000000000000000 x22: ffffff80ca0ee600&lt;BR /&gt;[ 270.243175] x21: ffffff80c9170000 x20: ffffff80ca16d470&lt;BR /&gt;[ 270.252039] x19: ffffff80ca16d500 x18: ffffffc02815d078&lt;BR /&gt;[ 270.260908] x17: 0000000000000002 x16: ffffffffffffffff&lt;BR /&gt;[ 270.269767] x15: 0000000000000030 x14: 0000000000000006&lt;BR /&gt;[ 270.278631] x13: ffffff80112789c8 x12: 00000000534f434b&lt;BR /&gt;[ 270.287495] x11: 0000000000000000 x10: 0000000000000001&lt;BR /&gt;[ 270.296358] x9 : 0000000000000000 x8 : 0000000000000000&lt;BR /&gt;[ 270.305222] x7 : 0000000000000000 x6 : 000000000000003f&lt;BR /&gt;[ 270.314087] x5 : 0000000000000040 x4 : 0000000000000100&lt;BR /&gt;[ 270.322950] x3 : ffffff80df044e00 x2 : ffffff80df044e00&lt;BR /&gt;[ 270.331815] x1 : 0000000000000000 x0 : 0000000000000000&lt;BR /&gt;[ 270.340678] Call trace:&lt;BR /&gt;[ 270.346682] usb_function_activate+0x88/0x94&lt;BR /&gt;[ 270.354502] uvc_function_connect+0x20/0x60&lt;BR /&gt;[ 270.362238] uvc_v4l2_open+0x68/0x8c&lt;BR /&gt;[ 270.369366] v4l2_open+0xe0/0x11c&lt;BR /&gt;[ 270.376234] chrdev_open+0x1c4/0x230&lt;BR /&gt;[ 270.383361] do_dentry_open+0x234/0x42c&lt;BR /&gt;[ 270.390749] vfs_open+0x30/0x40&lt;BR /&gt;[ 270.397442] path_openat+0x8b8/0xaf0&lt;BR /&gt;[ 270.404570] do_filp_open+0x7c/0x12c&lt;BR /&gt;[ 270.411698] do_sys_openat2+0x80/0x168&lt;BR /&gt;[ 270.419000] __arm64_sys_openat+0x74/0xa0&lt;BR /&gt;[ 270.426564] el0_svc_common+0xb8/0x1a4&lt;BR /&gt;[ 270.433863] do_el0_svc+0x28/0x7c&lt;BR /&gt;[ 270.440731] el0_svc+0x14/0x24&lt;BR /&gt;[ 270.447338] el0_sync_handler+0x6c/0xb4&lt;BR /&gt;[ 270.454726] el0_sync+0x1b4/0x1c0&lt;BR /&gt;[ 270.461592] ---[ end trace e38e44029c5dcd28 ]---&lt;BR /&gt;[ 270.469865] configfs-gadget gadget: uvc: UVC connect failed with -22&lt;BR /&gt;[ 270.479836] configfs-gadget gadget: uvc: uvc_function_disable()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so how to enable UVC+UAC composite gadget on imx8mp android 11 bsp?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 07 Jun 2023 07:55:31 GMT</pubDate>
    <dc:creator>kevin3_wei</dc:creator>
    <dc:date>2023-06-07T07:55:31Z</dc:date>
    <item>
      <title>how to enable UVC+UAC composite gadget</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/how-to-enable-UVC-UAC-composite-gadget/m-p/1664970#M207243</link>
      <description>&lt;P&gt;We are use imx8mp android 11 bsp , and we want to enable UVC+UAC composite gadget feature , kernel config we have enable:&lt;/P&gt;&lt;P&gt;CONFIG_USB_CONFIGFS_F_UVC=y&lt;BR /&gt;CONFIG_USB_CONFIGFS_F_UAC1=y&lt;BR /&gt;CONFIG_USB_CONFIGFS_F_UAC2=y&lt;/P&gt;&lt;P&gt;and use below script to enable UVC and UAC:&lt;/P&gt;&lt;P&gt;stop adbd&lt;BR /&gt;echo "" &amp;gt; /config/usb_gadget/g1/UDC&lt;BR /&gt;mkdir /config/usb_gadget/g1/functions/uvc.0&lt;BR /&gt;mkdir /config/usb_gadget/g1/functions/uac1.0&lt;BR /&gt;cd /config/usb_gadget/g1/functions/uvc.0&lt;BR /&gt;echo 3072 &amp;gt; streaming_maxpacket&lt;BR /&gt;echo 0 &amp;gt; streaming_maxburst&lt;BR /&gt;echo 1 &amp;gt; streaming_interval&lt;BR /&gt;mkdir control/header/h&lt;BR /&gt;ln -s control/header/h control/class/fs/&lt;BR /&gt;ln -s control/header/h control/class/ss&lt;BR /&gt;mkdir -p streaming/mjpeg/m/720p&lt;BR /&gt;echo 1280 &amp;gt; streaming/mjpeg/m/720p/wWidth&lt;BR /&gt;echo 720 &amp;gt; streaming/mjpeg/m/720p/wHeight&lt;BR /&gt;echo 29491200 &amp;gt; streaming/mjpeg/m/720p/dwMinBitRate&lt;BR /&gt;echo 29491200 &amp;gt; streaming/mjpeg/m/720p/dwMaxBitRate&lt;BR /&gt;echo 3110400 &amp;gt; streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize&lt;BR /&gt;echo 333333 &amp;gt; streaming/mjpeg/m/720p/dwDefaultFrameInterval&lt;BR /&gt;echo "333333\n666666\n1000000\n" &amp;gt; streaming/mjpeg/m/720p/dwFrameInterval&lt;BR /&gt;mkdir streaming/header/h&lt;BR /&gt;ln -s streaming/mjpeg/m streaming/header/h&lt;BR /&gt;ln -s streaming/header/h streaming/class/fs/&lt;BR /&gt;ln -s streaming/header/h streaming/class/hs/&lt;BR /&gt;ln -s streaming/header/h streaming/class/ss/&lt;BR /&gt;echo "uvc_uac1" &amp;gt; /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration&lt;BR /&gt;rm /config/usb_gadget/g1/configs/b.1/function0&lt;BR /&gt;rm /config/usb_gadget/g1/configs/b.1/function1&lt;BR /&gt;echo "0x1d6b" &amp;gt; /config/usb_gadget/g1/idVendor&lt;BR /&gt;echo "0x0104" &amp;gt; /config/usb_gadget/g1/idProduct&lt;BR /&gt;ln -s /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/function0&lt;BR /&gt;ln -s /config/usb_gadget/g1/functions/uac1.0 /config/usb_gadget/g1/configs/b.1/function1&lt;BR /&gt;echo "38100000.dwc3" &amp;gt; /config/usb_gadget/g1/UDC&lt;/P&gt;&lt;P&gt;uvc_gadget -v /dev/video2 -u /dev/video6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;after run script , i can see host pc can detect UVC + UAC&lt;/P&gt;&lt;P&gt;[ 4166.912769] uvcvideo: Found UVC 1.00 device LATAM (1d6b:0104)&lt;BR /&gt;[ 4166.924081] input: LATAM: UVC Camera as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/input/input38&lt;/P&gt;&lt;P&gt;kevinwei@kevinwei-TUF-Gaming-FX505GT:~$ cat /proc/asound/cards&lt;BR /&gt;0 [NVidia ]: HDA-Intel - HDA NVidia&lt;BR /&gt;HDA NVidia at 0xa4080000 irq 17&lt;BR /&gt;1 [sofsklhdacard ]: sof-hda-dsp - sof-hda-dsp&lt;BR /&gt;ASUSTeKCOMPUTERINC.-TUFGamingFX505GT-1.0-FX505GT&lt;BR /&gt;2 [LATAM ]: USB-Audio - LATAM&lt;BR /&gt;Pegatron LATAM at usb-0000:00:14.0-6, high speed&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but i use below command to try UAC device , imx8mp kernel will crash&lt;/P&gt;&lt;P&gt;1. host pc:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst-launch-1.0 -v filesrc location=c304-2.wav ! wavparse ! audioconvert ! alsasink device=hw:2&lt;/P&gt;&lt;P&gt;2. imx8mp device:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst-launch-1.0 -v alsasrc device=hw:6 ! audio/x-raw, rate=48000 ! audioconvert ! alsasink device=hw:5&amp;nbsp;&amp;nbsp; // to speaker&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;imx8mp kernel will crash:&lt;/P&gt;&lt;P&gt;[ 269.974571] WARNING: CPU: 3 PID: 1903 at drivers/usb/gadget/composite.c:427 usb_function_activate+0x88/0x94&lt;BR /&gt;[ 269.987846] Modules linked in: fec ptp pps_core realtek pci_imx6 snd_soc_imx_rpmsg snd_soc_rpmsg_wm8960_i2c snd_soc_rpmsg_wm8960 imx_audio_rpmsg snd_soc_fsl_rpmsg imx_pcm_rpmsg i2c_rpmsg_imx imx_dsp_r0&lt;BR /&gt;[ 269.987993] v4l2_fwnode imx_cpufreq_dt cpufreq_dt imx8mm_thermal device_cooling nvmem_imx_ocotp dummy_battery gpio_switch dwc3_imx8mp panel_simple panel_jadard_jd9365da_h3 panel_raydium_rm67191 sec_mim&lt;BR /&gt;[ 270.153933] CPU: 3 PID: 1903 Comm: gst-launch-1.0 Tainted: G C O 5.10.72-g44cf7994ab03-dirty #35&lt;BR /&gt;[ 270.167393] Hardware name: LATAM R11 (DT)&lt;BR /&gt;[ 270.174958] pstate: 20400085 (nzCv daIf +PAN -UAO -TCO BTYPE=--)&lt;BR /&gt;[ 270.184520] pc : usb_function_activate+0x88/0x94&lt;BR /&gt;[ 270.192685] lr : usb_function_activate+0x28/0x94&lt;BR /&gt;[ 270.200852] sp : ffffffc0289fba80&lt;BR /&gt;[ 270.207720] x29: ffffffc0289fba80 x28: 0000000000000243&lt;BR /&gt;[ 270.216583] x27: 0000000000020002 x26: ffffff8012c7ca00&lt;BR /&gt;[ 270.225447] x25: ffffff80112789c0 x24: ffffff80da80dba8&lt;BR /&gt;[ 270.234311] x23: 0000000000000000 x22: ffffff80ca0ee600&lt;BR /&gt;[ 270.243175] x21: ffffff80c9170000 x20: ffffff80ca16d470&lt;BR /&gt;[ 270.252039] x19: ffffff80ca16d500 x18: ffffffc02815d078&lt;BR /&gt;[ 270.260908] x17: 0000000000000002 x16: ffffffffffffffff&lt;BR /&gt;[ 270.269767] x15: 0000000000000030 x14: 0000000000000006&lt;BR /&gt;[ 270.278631] x13: ffffff80112789c8 x12: 00000000534f434b&lt;BR /&gt;[ 270.287495] x11: 0000000000000000 x10: 0000000000000001&lt;BR /&gt;[ 270.296358] x9 : 0000000000000000 x8 : 0000000000000000&lt;BR /&gt;[ 270.305222] x7 : 0000000000000000 x6 : 000000000000003f&lt;BR /&gt;[ 270.314087] x5 : 0000000000000040 x4 : 0000000000000100&lt;BR /&gt;[ 270.322950] x3 : ffffff80df044e00 x2 : ffffff80df044e00&lt;BR /&gt;[ 270.331815] x1 : 0000000000000000 x0 : 0000000000000000&lt;BR /&gt;[ 270.340678] Call trace:&lt;BR /&gt;[ 270.346682] usb_function_activate+0x88/0x94&lt;BR /&gt;[ 270.354502] uvc_function_connect+0x20/0x60&lt;BR /&gt;[ 270.362238] uvc_v4l2_open+0x68/0x8c&lt;BR /&gt;[ 270.369366] v4l2_open+0xe0/0x11c&lt;BR /&gt;[ 270.376234] chrdev_open+0x1c4/0x230&lt;BR /&gt;[ 270.383361] do_dentry_open+0x234/0x42c&lt;BR /&gt;[ 270.390749] vfs_open+0x30/0x40&lt;BR /&gt;[ 270.397442] path_openat+0x8b8/0xaf0&lt;BR /&gt;[ 270.404570] do_filp_open+0x7c/0x12c&lt;BR /&gt;[ 270.411698] do_sys_openat2+0x80/0x168&lt;BR /&gt;[ 270.419000] __arm64_sys_openat+0x74/0xa0&lt;BR /&gt;[ 270.426564] el0_svc_common+0xb8/0x1a4&lt;BR /&gt;[ 270.433863] do_el0_svc+0x28/0x7c&lt;BR /&gt;[ 270.440731] el0_svc+0x14/0x24&lt;BR /&gt;[ 270.447338] el0_sync_handler+0x6c/0xb4&lt;BR /&gt;[ 270.454726] el0_sync+0x1b4/0x1c0&lt;BR /&gt;[ 270.461592] ---[ end trace e38e44029c5dcd28 ]---&lt;BR /&gt;[ 270.469865] configfs-gadget gadget: uvc: UVC connect failed with -22&lt;BR /&gt;[ 270.479836] configfs-gadget gadget: uvc: uvc_function_disable()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so how to enable UVC+UAC composite gadget on imx8mp android 11 bsp?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2023 07:55:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/how-to-enable-UVC-UAC-composite-gadget/m-p/1664970#M207243</guid>
      <dc:creator>kevin3_wei</dc:creator>
      <dc:date>2023-06-07T07:55:31Z</dc:date>
    </item>
    <item>
      <title>Re: how to enable UVC+UAC composite gadget</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/how-to-enable-UVC-UAC-composite-gadget/m-p/1669056#M207574</link>
      <description>&lt;P&gt;You can refer to &lt;A href="https://community.nxp.com/t5/i-MX-Processors/UVC-gadget-on-imx8mevk/m-p/931181" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/UVC-gadget-on-imx8mevk/m-p/931181&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jun 2023 08:01:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/how-to-enable-UVC-UAC-composite-gadget/m-p/1669056#M207574</guid>
      <dc:creator>Rita_Wang</dc:creator>
      <dc:date>2023-06-14T08:01:35Z</dc:date>
    </item>
  </channel>
</rss>

