PCIE on iMX6Q problems

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PCIE on iMX6Q problems

1,257 Views
minhnguyen
Contributor I

Hello Everyone,

I want to implement a Wlan card from LAIRD to a custom iMX6Q from Phytec based on distro fsl-imx-xwayland. The meta-laird-cp wifi driver and backport is already included in bb layer and conf file. On the booting, I think PCIe has some problems:

[    0.550313] imx6q-pcie 1ffc000.pcie: phy link never came up
[    0.550727] imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00
[    0.550760] pci_bus 0000:00: root bus resource [io  0x1000-0xffff]
[    0.550786] pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]
[    0.550814] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.551636] PCI: bus0: Fast back to back transfers disabled
[    0.551912] PCI: bus1: Fast back to back transfers enabled
[    0.552110] pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff]
[    0.552151] pci 0000:00:00.0: BAR 6: assigned [mem 0x01100000-0x0110ffff pref]
[    0.552179] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.552595] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt

The PCI host seem to be can not detected because there is no mapping for PCI IO and PCI MEM. The signal PME is also interrupt.

When I test with command lspci -v, system can not detect the wlan card, just only the PCI bridge:

00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 298
        Memory at 01000000 (32-bit, non-prefetchable) [size=1M]
        Bus: primary=00, secondary=01, subordinate=ff, sec-latency=0
        I/O behind bridge: None
        Memory behind bridge: None
        Prefetchable memory behind bridge: None
        [virtual] Expansion ROM at 01100000 [disabled] [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable+ Count=1/1 Maskable+ 64bit+
        Capabilities: [70] Express Root Port (Slot-), MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Virtual Channel
        Kernel driver in use: pcieport

Do I configure the PCI driver correct? Anyone have idea about this. Hope that you can help me.

Thanks and Best Regards,

Minh.

0 Kudos
3 Replies

1,062 Views
igorpadykov
NXP Employee
NXP Employee

Hi Minh

one can check with other cards if they will be detected, also look at below suggestions

i.MX6 “PHY link never came up” 

VAR-MX6Custom board PCIe phy does not come up - Variscite Forums 

pci: mx6: fix occasional link failures (5a82e1a2) · Commits · U-Boot / U-Boot · GitLab 

also phytec uses own bsps so may be relevant to post issue on its forums.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,062 Views
minhnguyen
Contributor I

Hi Igor,

Thanks for your help, now I can integrate the driver of wlan card and the wlan card also regconize on the PCI lists device through command lspci -v.

In the boot logs file have these issues:

[ OK ] Started Rebuil[ 5.736692] Loading modules backported from Linux version LRD-REL-7.0.0.52-0-ga7b66f2
d Journal Catalog.
[ 5.746004] Backport generated by backports.git LRD-REL-7.0.0.52-0-g6748ad4
[ 5.784275] lrdmwl: disagrees about version of symbol ieee80211_queue_stopped
[ 5.791448] lrdmwl: Unknown symbol ieee80211_queue_stopped (err -22)
[ 5.802784] coda 2040000.vpu: Direct firmware load for v4l-coda960-imx6q.bin failed with error -2
[ 5.810906] lrdmwl: disagrees about version of symbol ieee80211_stop_tx_ba_session
[ 5.810912] lrdmwl: Unknown symbol ieee80211_stop_tx_ba_session (err -22)
[ 5.810924] lrdmwl: disagrees about version of symbol ieee80211_start_tx_ba_cb_irqsafe
[ 5.810928] lrdmwl: Unknown symbol ieee80211_start_tx_ba_cb_irqsafe (err -22)
[ 5.810943] lrdmwl: disagrees about version of symbol ieee80211_connection_loss
[ 5.810946] lrdmwl: Unknown symbol ieee80211_connection_loss (err -22)
[ 5.810958] lrdmwl: disagrees about version of symbol ieee80211_report_wowlan_wakeup
[ 5.810970] lrdmwl: Unknown symbol ieee80211_report_wowlan_wakeup (err -22)
[ 5.821480] lrdmwl: disagrees about version of symbol ieee80211_free_hw
[ 5.821486] lrdmwl: Unknown symbol ieee80211_free_hw (err -22)
[ 5.821517] lrdmwl: disagrees about version of symbol ieee80211_start_tx_ba_session
[ 5.821522] lrdmwl: Unknown symbol ieee80211_start_tx_ba_session (err -22)
[ 5.821536] lrdmwl: disagrees about version of symbol regulatory_hint
[ 5.821540] lrdmwl: Unknown symbol regulatory_hint (err -22)
[ 5.821576] lrdmwl: disagrees about version of symbol ieee80211_register_hw
[ 5.821579] lrdmwl: Unknown symbol ieee80211_register_hw (err -22)
[ 5.821588] lrdmwl: disagrees about version of symbol ieee80211_restart_hw
[ 5.821591] lrdmwl: Unknown symbol ieee80211_restart_hw (err -22)
[ 5.821613] lrdmwl: Unknown symbol cfg80211_find_ie_match (err 0)
[ 5.821628] lrdmwl: disagrees about version of symbol ieee80211_wake_queue
[ 5.821631] lrdmwl: Unknown symbol ieee80211_wake_queue (err -22)
[ 5.821697] lrdmwl: disagrees about version of symbol __cfg80211_alloc_reply_skb
[ 5.821701] lrdmwl: Unknown symbol __cfg80211_alloc_reply_skb (err -22)
[ 5.821736] lrdmwl: disagrees about version of symbol ieee80211_stop_tx_ba_cb_irqsafe
[ 5.821739] lrdmwl: Unknown symbol ieee80211_stop_tx_ba_cb_irqsafe (err -22)
[ 5.821756] lrdmwl: disagrees about version of symbol wiphy_to_ieee80211_hw
[ 5.821759] lrdmwl: Unknown symbol wiphy_to_ieee80211_hw (err -22)
[ 5.821821] lrdmwl: disagrees about version of symbol ieee80211_remain_on_channel_expired
[ 5.821824] lrdmwl: Unknown symbol ieee80211_remain_on_channel_expired (err -22)
[ 5.821867] lrdmwl: disagrees about version of symbol ieee80211_wake_queues
[ 5.821870] lrdmwl: Unknown symbol ieee80211_wake_queues (err -22)
[ 5.821900] lrdmwl: disagrees about version of symbol ieee80211_alloc_hw_nm
[ 5.821903] lrdmwl: Unknown symbol ieee80211_alloc_hw_nm (err -22)
[ 5.821933] lrdmwl: disagrees about version of symbol cfg80211_vendor_cmd_reply
[ 5.821936] lrdmwl: Unknown symbol cfg80211_vendor_cmd_reply (err -22)
[ 5.821960] lrdmwl: disagrees about version of symbol ieee80211_tx_status
[ 5.821963] lrdmwl: Unknown symbol ieee80211_tx_status (err -22)
[ 5.821969] lrdmwl: disagrees about version of symbol ieee80211_stop_queue
[ 5.821971] lrdmwl: Unknown symbol ieee80211_stop_queue (err -22)
[ 5.821987] lrdmwl: disagrees about version of symbol ieee80211_ready_on_channel
[ 5.821990] lrdmwl: Unknown symbol ieee80211_ready_on_channel (err -22)
[ 5.821995] lrdmwl: disagrees about version of symbol ieee80211_stop_queues
[ 5.821998] lrdmwl: Unknown symbol ieee80211_stop_queues (err -22)
[ 5.822034] lrdmwl: disagrees about version of symbol ieee80211_channel_to_frequency
[ 5.822037] lrdmwl: Unknown symbol ieee80211_channel_to_frequency (err -22)
[ 5.822043] lrdmwl: disagrees about version of symbol ieee80211_unregister_hw
[ 5.822046] lrdmwl: Unknown symbol ieee80211_unregister_hw (err -22)
[ 5.822058] lrdmwl: disagrees about version of symbol ieee80211_beacon_get_tim
[ 5.822061] lrdmwl: Unknown symbol ieee80211_beacon_get_tim (err -22)
[ 5.822081] lrdmwl: disagrees about version of symbol ieee80211_radar_detected
[ 5.822084] lrdmwl: Unknown symbol ieee80211_radar_detected (err -22)
[ 5.822134] lrdmwl: disagrees about version of symbol ieee80211_csa_finish
[ 5.822137] lrdmwl: Unknown symbol ieee80211_csa_finish (err -22)
[ 5.822153] lrdmwl: Unknown symbol ieee80211_rx_napi (err 0)

Do you have any idea about these Errors. Phytec BSP do not implement the fsl_imx_gpu direct Frame Buffer that I need to develop the software based on OpenGL ES. So that's why I make a BSP based on the fsl-imx.

Best Regards,

Minh.

0 Kudos

981 Views
johnnosky
Contributor I

John from Laird Connectivity here.

Just for future reference, these errors are caused either by the backported driver being used with in-tree mac80211 and cfg80211 or backports was built against a different kernel than the one running on the host here.

If you are experiencing errors similar to these, the kernel will have to be reconfigured/recompiled with the wireless subsystem removed and backports built against that kernel and deployed on the host with the new kernel. Laird Connectivity provides an external layer for building the driver and firmware with custom Yocto images. Please see our layer here:

https://github.com/LairdCP/meta-laird-cp

And if support is needed, please click on the button "Open a Support Ticket" found in the link below.

https://www.lairdconnect.com/resources/support

0 Kudos