I need to make some modifications to the
imx_rpmsg_tty kernel module. Firstly, I compiled the
imx_rpmsg_tty.c module without any changes, according to these instructions. I copied the compiled module to the SoM and when I run
insmod imx_rpmsg_tty.ko, I get the following dmesg output:
[ 63.396706] imx_rpmsg_tty: no symbol version for module_layout [ 63.397662] imx_rpmsg_tty virtio0.rpmsg-virtual-tty-channel-1.-1.30: new channel: 0x400 -> 0x1e! [ 63.398405] Install rpmsg tty driver!
/dev/ttyRPMSG30 appears in the file system, but when I try to run the following command:
echo "hello" > /dev/ttyRPMSG30, I get kernel panic starting with the following errors:
[ 263.782119] Unable to handle kernel read from unreadable memory at virtual address ffff80000939b498 [ 263.791208] Mem abort info: [ 263.794007] ESR = 0x8600000f [ 263.797064] EC = 0x21: IABT (current EL), IL = 32 bits [ 263.802521] SET = 0, FnV = 0 [ 263.805603] EA = 0, S1PTW = 0 [ 263.808760] swapper pgtable: 4k pages, 48-bit VAs, pgdp=00000000417c1000 [ 263.815498] [ffff80000939b498] pgd=00000000bffff003, pud=00000000bfffe003, pmd=00000000b7950003, pte=3 [ 263.826338] Internal error: Oops: 8600000f [#1] PREEMPT SMP [ 263.831920] Modules linked in: imx_rpmsg_tty xt_nat xt_tcpudp xt_conntrack xt_MASQUERADE nf_conntrack) [ 263.873424] CPU: 1 PID: 1242 Comm: sh Tainted: G O 5.4.77-5.1.0+git.afc2df4893e6 #1-Toe [ 263.883428] Hardware name: Toradex Verdin iMX8M Mini WB on Verdin Development Board (DT) [ 263.891523] pstate: 00000005 (nzcv daif -PAN -UAO) [ 263.896325] pc : rpmsgtty_port_ops+0x18/0xffffffffffffeb80 [imx_rpmsg_tty]
I assume that there is something wrong with deploying the compiled kernel module to the SoM, since I didn’t change anything in the module’s source or in the Cortex-M4 application.