Am62 RPmsg example error

Hi @henrique.tx ,

After our discussion in the previous thread:

I wanted to ask if you have any updates to the IPC / RPmsg investigation and the errors on loading?

After some attempts I still encounter the mbox errors mentioned by you, or nothing at all.

  • I found a few interesting entries in the dmesg connected to this issue:

    • [ 6.420252] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
      [ 6.479628] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
      [ 6.509149] remoteproc remoteproc0: 5000000.m4fss is available
      [ 6.529707] remoteproc remoteproc0: powering up 5000000.m4fss
      [ 6.535646] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 541996
      [ 6.552263] rproc-virtio assigned reserved memory node m4f-dma-memory@9cb00000
      [ 6.570366] rproc-virtio registered virtio0 (type 7)
      [ 6.577410] audit: type=1701 audit(1701693630.020:6): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=186 comm=“systemd-udevd” exe="/bin/udevad1
      [ 6.592175] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
      [ 6.746937] virtio_rpmsg_bus virtio0: rpmsg host is online
      [ 6.752646] virtio_rpmsg_bus virtio0: creating channel addr 0xd
      [ OK ] Started User Login Management.
      [ 6.789303] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
      [ OK ] Started Connection service.
  • when the “virtio_rpmsg_bus virtio0: creating channel”- entries are missing or set to virtio1 nothing works at all

  • when they are set the “rpmsg_char_simple” tool can be used to check the connection, but MCU doesn’t return any messages

    • rpmsg_char_simple -r 9 -n 10 -p 14
      root@verdin-am62-15133540:~# rpmsg_char_simple -r 9 -n 5 -p 14
      Created endpt device rpmsg-char-9-649, fd = 4 port = 1025
      Exchanging 5 messages with rpmsg device on rproc id 9 …
      Sending message #0: hello there 0!
      Receiving message #0: hello there 0!
      Sending message #1: hello there 1!
      Receiving message #1: hello there 1!
      Sending message #2: hello there 2!
      Receiving message #2: hello there 2!
      Sending message #3: hello there 3!
      Receiving message #3: hello there 3!
      Sending message #4: hello there 4!
      Receiving message #4: hello there 4!
      Communicated 5 messages successfully on rpmsg-char-9-649

Sadly the MCU doesn’t reflect the messaging and is stuck waiting on both channels (13 and 14).

    • [IPC RPMSG ECHO] Version: REL.MCUSDK. (Nov 23 2023 11:12:15):
      [IPC RPMSG ECHO] Remote Core waiting for messages at end point 13 … !!!
      [IPC RPMSG ECHO] Remote Core waiting for messages at end point 14 … !!!

It seams like the device tree node you mentioned (rtos_ipc_memory_region) should be in the device tree, but when decompiling it this part is missing. I am going to test if this can be fixed with an overlay containing that memory entry.

I also found that the behavior is depending on boot up: when rebooting the mbox error may sometime occur or not.

Thank you for your advice.

Best regards,

Hi @cillex !

Sorry for the delay. I still need to perform some more investigation around it.

We will update here once we have news.

In the meantime, could you please share the output of tdx-info? (reference: Getting Device Information with Tdx-Info | Toradex Developer Center)

Best regards,