Hello!
We are currently integrating WiFi HaLow to our IOT gateway. The module is mm8108-mf15457
We do not have SPI or SDIO on the PCIe slot, so we have designed our own PCIe board with USB as a host interface.
OS:
$ cat /etc/os-release
NAME=“OpenWrt”
VERSION=“24.10.5”
ID=“openwrt”
ID_LIKE=“lede openwrt”
PRETTY_NAME=“OpenWrt 24.10.5”
VERSION_ID=“24.10.5”
HOME_URL=“https://openwrt.org/”
BUG_URL=“https://bugs.openwrt.org/”
SUPPORT_URL=“https://forum.openwrt.org/”
BUILD_ID=“r29087-d9c5716d1d”
OPENWRT_BOARD=“mediatek/mt7622”
OPENWRT_ARCH=“aarch64_cortex-a53”
OPENWRT_TAINTS=“no-all”
OPENWRT_DEVICE_MANUFACTURER=“OpenWrt”
OPENWRT_DEVICE_MANUFACTURER_URL=“https://openwrt.org/”
OPENWRT_DEVICE_PRODUCT=“Generic”
OPENWRT_DEVICE_REVISION=“v0”
OPENWRT_RELEASE=“OpenWrt 24.10.5 r29087-d9c5716d1d”
OPENWRT_BUILD_DATE=“1766005702”
It is a stock OpenWRT 24.10.5 patched from the Morse Micro OpenWRT fork on the top of the same branch
The system is built with the following additional configuration options:
CONFIG_DRIVER_11AH_SUPPORT=y
CONFIG_PACKAGE_netifd-morse=y
CONFIG_PACKAGE_hostapd_s1g=y
CONFIG_PACKAGE_morsecli=y
CONFIG_PACKAGE_morse-regdb=y
CONFIG_MORSE_REGDB_COUNTRY_CODE_FILTER=“SG”
CONFIG_PACKAGE_kmod-mm81x=y
CONFIG_PACKAGE_mm81x-firmware=y
The device enumerates successfully:
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 325b:8100 Morse Micro MM81xx Wi-Fi HaLow 802.11ah Transceiver
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
However, during the startup I have the following issue:
[ 31.128154] Morse Micro mm81x driver registration. Version MM81X_VERSION
[ 31.183371] mm81x_usb 1-1:1.0: Loaded firmware from morsemicro/mm8108b2-rl.bin, size 456924, crc32 0xe4799c8d
[ 31.202184] mm81x_usb 1-1:1.0: Loaded BCF from morsemicro/bcf_boardtype_0807.bin, size 2081, crc32 0xa80ae47b
[ 32.534568] mm81x_usb 1-1:1.0: failed to flash firmware: -22
[ 32.540435] mm81x_usb 1-1:1.0: failed to init firmware: -22
[ 32.546070] mm81x_usb 1-1:1.0: Failed to init firmware: -22
[ 32.551663] mm81x_usb 1-1:1.0: Failed to restart chip: -22
[ 32.569623] Call trace:
[ 32.572062] dump_backtrace+0x9c/0xd8
[ 32.575727] show_stack+0x14/0x1c
[ 32.579036] dump_stack_lvl+0x44/0x58
[ 32.582694] dump_stack+0x14/0x1c
[ 32.586003] mm81x_core_destroy+0x2528/0x252c [mm81x]
[ 32.591064] wiphy_apply_custom_regulatory+0x3a4/0x1360 [cfg80211]
[ 32.597264] wiphy_regulatory_register+0x74/0x8c [cfg80211]
[ 32.602843] wiphy_register+0x54c/0x6f4 [cfg80211]
[ 32.607642] ieee80211_register_hw+0x858/0xb38 [mac80211]
[ 32.613070] mm81x_mac_register+0x1f4/0x29c [mm81x]
[ 32.617952] mmrc_set_fixed_rate+0x10d0/0x140c [mm81x]
[ 32.623092] usb_match_id+0x258/0x3fc [usbcore]
[ 32.627740] really_probe+0x140/0x2a8
[ 32.631398] __driver_probe_device+0x74/0x120
[ 32.635747] driver_probe_device+0x3c/0xd4
[ 32.639836] __driver_attach+0x88/0x150
[ 32.643665] bus_for_each_dev+0x60/0xa0
[ 32.647494] driver_attach+0x20/0x28
[ 32.651063] bus_add_driver+0xdc/0x1fc
[ 32.654804] driver_register+0x58/0x114
[ 32.658634] usb_register_driver+0x78/0x160 [usbcore]
[ 32.663724] mm81x_usb_init+0x28/0xfa0 [mm81x]
[ 32.668171] init_module+0x28/0x60 [mm81x]
[ 32.672269] do_one_initcall+0x68/0x1e8
[ 32.676099] do_init_module+0x54/0x1d0
[ 32.679842] load_module+0x18d8/0x196c
[ 32.683584] __do_sys_init_module+0x210/0x258
[ 32.687933] __arm64_sys_init_module+0x18/0x20
[ 32.692369] invoke_syscall.constprop.0+0x4c/0xe0
[ 32.697067] do_el0_svc+0x3c/0xbc
[ 32.700375] el0_svc+0x18/0x4c
[ 32.703424] el0t_64_sync_handler+0x118/0x124
[ 32.707774] el0t_64_sync+0x150/0x154
[ 32.711766] usbcore: registered new interface driver mm81x_usb
Is there anything that could cause this issue?
Will appreciate any help.