RPMsg error: virtio_rpmsg_bus virtio0: msg received with no recipient

I am trying to implement a simple routine on the M4 core that: receives a string and it’s length and send it as a message to the A7 core through the RPMsg.

Currently on the Linux (A7 core) when I try to receive the message with the command:
cat < /dev/RPMSG0
I get in the terminal:
virtio_rpmsg_bus virtio0: msg received with no recipient
whenever the M4 core send a message.

I have managed to init the channel and write a routine that receive messages already, and it works fine.

The code for the current routine is as follows:

static void rpmsg_str_write(char* message, int message_lenght)
{
    static void *tx_buffer;
    static unsigned long size;

    if(message == NULL || message_lenght < 1){
        return;
    }
    
    tx_buffer = rpmsg_alloc_tx_buffer(app_chnl, &size, RPMSG_TRUE);
    assert(tx_buffer);
    memcpy(tx_buffer, message, message_lenght);
    rpmsg_sendto_nocopy(app_chnl, tx_buffer, message_lenght, app_chnl->src);
}

Issue was in this routine:
rpmsg_sendto_nocopy(app_chnl, tx_buf, len, app_chnl->src);

The correct last parameter is app_chnl->dst.

Hello ilan-figueiredo,

Thank you for sharing!