Jonathan Bakker - 2022-07-21

I'm working on getting openPowerlink (as a CN) running on Nvidia Jetson Xavier NX with an Intel i210 connected over PCIe. While the demo_cn_console application works when using the pcap interface, I've encountered some issues when trying to use the in-kernel driver. First time I run the demo, it appears that everything is working (ie I get to operational state, see messages that PDOs are mapped, etc), however, the PDO data itself does not appear to be transferred (it just stays at zero). After quitting and then restarting, it very briefly goes to operational before getting reset again and I get stuck in a reset loop. If I unload and reload the module (using plkload and plkunload), I see error messages related to the SMMU (IOMMU on Arm).

Any pointers on where I might go to help debug what is going on? I suspect that the kernel and userspace are simply looking at different memory locations.