How to integrate AX210 Wifi/Bluetooth to i.MX8mp

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

How to integrate AX210 Wifi/Bluetooth to i.MX8mp

1,320 Views
heinzhjb
Contributor V

Can you please guide me through integrating Intel AX210ngw module into my Linux system for WLAN/Bluetooth.

We are using:

i.MX8mp EVK compatible board
AX210ngw module in PCI m2 socket
BSP: Hardknott, kernel 5.10.35

 

0 Kudos
14 Replies

1,072 Views
heinzhjb
Contributor V

Hi Sanket Parekh,

I've tried to use kernel 6.1. but failed. It stops at starting. Please see appended log.

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.36 (bheinz@bernd-tower) (aarch64-linux-gnu-gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #9 SMP PREEMPT Wed Nov 22 11:48:12 CET 2023
[    0.000000] Machine model: DESKO PENTA4X Gen1
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x000000007f600000, size 10 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x7f3be700-0x7f3c0fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000055ffffff]
[    0.000000]   node   0: [mem 0x0000000058000000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000] On node 0, zone DMA: 8192 pages in unavailable ranges
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 20 pages/cpu s44520 r8192 d29208 u81920
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Fallback order for Node 0: 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 249856
[    0.000000] Policy zone: DMA
[    0.000000] Kernel command line: console=ttymxc1,115200 root=/dev/nfs rw ip=dhcp nfsroot=192.168.101.94:/home/desko/penta4x/rootfs,v3,tcp
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 952964K/1015808K available (19392K kernel code, 1618K rwdata, 6804K rodata, 3328K init, 645K bss, 52604K reserved, 10240K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 160 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000038880000
[    0.000000] ITS: No ITS available, not enabling LPIs
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 8.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns
[    0.000000] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns
[    0.000454] Console: colour dummy device 80x25
[    0.000518] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=32000)
[    0.000528] pid_max: default: 32768 minimum: 301
[    0.000588] LSM: Security Framework initializing
[    0.000671] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.000681] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.002007] cblist_init_generic: Setting adjustable number of callback queues.
[    0.002019] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.002084] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.002238] rcu: Hierarchical SRCU implementation.
[    0.002241] rcu:     Max phase no-delay instances is 1000.
[    0.003721] EFI services will not be available.
[    0.003971] smp: Bringing up secondary CPUs ...
[    0.004397] Detected VIPT I-cache on CPU1
[    0.004475] GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000
[    0.004514] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.004989] Detected VIPT I-cache on CPU2
[    0.005048] GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000
[    0.005068] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.005475] Detected VIPT I-cache on CPU3
[    0.005530] GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000
[    0.005548] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.005599] smp: Brought up 1 node, 4 CPUs
[    0.005605] SMP: Total of 4 processors activated.
[    0.005609] CPU features: detected: 32-bit EL0 Support
[    0.005612] CPU features: detected: 32-bit EL1 Support
[    0.005616] CPU features: detected: CRC32 instructions
[    0.005672] CPU: All CPU(s) started at EL2
[    0.005695] alternatives: applying system-wide alternatives
[    0.007195] devtmpfs: initialized
[    0.015251] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.015275] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.015736] pinctrl core: initialized pinctrl subsystem
[    0.018283] DMI not present or invalid.
[    0.018902] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.020379] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.020965] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.021407] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.021484] audit: initializing netlink subsys (disabled)
[    0.021686] audit: type=2000 audit(0.016:1): state=initialized audit_enabled=0 res=1
[    0.022231] thermal_sys: Registered thermal governor 'step_wise'
[    0.022235] thermal_sys: Registered thermal governor 'power_allocator'
[    0.022275] cpuidle: using governor menu
[    0.022576] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.022657] ASID allocator initialised with 65536 entries
[    0.023709] Serial: AMBA PL011 UART driver
[    0.023767] imx mu driver is registered.
[    0.023787] imx rpmsg driver is registered.
[    0.033631] imx8mp-pinctrl 30330000.pinctrl: initialized IMX pinctrl driver
[    0.042236] platform 32e00000.isi: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a40000/ar1820@37
[    0.042612] platform 32e40000.csi: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a40000/ar1820@37
[    0.051261] KASLR disabled due to lack of seed
[    0.069905] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.069917] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.069922] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.069927] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.069932] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.069935] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.069939] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.069942] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.071865] ACPI: Interpreter disabled.
[    0.072572] iommu: Default domain type: Translated
[    0.072577] iommu: DMA domain TLB invalidation policy: strict mode
[    0.072845] SCSI subsystem initialized
[    0.073150] usbcore: registered new interface driver usbfs
[    0.073190] usbcore: registered new interface driver hub
[    0.073215] usbcore: registered new device driver usb
[    0.074554] mc: Linux media interface: v0.10
[    0.074588] videodev: Linux video capture interface: v2.00
[    0.074658] pps_core: LinuxPPS API ver. 1 registered
[    0.074662] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.074678] PTP clock support registered
[    0.074842] EDAC MC: Ver: 3.0.0
[    0.075961] FPGA manager framework
[    0.076034] Advanced Linux Sound Architecture Driver Initialized.
[    0.076577] Bluetooth: Core ver 2.22
[    0.076605] NET: Registered PF_BLUETOOTH protocol family
[    0.076609] Bluetooth: HCI device and connection manager initialized
[    0.076616] Bluetooth: HCI socket layer initialized
[    0.076622] Bluetooth: L2CAP socket layer initialized
[    0.076633] Bluetooth: SCO socket layer initialized
[    0.076989] vgaarb: loaded
[    0.077581] clocksource: Switched to clocksource arch_sys_counter
[    0.077775] VFS: Disk quotas dquot_6.6.0
[    0.077815] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.077983] pnp: PnP ACPI: disabled
[    0.084747] NET: Registered PF_INET protocol family
[    0.084884] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.085824] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.085845] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.085858] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.085917] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
[    0.086135] TCP: Hash tables configured (established 8192 bind 8192)
[    0.086214] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.086241] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.086354] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.086662] RPC: Registered named UNIX socket transport module.
[    0.086667] RPC: Registered udp transport module.
[    0.086670] RPC: Registered tcp transport module.
[    0.086673] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.087443] PCI: CLS 0 bytes, default 64
[    0.088286] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    0.089187] kvm [1]: IPA Size Limit: 40 bits
[    0.090742] kvm [1]: GICv3: no GICV resource entry
[    0.090748] kvm [1]: disabling GICv2 emulation
[    0.090760] kvm [1]: GIC system register CPU interface enabled
[    0.090844] kvm [1]: vgic interrupt IRQ9
[    0.090924] kvm [1]: Hyp mode initialized successfully
[    0.092080] Initialise system trusted keyrings
[    0.092260] workingset: timestamp_bits=42 max_order=18 bucket_order=0
[    0.098562] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.099153] NFS: Registering the id_resolver key type
[    0.099188] Key type id_resolver registered
[    0.099192] Key type id_legacy registered
[    0.099258] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.099263] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.099284] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.099604] 9p: Installing v9fs 9p2000 file system support
[    0.135225] Key type asymmetric registered
[    0.135230] Asymmetric key parser 'x509' registered
[    0.135277] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
[    0.135283] io scheduler mq-deadline registered
[    0.135287] io scheduler kyber registered
[    0.143058] EINJ: ACPI disabled.
[    0.154739] imx-sdma 30bd0000.dma-controller: firmware found.
[    0.154894] imx-sdma 30bd0000.dma-controller: loaded firmware 4.5
[    0.157036] mxs-dma 33000000.dma-apbh: initialized
[    0.158850] SoC: i.MX8MP revision 1.1
[    0.159886] Bus freq driver module loaded
[    0.166858] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.169376] 30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 17, base_baud = 5000000) is a IMX
[    0.169987] 30880000.serial: ttymxc2 at MMIO 0x30880000 (irq = 18, base_baud = 5000000) is a IMX
[    0.170453] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 19, base_baud = 1500000) is a IMX
[    1.272609] printk: console [ttymxc1] enabled
[    1.278827] imx-drm display-subsystem: no available port
[    1.296485] loop: module loaded
[    1.301030] of_reserved_mem_lookup() returned NULL
[    1.305993] megasas: 07.719.03.00-rc1
[    1.315071] spi-nor spi0.0: unrecognized JEDEC id bytes: 00 00 00 00 00 00
[    1.324869] tun: Universal TUN/TAP device driver, 1.6
[    1.330969] thunder_xcv, ver 1.0
[    1.334246] thunder_bgx, ver 1.0
[    1.337504] nicpf, ver 1.0
[    1.342529] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[    1.349772] hns3: Copyright (c) 2017 Huawei Corporation.
[    1.355140] hclge is initializing
[    1.358478] e1000: Intel(R) PRO/1000 Network Driver
[    1.363361] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    1.369158] e1000e: Intel(R) PRO/1000 Network Driver
[    1.374128] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.380089] igb: Intel(R) Gigabit Ethernet Network Driver
[    1.385533] igb: Copyright (c) 2007-2014 Intel Corporation.
[    1.391142] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    1.397415] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    1.403544] sky2: driver version 1.30
[    1.407866] usbcore: registered new interface driver r8152
[    1.413656] VFIO - User Level meta-driver version: 0.3
[    1.420146] imx8mp-dwc3 32f10100.usb: Base address for glue layer missing. Continuing without, some features are missing though.
[    1.433156] imx8mp-dwc3 32f10108.usb: Base address for glue layer missing. Continuing without, some features are missing though.
[    1.448884] usbcore: registered new interface driver uas
[    1.454288] usbcore: registered new interface driver usb-storage
[    1.460367] usbcore: registered new interface driver usbserial_generic
[    1.466921] usbserial: USB Serial support registered for generic
[    1.472956] usbcore: registered new interface driver ftdi_sio
[    1.478723] usbserial: USB Serial support registered for FTDI USB Serial Device
[    1.486083] usbcore: registered new interface driver usb_serial_simple
[    1.492633] usbserial: USB Serial support registered for carelink
[    1.498746] usbserial: USB Serial support registered for zio
[    1.504427] usbserial: USB Serial support registered for funsoft
[    1.510457] usbserial: USB Serial support registered for flashloader
[    1.516836] usbserial: USB Serial support registered for google
[    1.522776] usbserial: USB Serial support registered for libtransistor
[    1.529322] usbserial: USB Serial support registered for vivopay
[    1.535351] usbserial: USB Serial support registered for moto_modem
[    1.541640] usbserial: USB Serial support registered for motorola_tetra
[    1.548274] usbserial: USB Serial support registered for nokia
[    1.554138] usbserial: USB Serial support registered for novatel_gps
[    1.560516] usbserial: USB Serial support registered for hp4x
[    1.566283] usbserial: USB Serial support registered for suunto
[    1.572224] usbserial: USB Serial support registered for siemens_mpi
[    1.578613] usbcore: registered new interface driver usb_ehset_test
[    1.588032] input: 30370000.snvs:snvs-powerkey as /devices/platform/soc@0/30000000.bus/30370000.snvs/30370000.snvs:snvs-powerkey/input/input0
[    1.602775] snvs_rtc 30370000.snvs:snvs-rtc-lp: registered as rtc0
[    1.608995] snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:00 UTC (0)
[    1.618188] i2c_dev: i2c /dev entries driver
[    1.627730] Bluetooth: HCI UART driver ver 2.3
[    1.632206] Bluetooth: HCI UART protocol H4 registered
[    1.637352] Bluetooth: HCI UART protocol BCSP registered
[    1.642690] Bluetooth: HCI UART protocol LL registered
[    1.647837] Bluetooth: HCI UART protocol ATH3K registered
[    1.653258] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    1.659625] Bluetooth: HCI UART protocol Broadcom registered
[    1.665316] Bluetooth: HCI UART protocol QCA registered
[    1.672138] sdhci: Secure Digital Host Controller Interface driver
[    1.678357] sdhci: Copyright(c) Pierre Ossman
[    1.683521] Synopsys Designware Multimedia Card Interface Driver
[    1.690273] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.698790] ledtrig-cpu: registered to indicate activity on CPUs
[    1.706024] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    1.712989] usbcore: registered new interface driver usbhid
[    1.718573] usbhid: USB HID core driver
[    1.727666]  cs_system_cfg: CoreSight Configuration manager initialised
[    1.730527] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA
[    1.736000] optee: probing for conduit method.
[    1.745910] optee: revision 3.13 (2c1092df)
[    1.746917] optee: dynamic shared memory is enabled
[    1.756359] optee: initialized driver
[    1.763148] Galcore version 6.4.11.p2.684571
[    1.793367] [drm] Initialized vivante 1.0.0 20170808 for 40000000.mix_gpu_ml on minor 0
[    1.803314] hantrodec 0 : module inserted. Major = 510
[    1.808995] hantrodec 1 : module inserted. Major = 510
[    1.815741] hantroenc: HW at base <0000000038320000> with ID <0x80006200>
[    1.822700] hx280enc: module inserted. Major <509>
[    1.830567] NET: Registered PF_LLC protocol family
[    1.836705] NET: Registered PF_INET6 protocol family
[    1.843700] Segment Routing with IPv6
[    1.847434] In-situ OAM (IOAM) with IPv6
[    1.851427] NET: Registered PF_PACKET protocol family
[    1.851984] mmc2: new HS400 Enhanced strobe MMC card at address 0001
[    1.856522] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.864010] mmcblk2: mmc2:0001 8GTF4R 7.28 GiB
[    1.876805] Bluetooth: RFCOMM TTY layer initialized
[    1.885263] Bluetooth: RFCOMM socket layer initialized
[    1.885524]  mmcblk2: p1 p2 p3 p4 p5 p6
[    1.890431] Bluetooth: RFCOMM ver 1.11
[    1.898024] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    1.898987] mmcblk2boot0: mmc2:0001 8GTF4R 4.00 MiB
[    1.903345] Bluetooth: BNEP filters: protocol multicast
[    1.903357] Bluetooth: BNEP socket layer initialized
[    1.903362] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    1.909611] mmcblk2boot1: mmc2:0001 8GTF4R 4.00 MiB
[    1.913567] Bluetooth: HIDP socket layer initialized
[    1.919650] mmcblk2rpmb: mmc2:0001 8GTF4R 512 KiB, chardev (234:0)
[    1.925485] 8021q: 802.1Q VLAN Support v1.8
[    1.944813] lib80211: common routines for IEEE802.11 drivers
[    1.950626] 9pnet: Installing 9P2000 support
[    1.955054] Key type dns_resolver registered
[    1.960388] registered taskstats version 1
[    1.964517] Loading compiled-in X.509 certificates
[    2.059744] nxp-pca9450 0-0025: pca9450bc probed.
[    2.064583] i2c i2c-0: IMX I2C adapter registered
[    2.071208] i2c i2c-2: IMX I2C adapter registered
[    2.076671] imx8mq-usb-phy 381f0040.usb-phy: supply vbus not found, using dummy regulator
[    2.085308] imx8mq-usb-phy 382f0040.usb-phy: supply vbus not found, using dummy regulator
[    2.093806] imx8-pcie-phy 32f00000.pcie-phy: failed to get imx pcie phy clock
[    2.100989] imx8-pcie-phy: probe of 32f00000.pcie-phy failed with error -2

No further output after several minutes.

Regards
Bernd

0 Kudos

1,305 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @heinzhjb,

I hope you are doing well.

Please refer to this link for the same.
https://community.nxp.com/t5/i-MX-Solutions/How-to-integrate-hciconfig-bluez-for-Bluetooth-Intel-Wi-...

I hope this will help!

Thanks & Regards,
Sanket Parekh

0 Kudos

1,286 Views
heinzhjb
Contributor V

Hi Sanket Parekh,

the link you mentioned is only related to bringing up Bluetooth and doesn't mention pcie and wlan.
But I would also need the bringup for pcie and wlan.

Currently, I tried to look for pcie options in different device-tree files for i.MX8mp EVK board to bring up M.2 interface.

Current result is:

[ 1.971435] imx6q-pcie 33800000.pcie: error -ENOENT: pcie_phy clock source missing or invalid
[ 1.980286] imx6q-pcie: probe of 33800000.pcie failed with error -2

Thanks

Bernd

0 Kudos

1,279 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @heinzhjb,

I hope you are doing well.

Thanks for providing logs, I checked them.

From this, It appears that "error -ENOENT: pcie_phy clock source missing or invalid" is the root cause.
Please refer to the below file as a reference.
imx8mp-evk.dts -> https://github.com/brgl/linux/blob/master/arch/arm64/boot/dts/freescale/imx8mp-evk.dts

It has the pcie_phy source clock value given, Please use that and check.

I hope this helps!

Thanks & Regards,
Sanket parekh

0 Kudos

1,269 Views
heinzhjb
Contributor V

Hi Sanket Parekh,

there was no pcie in your link. But I found the files in my local kernel source and modified my devicetree accordingly.

This seemed to work for the first boot. wlan0 was available at first boot and I came quite a way along.
But now, I get the following after kernel has started:

NXP i.MX Release Distro 5.10-hardknott imx8mpevk ttymxc1

imx8mpevk login: [ 13.200486] usb 1-1: new full-speed USB device number 8 using xhci-hcd
[ 13.366390] Bluetooth: hci0: Reading Intel version information failed (-22)
[ 13.373415] Bluetooth: hci0: Intel Read version failed (-22)
[ 13.379857] Bluetooth: hci0: Intel reset sent to retry FW download
[ 13.391078] usb 1-1: USB disconnect, device number 8
[ 13.828474] usb 1-1: new full-speed USB device number 9 using xhci-hcd
[ 13.994113] Bluetooth: hci0: Reading Intel version information failed (-22)
[ 14.001159] Bluetooth: hci0: Intel Read version failed (-22)
[ 14.006968] Bluetooth: hci0: Intel reset sent to retry FW download

This is repeating on and on.

 


For the Intel firmware, I copied iwlwifi-ty-a0-gf-a0-59.ucode from the Intel website to /lib/firmware folder of my target system.

 

These are the pcie related parts of kernel boot:

Starting kernel ...

[ 0.148768] imx8-pcie-phy 32f00000.pcie-phy: failed to get imx pcie phy clock

[ 1.967872] imx6q-pcie 33800000.pcie: supply epdev_on not found, using dummy regulator
[ 1.976140] imx6q-pcie 33800000.pcie: PLL REF_CLK is used!.
[ 1.985411] imx6q-pcie 33800000.pcie: PCIe PHY PLL clock is locked.
[ 1.997812] SoC: i.MX8MP revision 1.1
[ 2.001744] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 7 mkt segment 2 supported-hw 0x80 0x4
[ 2.014422] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 2.016578] imx6q-pcie 33800000.pcie: PCIe PLL locked after 0 us.
[ 2.019955] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[ 2.026067] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[ 2.034036] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220fe6c hci version 0x110 quirks 0x0000002001810010
[ 2.040909] imx6q-pcie 33800000.pcie: No bus range found for /soc@0/pcie@33800000, using [bus 00-ff]
[ 2.050340] xhci-hcd xhci-hcd.1.auto: irq 77, io mem 0x38200000
[ 2.059627] imx6q-pcie 33800000.pcie: IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[ 2.065930] imx-sdma 30e10000.dma-controller: firmware found.
[ 2.073714] imx6q-pcie 33800000.pcie: MEM 0x0018000000..0x001fefffff -> 0x0018000000
[ 2.073809] imx6q-pcie 33800000.pcie: invalid resource

[ 2.187993] imx6q-pcie 33800000.pcie: Link up

[ 2.293689] imx6q-pcie 33800000.pcie: Link up
[ 2.298060] imx6q-pcie 33800000.pcie: Link up, Gen2
[ 2.303062] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00
[ 2.309430] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 2.314932] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 2.321116] pci_bus 0000:00: root bus resource [mem 0x18000000-0x1fefffff]
[ 2.328027] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
[ 2.334045] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[ 2.340329] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[ 2.347074] pci 0000:00:00.0: supports D1
[ 2.351097] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
[ 2.359778] pci 0000:01:00.0: [8086:2725] type 00 class 0x028000
[ 2.365870] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[ 2.372964] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[ 2.391349] pci 0000:00:00.0: BAR 0: assigned [mem 0x18000000-0x180fffff]
[ 2.398158] pci 0000:00:00.0: BAR 14: assigned [mem 0x18100000-0x181fffff]
[ 2.405080] pci 0000:00:00.0: BAR 6: assigned [mem 0x18200000-0x1820ffff pref]
[ 2.412333] pci 0000:01:00.0: BAR 0: assigned [mem 0x18100000-0x18103fff 64bit]
[ 2.419689] pci 0000:00:00.0: PCI bridge to [bus 01-ff]

[ 2.424935] pci 0000:00:00.0: bridge window [mem 0x18100000-0x181fffff]
[ 2.432152] pcieport 0000:00:00.0: PME: Signaling with IRQ 239

 

Regards
Bernd

0 Kudos

1,256 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @heinzhjb,

I hope you are doing well.


I'm glad that it worked for you, regarding the other queries,
Please check the below command execution and share the observation.

hciconfig
hciconfig hci0 up

Thanks & Regards,
Sanket Parekh

0 Kudos

1,254 Views
heinzhjb
Contributor V

Hi Sanket Parekh,

root@imx8mpevk:~# hciconfig
root@imx8mpevk:~# hciconfig hci0 up
Can't get device info: No such device

und still on and on this output:

[ 132.727190] Bluetooth: hci0: Intel Read version failed (-22)
[ 132.732992] Bluetooth: hci0: Intel reset sent to retry FW download
[ 132.733445] usb 1-1: USB disconnect, device number 70
[ 133.182058] usb 1-1: new full-speed USB device number 71 using xhci-hcd
[ 133.344643] Bluetooth: hci0: Reading Intel version information failed (-22)
[ 133.351652] Bluetooth: hci0: Intel Read version failed (-22)
[ 133.357601] Bluetooth: hci0: Intel reset sent to retry FW download
[ 133.364111] usb 1-1: USB disconnect, device number 71
[ 133.806079] usb 1-1: new full-speed USB device number 72 using xhci-hcd
[ 133.967230] Bluetooth: hci0: Reading Intel version information failed (-22)
[ 133.974249] Bluetooth: hci0: Intel Read version failed (-22)
[ 133.980752] Bluetooth: hci0: Intel reset sent to retry FW download
[ 133.980940] usb 1-1: USB disconnect, device number 72
[ 134.176545] iwlwifi 0000:01:00.0: base HW address: 70:1a:b8:ab:2b:c4
[ 134.197321] thermal thermal_zone2: failed to read out thermal zone (-61)
[ 134.430100] usb 1-1: new full-speed USB device number 73 using xhci-hcd
[ 134.590679] Bluetooth: hci0: Reading Intel version information failed (-22)
[ 134.597705] Bluetooth: hci0: Intel Read version failed (-22)
[ 134.604153] Bluetooth: hci0: Intel reset sent to retry FW download
[ 134.614160] usb 1-1: USB disconnect, device number 73
[ 135.054120] usb 1-1: new full-speed USB device number 74 using xhci-hcd
[ 135.215134] Bluetooth: hci0: Reading Intel version information failed (-22)
[ 135.222135] Bluetooth: hci0: Intel Read version failed (-22)
......

Regards

Bernd

0 Kudos

1,244 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @heinzhjb,

I hope you are doing well.

I have a few queries to ask, Please find them below.

What are the steps you run for firmware loading?
Please also check the firmware version and if it is not corrupted or not.

Thanks & Regards,
Sanket Parekh

0 Kudos

1,236 Views
heinzhjb
Contributor V

Hi Sanket Parekh,

What are the steps you run for firmware loading: I simply copied the firmware from Intel website to /lib/firmware/iwlwifi-ty-a0-gf-a0-59.ucode
This is a quite old firmware. But it is the max software the iwlwifi kernel driver in 5.10.35 supports:
22000.c:
/* Highest firmware API version supported */
#define IWL_22000_UCODE_API_MAX 59
from log:
Nov 08 10:37:42 imx8mpevk kernel[536]: [ 9.741319] iwlwifi 0000:01:00.0: loaded firmware version 59.601f3a66.0 ty-a0-gf-a0-59.ucode op_mode iwlmvm

 

Please also check the firmware version and if it is not corrupted or not.
I've found two versions of this firmware in Internet which are slightly binary different. I've tried both. But there was no difference in behaviour. But I wasn't able to check the integrity of the softwares because I don't have a hash for both firmwares.
Intel website: https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html
ls -l iwlwifi-ty-59.601f3a66.0/iwlwifi-ty-a0-gf-a0-59.ucode
-rwxrwxrwx 1 bheinz bheinz 1413868 Okt 10 2020 iwlwifi-ty-59.601f3a66.0/iwlwifi-ty-a0-gf-a0-59.ucode
heinzhjb@bernd-linux:~/mnt/c/xfer/wifi$ md5sum iwlwifi-ty-59.601f3a66.0/iwlwifi-ty-a0-gf-a0-59.ucode
d78be163ec3864dd34cc6e4abcd70a20 iwlwifi-ty-59.601f3a66.0/iwlwifi-ty-a0-gf-a0-59.ucode

kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.
ls -l iwlwifi-ty-a0-gf-a0-59.ucode
-rwxrwxrwx 1 bheinz bheinz 1413868 Nov 8 14:12 iwlwifi-ty-a0-gf-a0-59.ucode
heinzhjb@bernd-linux:~/mnt/c/xfer/wifi$ md5sum iwlwifi-ty-a0-gf-a0-59.ucode
61d01edc2709f52b58899d748c8c754b iwlwifi-ty-a0-gf-a0-59.ucode

just a few observations from my side: it seems the Bluetooth functionality is registered with correct vid and pid via USB between resets:
root@imx8mpevk:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 043: ID 8087:0032 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@imx8mpevk:~# lsusb -d 1d6b:0003 -v

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 3
bMaxPacketSize0 9
idVendor 0x1d6b Linux Foundation
idProduct 0x0003 3.0 root hub
bcdDevice 5.10
iManufacturer 3 Linux 5.10.35-dirty xhci-hcd
iProduct 2 xHCI Host Controller
iSerial 1 xhci-hcd.1.auto
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x001f
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
bMaxBurst 0
Hub Descriptor:
bLength 12
bDescriptorType 42
nNbrPorts 1
wHubCharacteristic 0x0009
Per-port power switching
Per-port overcurrent protection
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
bHubDecLat 0.0 micro seconds
wHubDelay 0 nano seconds
DeviceRemovable 0x00
Hub Port Status:
Port 1: 0030.02a0 C_BH_RESET C_RESET 5Gbps power Rx.Detect
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x000f
bNumDeviceCaps 1
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x02
Latency Tolerance Messages (LTM) Supported
wSpeedsSupported 0x0008
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 3
Lowest fully-functional device speed is SuperSpeed (5Gbps)
bU1DevExitLat 0 micro seconds
bU2DevExitLat 0 micro seconds
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered

 

So, this part seems to work. But then the btusb driver tries to read the version of the bluetooth firmware by "__hci_cmd_sync(hdev, 0xfc05, 0, NULL, HCI_CMD_TIMEOUT)". This fails. Then the driver attempts to switch the bluetooth module into bootmode. This causes a reset and the USB devices vanishes and reappears shortly after.
Then the cycle starts anew.
I don't think the Bluetooth part of the AX210 needs a separate SW. But it seems the call to the version call isn't implemented/accessible in the firmware.

Another observation: WiFi works, but it is available very late after booting (around 140 seconds)

Regards
Bernd

 

Kind regards
Bernd

0 Kudos

1,141 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @heinzhjb,

I hope you are doing well.
Please accept my apology for the delayed response.

Please edit wifi_mod_para.conf configuration file to add fw_name parameter-value pairs

fw_name=nxp/<firmware_name>

Now Please try to load the modules in the kernel:
modprobe moal mod_para=nxp/wifi_mod_para.conf

Thanks & Regards,
Sanket Parekh

0 Kudos

1,117 Views
heinzhjb
Contributor V

Hi Sanket Parekh,

I have no clue what key/value pairs to add for ax210ngw. But I think this won't be necessary.
Furthermore there is no module "moal.ko" built for my actual kernel. So, it's not possible to modprobe it.

But I've tried differently:

I've found a forum entry with similiar problem than me:
https://community.intel.com/t5/Wireless/AX210-bluetooth-not-working-on-jetson-xavier-nx-on-linux-ker...

The user managed to create kernel patches. I simply merged the btintel folder into my 5.10.35 kernel and added an Intel firmware folder to my system. It seems there's another software that is loaded by the btintel driver: /lib/firmware/intel/ibt-0041-0041.sfi.
With this patches in place I am currently able to enable bluetooth and do at least a scan for visible bt devices.

The problem currently persisting is the very long time between load of the intel driver and device ready to work.

Nov 21 14:11:09 imx8mpevk kernel[573]: [ 4.880958] iwlwifi 0000:01:00.0: loaded firmware version 59.601f3a66.0 ty-a0-gf-a0-59.ucode op_mode iwlmvm

Nov 21 14:13:11 dwa90f42150002a kernel: iwlwifi 0000:01:00.0: Detected Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x4207

Nov 21 14:14:13 dwa90f42150002a kernel[573]: [ 128.033653] iwlwifi 0000:01:00.0: base HW address: 70:1a:b8:ab:2b:c4

As you can see from the above log excerpts, the time from loading the firmware into the device until the driver detects the device is 2 minutes and then there's an additional minute till WLAN's MAC address is recognized and the device can be used. So it takes 3 minutes to put the device up.

Kind regards
Bernd

0 Kudos

1,033 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @heinzhjb,

I hope you are doing well.

Thanks for sharing the observation.

->Please check if there are any firmware updates available for your Intel AX210 device. Sometimes, newer firmware versions can improve performance and reduce initialization times.
->Please ensure that the firmware files are in the correct location and are the appropriate versions. The firmware files are often located in /lib/firmware.
->Please confirm that the iwlwifi module is loaded at the appropriate time and with the correct parameters. You can check this using the lsmod command.
-> Please check if there are specific delays related to Bluetooth initialization. Look for Bluetooth-related logs or messages during the initialization process. This might give you insights into the cause of the delay.

I hope this helps!

Thanks & Regards,
Sanket Parekh

0 Kudos

1,099 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @heinzhjb,

I hope you are doing well.

I suggest using the latest Linux BSP 6.1 series, As it will provide the upgraded firmware as well as drivers.
It will be helpful.

Please share the observation.

Thanks & Regards,
Sanket Parekh

0 Kudos

1,091 Views
heinzhjb
Contributor V

Hi Sanket Parekh,

ok, thanks. Do You suggest to just change the kernel or should I completely change to new Yocto system?

Up to now I was a bit scared to change to a new system because it means many modifications/patches to migrate to the new system for me. I've already checked out kernel lf-6.1y from your repoository. This resulted in a kernel 5.17? which didn't find correct firmware images. So I guess I would need to change the complete Yocto branch...

Do you have a link for SW and documentations how to build for i.MX8mp?

Regards
Bernd

 

0 Kudos