Apalis IMX8 BSP 7 Kernel 6.6.23 - PCI MSI issues

Hi,

I’m aware that there is currently no official support for the scarthgap-based BSP 7 running Kernel 6.6 on the Apalis IMX8, but I’ve followed the scarthgap-7.x.y branch in the toradex-manifest layer and was able to build an image based on it with only very minor modifications needed to the linux-toradex_6.6-2.0.x.bb recipe.

I have been testing PCI drivers for the Qualcomm WCN785x Wifi 7 chip which is not going to be supported on any Kernel versions lower than 6, so using Kernel 5.15 does not work in this case which is why we are forced to try this experimental route.

I’ve been running into issues that seem to be related to the PCI MSI interrupt handling and I briefl

y wanted to ask whether you may have an idea where this error might come from (misconfigured DT?) and how it could potentially be solved.

I cross checked this with drivers for a Qualcomm QCNFA765 wifi 6 chip that is supported on Kernel 5.15 which is working fine there, but using the Kernel 6.6 image yields exactly the same error here, so my assumption is that there is a common cause.

[   82.917598] [kworke][0x4f12338][17:29:49.387581] qca6490: [10:E:QDF] htc_wait_recv_ctrl_message: Failed to receive control message
[   82.917598]
[   82.930912] [kworke][0x4f15741][17:29:49.400900] qca6490: [10:F:QDF] cds_open: Failed to complete BMI phase. status: 16

I attached the log that I’m seeing if it helps as well as the lspci -vvv report.

wcn785x_driver_load_apalis_imx8.txt (5.2 KB)
lspci_apalis_imx8.txt (4.8 KB)
qcnfa765_driver_load_fail_kernel_6.txt (10.5 KB)

I understand if this may be outside the scope of usual technical support, but any help would still be appreciated.
Thank you

Best Regards

Patrik John

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hi Patrik,

Given the context of your setup with the Apalis IMX8 and the experimental use of Kernel 6.6, the issues you’re encountering with PCI MSI interrupt handling could indeed stem from a misconfigured device tree (DT). Here are a few steps you might consider to troubleshoot and potentially resolve the issue:

  1. Device Tree Configuration: Double-check the device tree settings related to the PCIe interface. Ensure that the interrupt mappings and any related configurations are correctly defined for the Qualcomm WCN785x Wifi 7 chip. Misconfigurations here can lead to failures in handling MSI interrupts.

  2. Kernel Configuration: Since you’re using an experimental kernel, verify that all necessary kernel configurations for PCIe and MSI are enabled. Sometimes, certain options might be disabled by default in newer or custom kernel versions.

  3. Log Analysis: Carefully analyze the logs you provided (driver_load_apalis_imx8.txt and lspci_apalis_imx8.txt). Look for any error messages or warnings that could give more insight into what might be going wrong. This can help pinpoint whether the issue is with the driver, the kernel, or the hardware configuration.

  4. Compare with Working Setup: Since the Qualcomm QCNFA765 wifi 6 chip works fine on Kernel 5.15, compare the device tree and kernel configurations between the two setups. This might help identify any discrepancies or missing configurations in the Kernel 6.6 setup.

  5. Community and Documentation: Given the lack of official support, consider reaching out to the community or checking any available documentation for similar issues. Others experimenting with similar setups might have encountered and resolved similar problems.

Since this is an experimental setup, be prepared for some trial and error. If possible, try to isolate changes to see which specific configuration might be causing the issue. Good luck with your troubleshooting!

Best Regards,
[Your Name]

Please, also check if these links can help you solve your problem:

PCIe devices not enumerated on imx8mp-verdin.

It seems to be a driver issue. I would recommend you to try it with Linux Kernel 6.11 or newer. You can have it that using upstream distros comes with Toradex BSP 7. Or try on a PC with the ubuntu 24.10 first to see if it works.

Some references:
https://www.reddit.com/r/Ubuntu/comments/1cfhnmd/ubuntu_2404_lts_qualcomm_ncm865_wifi_7_adapter/

@Fide

Thanks for input. We’ve tested the same with an NXP MCIMX8QM-EVK as well as an NXP MCIMX8M-EVK, both running Kernel 6.6.3 and there the drivers work fine on both platforms, so I would carefully rule out a driver issue for now.
We also aligned the kernel configs between those platforms and the Apalis-IMX8, but it still didn’t solve the issue.

I cannot really tell what’s the deeper difference regarding PCI between the NXP platforms and the Apalis-IMX8.

BR

Patrik

I got some good news. It turns out there seems to be an issue on that particular Kernel version with the interrupt handling on PCI.

I updated now to the currently latest 6.6.54 (branch toradex_6.6-2.1.x-imx) and the issues are completely resolved now.

BR

Patrik

Hi @pajo!

I’m glad to know that you solved the issue.
I will consider this topic closed. If you face any other issue, please feel free to open a new topic.

Best regards.
Lucas Azeituno.