Configuring i.MX 8M Plus EVK as Milan Listener

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Configuring i.MX 8M Plus EVK as Milan Listener

Jump to solution
895 Views
praveen_yaramada
Contributor II

I am currently working through the demo outlined in Chapter 9 of the [https://www.nxp.com/docs/en/user-guide/GENAVBTSNUG.pdf]. The goal is to set up the i.MX 8M Plus EVK as a Milan listener. My setup involves an AVB switch and a MacBook Pro equipped with an AVB adapter, acting as the Talker.

While the Hive system successfully recognizes the EVK as a media device and the output stream appears active, I am encountering a challenge with establishing a route. The Talker is configured to operate at 48KHz with a 2-channel setup. Hive reports the route could not be established. The contents of /var/log/avb_media_app.log shows this:

NXP's GenAVB ALSA reference application
binding params file name: /etc/genavb/milan_binding_params.nvram
Read EntityID 00049f0852680000 Listener unique ID 0 Talker entity ID f5d48870de1e8000 Talker unique ID 0 Controller entity ID003093190b820082 Started 1
Sent binding parameters: EntityID 00049f0852680000 Listener unique ID 0 Talker entity ID f5d48870de1e8000 Talker unique ID 0 Controller entity ID003093190b820082 Started 1
wait for new stream...
GENAVB_MSG_MEDIA_STACK_BIND: Controller (f5d48870de1e0000) bound listener stream (00049f0852680000, 0, STARTED) to talker stream (f5d48870de1e8000, 0)
update /etc/genavb/milan_binding_params.nvram with entry: EntityID 00049f0852680000 Listener unique ID 0 Talker entity ID f5d48870de1e8000 Talker unique ID 0 Controller entity IDf5d48870de1e0000 Started 1
GENAVB_MSG_MEDIA_STACK_CONNECT
stream ID: 003093190b820005
mode: AVDECC LISTENER
Configured AVB batch size (bytes): 480
alsa(0xaaaace875870) buffer size 2040, period size 24
Plug PCM: Hardware PCM card 2 'wm8960-audio' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 32
  buffer_size  : 2040
  period_size  : 24
  period_time  : 500
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 24
  period_event : 1
  start_threshold  : 1
  stop_threshold   : 2040
  silence_threshold: 0
  silence_size : 0
  boundary     : 9187343239835811840
  appl_ptr     : 0
  hw_ptr       : 0
Starting listener loop, non-blocking mode
GENAVB_MSG_MEDIA_STACK_DISCONNECT
Loop function exited upon avdecc disconnect


Build is made per the EVK's User Guide: `DISTRO=nxp-real-time-edge MACHINE=imx8mp-lpddr4-evk`

I have made the following configurations:

  • Modified the /etc/genavb/config file to set GENAVB_TSN_CONFIG=2.
  • Adjusted the /etc/genavb/config_avb file to PROFILE=21.
  • Updated the U-Boot env variable setenv fdtfile imx8mp-evk-avb.dtb.

I would greatly appreciate any guidance or recommendations you might have to resolve this routing issue and successfully complete the demo setup as described.


0 Kudos
Reply
1 Solution
820 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @praveen_yaramada 

The different version could be one reason for this issue.If you are using L6.1.y kernel ,you can try to use 6.1 GENAVB.

Best Regards

Zhiming

View solution in original post

0 Kudos
Reply
2 Replies
863 Views
praveen_yaramada
Contributor II

Update

I've delved deeper into the logs and implementation and would like to share these findings. Hoping to find a resolution for Milan Audio demo not working. 

  1. Log Analysis: Examined the logs located in /var/log/avb.log. The log files reveal additional details about the stream negotiation process and the state-machine behavior of acp_milan_listener. Enclosed the log file for your review.
    Here is a short excerpt:
    entity(0xffff80001cf0) listener sink (0) : event ACMP_LISTENER_SINK_SM_EVENT_RCV_PROBE_TX_RESP, state from ACMP_LISTENER_SINK_SM_STATE_PRB_W_RESP to ACMP_LISTENER_SINK_SM_STATE_SETTLED_NO_RSV
    avdecc(0xffff80000b70) port(0) listener declaration LISTENER_FAILED for stream_id(003093190b820005)
    avdecc(0xffff80000b70) port(0) Received listener status NO_TALKER for stream_id(003093190b820005)
  2. Version mismatch: A potential source code mismatch has caught my attention. The GenAVB currently in use is version 5.10, whereas the build is on kernel version 6.1. I see a possible candidate here (https://github.com/NXP/GenAVB_TSN/tree/6_1).
    I am contemplating whether updating to AVB implementation aligned with the kernel 6.1 could potentially rectify the issue I'm experiencing. Before proceeding, I would highly appreciate any insights or recommendations from the community or NXP support team.

Thank you for your continued support and assistance.

Tags (3)
0 Kudos
Reply
821 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @praveen_yaramada 

The different version could be one reason for this issue.If you are using L6.1.y kernel ,you can try to use 6.1 GENAVB.

Best Regards

Zhiming

0 Kudos
Reply