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 rproc-virtio.5.auto: assigned reserved memory node m4f-dma-memory@9cb00000
[ 6.570366] rproc-virtio rproc-virtio.5.auto: 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 ti.ipc4.ping-pong addr 0xd
[ OK ] Started User Login Management.
[ 6.789303] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
[ OK ] Started Connection service.
- [ 6.420252] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
-
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 ti.ipc4.ping-pong 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
- rpmsg_char_simple -r 9 -n 10 -p 14
Sadly the MCU doesn’t reflect the messaging and is stuck waiting on both channels (13 and 14).
-
- [IPC RPMSG ECHO] Version: REL.MCUSDK.09.00.00.19 (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 … !!!
- [IPC RPMSG ECHO] Version: REL.MCUSDK.09.00.00.19 (Nov 23 2023 11:12:15):
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,
Clemens