M.2 WiFi Device not starting

I’m trying to start a 802.11ah device I installed in the M.2e slot. I compiled drivers from Quectel / Morse Micro and created new modules and kernel. Had to use CONFIG_MODVERSION=n but I digress. ifconfig -a does not show a wlan0 after modprobe. I also do not see anything resembling what I need in lspci or lsusb. I’m not familiar with the L4T bootloader and DTB not sure if I installed the new kernel incorrectly by not flashing from a remote host or have a broken device. Ideas? Suggestions?

artvandelay@Jetson:/var/log$ lsusb
Bus 002 Device 002: ID 0bda:0489 Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 003: ID 0c45:7605 Microdia
Bus 001 Device 002: ID 0bda:5489 Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

artvandelay@Jetson:/var/log$ lspci
0008:00:00.0 PCI bridge: NVIDIA Corporation Device 229c (rev a1)
0008:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)

[ 233.292024] Morse Micro Dot11ah driver registration. Version 0-rel_1_7_2_2023_Mar_15
[ 233.721302] morse micro driver registration. Version 0-rel_1_7_2_2023_Mar_15

modinfo morse:
filename: /lib/modules/5.10.120-tegra/kernel/drivers/net/wireless/fgh100m/morse.ko
version: 0-rel_1_7_2_2023_Mar_15
license: Dual BSD/GPL
description: Driver support for Morse Micro SDIO/SPI devices
author: Morse Micro, Inc.
firmware: morse/mm6108.bin
srcversion: 4E49A840163F3E0568F6D8A
alias: sdio:cv325Bd0306
alias: sdio:cv325Bd0206
depends: mac80211,dot11ah,cfg80211,crc7
intree: Y
name: morse
vermagic: 5.10.120-tegra SMP preempt mod_unload aarch64
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 78:F5:C4:A9:4A:4E:AE:B3:B3:17:24:7E:9C:74:D8:65:20:E1:0A:07
sig_hashalgo: sha512
signature: B1:5B:70:18:46:46:EE:3C:2E:EE:5C:84:13:7C:B0:6E:B9:01:65:29:

/proc/kallsyms shows the morse module symbols are loaded…
|0000000000000000 T morse_dot11ah_ies_mask_clear|[dot11ah]|
|0000000000000000 T morse_dot11ah_s1g_chan_to_s1g_freq|[dot11ah]|
|0000000000000000 T morse_dot11ah_clear_list|[dot11ah]|
|0000000000000000 T morse_dot11ah_s1g_op_chan_pri_chan_to_5g|[dot11ah]|
|0000000000000000 T morse_mac_find_channel_info_for_bssid|[dot11ah]|
|0000000000000000 T morse_dot11ah_channel_chandef_to_s1g|[dot11ah]|
|0000000000000000 t morse_dot11_s1g_to_tim|[dot11ah]|
|0000000000000000 T morse_dot11ah_calculate_primary_s1g_channel_loc|[dot11ah]|

Firmware is copied into /lib/firmware/morse
artvandelay@Jetson:/var/log$ ls -l /lib/firmware/morse/
total 716
-rw-r–r-- 1 root root 3454 Sep 24 18:27 bcf_default.bin
-rw-r–r-- 1 root root 3454 Sep 24 18:27 bcf_mf03120.bin
-rw-r–r-- 1 root root 3390 Sep 24 18:27 bcf_mf04151.bin
-rw-r–r-- 1 root root 3438 Sep 24 18:27 bcf_mf07051.bin
-rw-r–r-- 1 root root 3454 Sep 24 18:27 bcf_mf08251.bin
-rw-r–r-- 1 root root 3438 Sep 24 18:27 bcf_mf10220.bin
-rw-r–r-- 1 root root 349992 Sep 24 18:27 mm6108.bin
-rw-r–r-- 1 root root 353036 Sep 24 18:27 mm6108_dvt.bin

I found out why I’m not seeing the device with lspci. I swapped the 802.11ah module with a known working 802.11ax and found bus 0001:00 was where I should be seeing it. When swapping back to the 802.11ah module again in dmesg I see the address is released and the phy link never came up. Is there a setting or udev rule to fix this?

dmesg.txt (64.7 KB)

[ 8.365804] tegra194-pcie 14100000.pcie: PCI host bridge to bus 0001:00
[ 8.372619] pci_bus 0001:00: root bus resource [bus 00-ff]
[ 8.378254] pci_bus 0001:00: root bus resource [io 0x0000-0xfffff] (bus address [0x30100000-0x301fffff])
[ 8.388080] pci_bus 0001:00: root bus resource [mem 0x20a8000000-0x20afffffff] (bus address [0x40000000-0x47ffffff])
[ 8.398905] pci_bus 0001:00: root bus resource [mem 0x2080000000-0x20a7ffffff pref]
[ 8.406841] pci 0001:00:00.0: [10de:229e] type 01 class 0x060400
[ 8.413191] pci 0001:00:00.0: PME# supported from D0 D3hot
[ 8.429338] pci 0001:00:00.0: PCI bridge to [bus 01-ff]
[ 8.434736] pci 0001:00:00.0: Max Payload Size set to 256/ 256 (was 256), Max Read Rq 512
[ 8.443831] pcieport 0001:00:00.0: Adding to iommu group 8
[ 8.449778] pcieport 0001:00:00.0: PME: Signaling with IRQ 55
[ 8.456270] pcieport 0001:00:00.0: AER: enabled with IRQ 55
[ 8.462284] pci_bus 0001:01: busn_res: [bus 01-ff] is released
[ 8.468398] pci 0001:00:00.0: Removing from iommu group 8
[ 8.473958] pci_bus 0001:00: busn_res: [bus 00-ff] is released
[ 8.482229] tegra194-pcie 14160000.pcie: Using GICv2m MSI allocator
[ 8.489904] tegra194-pcie 14160000.pcie: host bridge /pcie@14160000 ranges:
[ 8.497085] tegra194-pcie 14160000.pcie: IO 0x0036100000…0x00361fffff → 0x0036100000
[ 8.505775] tegra194-pcie 14160000.pcie: MEM 0x2428000000…0x242fffffff → 0x0040000000
[ 8.514454] tegra194-pcie 14160000.pcie: MEM 0x2140000000…0x2427ffffff → 0x2140000000
[ 9.615816] tegra194-pcie 14160000.pcie: Phy link never came up

For a pcie device that didn’t come up, you could refer to the step here.


Also, it could be that this kind of wifi card requires to enable specific GPIO so that the card could be detected. This needs to check with card vendor.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.