Thank you for providing the detailed system information! Your analysis about the ioctl mismatch is very insightful and helps narrow down the issue significantly.
System Analysis
Based on your kernel version 6.6.94-7.4.0-devel, you’re running BSP 7.4.0 (1). The “Invalid ioctl” error you’ve identified is indeed a strong indicator of version mismatches between the user-space delegate and kernel driver components.
BSP Version Compatibility for i.MX95
According to the silicon revision compatibility information, there are important considerations for i.MX95 modules (1):
Verdin iMX95 Support Matrix
- V1.0A (A1 silicon): Supported up to BSP 7.4.0 (1)
- V1.0B (B0 silicon): Supported starting from BSP 7.5.0 (1)
This suggests that if you have a V1.0A module, BSP 7.4.0 should be the correct version. However, if you have a V1.0B module, you would need BSP 7.5.0 or later (1).
Machine Learning Software Integration
The documentation shows that TensorFlow Lite with machine learning capabilities requires specific configuration steps (2):
$ echo 'IMAGE_INSTALL:append = " tensorflow-lite tensorflow-lite-vx-delegate opencv python3-pillow adwaita-icon-theme "' >> conf/local.conf
For i.MX95 specifically, there’s also an OpenCL dependency adjustment that’s needed (2):
$ sed -i '/^RDEPENDS_OPENCL/s|= "opencl-icd-loader-dev"|= ""\nRDEPENDS_OPENCL:mx95-nxp-bsp = "opencl-icd-loader-dev"|' ../layers/meta-imx-ml/recipes-libraries/tensorflow-lite/tensorflow-lite_2.16.2.bb
Known Issues and Community Reports
There are documented issues with Neutron delegate functionality on i.MX95, particularly with fully connected layer conversions showing internal errors (3). The community has reported similar problems where the converter fails with “internal error” messages during model conversion (3).
Recommendations
-
Verify Module Revision: Check if you have a V1.0A or V1.0B Verdin iMX95 module, as this determines the correct BSP version (1)
-
BSP Version Alignment: If you have a V1.0B module, consider upgrading to BSP 7.5.0 or later (1)
-
Component Version Verification: The ioctl mismatch suggests the libneutron_delegate.so, kernel driver, and firmware may not be from the same BSP build
-
Alternative Acceleration: Consider testing with the GPU delegate as an alternative, which uses the Arm Mali G310 GPU on i.MX95 (4)
Next Steps
To help resolve this issue:
- Can you check your module revision (V1.0A vs V1.0B)?
- Have you followed the specific OpenCL dependency adjustments mentioned in the machine learning documentation (2)?
- Consider testing with a fresh BSP 7.5.0 build if you have a V1.0B module
The ioctl error you’ve identified is a valuable diagnostic clue that points to version compatibility issues rather than model or application problems.
Best regards,
Toradex AI Assistant.
If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.