# MM8108 - Driver V1.17.8 - AP CRASH

**URL:** <https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745>\
**Category:** Embedded\
**Created:** [June 15, 2026, 5:56am UTC](https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745 "2026-06-15T05:56:25Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![sankarganesh](https://avatars.discourse-cdn.com/v4/letter/s/9d8465/32.png) [@sankarganesh](https://community.morsemicro.com/u/sankarganesh)\
**Post date:** [June 15, 2026, 5:56am UTC](https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745/1 "2026-06-15T05:56:25Z")

</div>

Hi Team,

We are integrating mm8108 in our OpenWRT-based router. We are facing a crash issue when we configure the AP in the HaLow radio.

The details are below

SoC: MT7981  
HaLow: MM8108  
Software: Openwrt-23.05.4  
Kernel Version: 5.15.162

**DTS:**

```auto

        gpio-export {
                compatible = "gpio-export";
                #size-cells = <0>;

                halowrst {
                        gpio-export,name = "MM_RESET";
                        gpio-export,output = <1>;
                        gpios = <&pio 8 GPIO_ACTIVE_HIGH>;
                };

&spi2 {
        pinctrl-names = "default";
        pinctrl-0 = <&spi2_flash_pins>;
        status = "okay";
        mm8108: mm8108@0 {
                compatible = "morse,mm810x-spi";
                reg = <0>; /* CE0 */
                spi-max-frequency = <50000000>;
                spi-irq-gpios = <&pio 30 0>;
                reset-gpios = <&pio 8 0>;
                power-gpios = <&pio 31 0>,<&pio 6 0>; /*wake,busy*/
        };
};

```

**Wireless Configuration:**

```auto
config wifi-device 'radio3'
        option type 'morse'
        option path 'platform/11009000.spi/spi_master/spi1/spi1.0'
        option band 's1g'
        option hwmode '11ah'
        option reconf '0'
        option channel '12'
        option country 'US'
        option bcf 'bcf_mf15457.bin'

config wifi-iface 'AP3'
        option device 'radio3'
        option ifname 'wlan2'
        option wds '1'
        option mode 'ap'
        option ssid 'Wireless1'
        option encryption 'sae'
        option key '12345678'
        option network 'VLAN1'

```

**Morse Driver Information**

The sources are from [GitHub - MorseMicro/morse-feed at 2.11-dev · GitHub](https://github.com/MorseMicro/morse-feed/tree/2.11-dev)  
We are using only essentials

morse\_1.17.8/  
├── hostapd\_s1g  
├── mm-board-config  
├── morse-fw  
├── morse-regdb  
├── morse\_driver  
├── morsecli  
└── netifd-morse

```auto
[102.404827] Morse Micro Dot11ah driver registration. Version 0-rel_1_17_8_2026_Mar_24
[102.412715] channelization_scheme = 3 (IEEE802.11-REVmf)
[102.419108] kmodloader: done loading kernel modules from /etc/modules.d/dot11ah*
[102.440572] kmodloader: loading kernel modules from /etc/modules.d/morse*
[102.454210] morse micro driver registration. Version 0-rel_1_17_8_2026_Mar_24
[102.462166] morse_spi spi1.0: morse_of_probe: Reading gpio pins configuration from device tree
[102.470866] uaccess char driver major number is 249
[102.475884] morse_io: Device node '/dev/morse_io' created successfully
[102.486622] morse_spi spi1.0: Loaded firmware from morse/mm8108b2-rl.bin, size 479624, crc32 0x1ae9ad6d
[102.516705] morse_spi spi1.0: Loaded BCF from morse/bcf_mf15457.bin, size 2124, crc32 0x80459e55
[103.758734] morse_spi spi1.0: Driver loaded with kernel module parameters
[103.765524] morse_spi spi1.0: enable_pre_assoc_ps : N
[103.772682] morse_spi spi1.0: slow_clock_mode : 0

```

**Steps to reproduce the issue:**

1. Configure the AP in wireless config .(attached config in the above).
2. WiFi restart

Expected Behaviour: AP mode needs to work  
Observed Behaviour: AP SSID broadcast for a few seconds and crash logs flooding, then the AP went down.

**Crash Logs:**

```auto
[326.778012] morse_spi_cmd53_write failed
[326.781942] morse_spi spi1.0: spi: cmd53_write fn=2 0x00000000:68 r=0x00000002 b=0x00170002 (ret:-71)
[326.791171] morse_spi spi1.0: morse_spi_dm_write failed -71
[326.796868] morse_spi_cmd53_read failed
[326.800724] morse_spi spi1.0: spi: cmd53_read fn=1 0x00003c50:4 r=0x00000002 b=0x00170002 (ret:-71)
[326.809772] morse_spi spi1.0: morse_spi_reg32_read failed (errno=-71)
[326.816306] morse_spi_cmd53_write failed
[326.820234] morse_spi spi1.0: spi: cmd53_write fn=1 0x00003c58:4 r=0x00000002 b=0x00170002 (ret:-71)
[326.829372] morse_spi spi1.0: morse_spi_reg32_write failed (errno=-71)
[326.836018] morse_spi_cmd53_read failed
[326.839866] morse_spi spi1.0: spi: cmd53_read fn=1 0x00003c50:4 r=0x00000002 b=0x00170002 (ret:-71)
[326.848917] morse_spi spi1.0: morse_spi_reg32_read failed (errno=-71)
[326.855460] morse_spi_cmd53_write failed

```

Please help us to resolve this issue as quickly as possible.

Thanks

---

<div class="post-metadata">

**Author:** ![ajudge](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@ajudge](https://community.morsemicro.com/u/ajudge)\
**Post date:** [June 18, 2026, 8:10am UTC](https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745/2 "2026-06-18T08:10:07Z")

</div>

HI @sankarganesh

The error shown is `EPROTO` = 71. This shows up on SPI devices when command reads/writes fail or the R1 response is never sent by our chip.

There are a few reasons this could fail:

1. Something has gone wrong with respect to the communication over the SPI bus. Hard to say exactly what this might be without seeing a logic analyzer trace. Would you be able to capture one?
2. Our chip may have crashed. Do you have access to the UART pins of the MM8108 module you are using? If you can attach a UART to these pins we’d like to know if the module is throwing any log information.
3. If possible, can you collect a “coredump” from our device? To do this you will need to have included the `morse-copy-coredump` package from our feed into your image. When you call `morse_cli coredump` a coredump file will be created in `/var/log/mmcd.core/`. Unfortunately it the bus has failed completely, this won’t work.

---

<div class="post-metadata">

**Author:** ![sankarganesh](https://avatars.discourse-cdn.com/v4/letter/s/9d8465/32.png) [@sankarganesh](https://community.morsemicro.com/u/sankarganesh)\
**Post date:** [June 22, 2026, 9:59am UTC](https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745/3 "2026-06-22T09:59:44Z")

</div>

Hi @ajudge ,

We added the package as you suggested, but unfortunately the morse\_cli command was also not working

root@PIAP:~# ls /etc/hotplug.d/devcoredump/10-morse-copy-coredump  
/etc/hotplug.d/devcoredump/10-morse-copy-coredump  
root@PIAP:~# morse\_cli coredump  
NL80211, code -95: Error callback called  
NL80211, code -10: Failed to rcvmsgs  
Command ‘morse\_cli coredump’ failed with error code -10

root@PIAP:~# morse\_cli -d health  
Transport set to default: nl80211  
Using wlan0 interface  
Calling: health -d health  
– Debug: Sent Message:  
-------------------------- BEGIN NETLINK MESSAGE ---------------------------  
[NETLINK HEADER] 16 octets  
.nlmsg\_len = 60  
.type = 24 \<0x18\>  
.flags = 5 \<REQUEST,ACK\>  
.seq = 1782122348  
.port = 947928844  
[GENERIC NETLINK HEADER] 4 octets  
.cmd = 103  
.version = 0  
.unused = 0  
[PAYLOAD] 40 octets  
08 00 c3 00 74 bf 0c 00 08 00 03 00 10 00 00 00 …t…  
08 00 c4 00 00 00 00 00 10 00 c5 00 01 00 19 00 …  
00 00 00 00 00 00 00 00 …  
--------------------------- END NETLINK MESSAGE ---------------------------  
NL80211, code -95: Error callback called  
NL80211, code -10: Failed to rcvmsgs  
Message failed -10  
health check: failed  
Command ‘morse\_cli -d health’ failed with error code -10

---

<div class="post-metadata">

**Author:** ![ajudge](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@ajudge](https://community.morsemicro.com/u/ajudge)\
**Post date:** [June 25, 2026, 3:42am UTC](https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745/4 "2026-06-25T03:42:42Z")

</div>

That would indicate the host cannot communicate to the Morse chip over the bus.

Have you been able to get UART output from the MM8108?

---

<div class="post-metadata">

**Author:** ![sankarganesh](https://avatars.discourse-cdn.com/v4/letter/s/9d8465/32.png) [@sankarganesh](https://community.morsemicro.com/u/sankarganesh)\
**Post date:** [June 25, 2026, 6:00am UTC](https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745/5 "2026-06-25T06:00:22Z")

</div>

HI @ajudge

I could not see any uart pins in mm8108.

 ![image](https://us1.discourse-cdn.com/flex001/uploads/morsemicro/original/1X/ae135b1ad303f5d4eb303c60de59da6c22e64a5e.png)

Could you advise how to get the console of mm8108.

---

<div class="post-metadata">

**Author:** ![sankarganesh](https://avatars.discourse-cdn.com/v4/letter/s/9d8465/32.png) [@sankarganesh](https://community.morsemicro.com/u/sankarganesh)\
**Post date:** [June 25, 2026, 6:08am UTC](https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745/6 "2026-06-25T06:08:27Z")

</div>

Also I see this

 ![image](https://us1.discourse-cdn.com/flex001/uploads/morsemicro/original/1X/58a8bc5ad1bd394c214d222805b610c34f4efe82.png)

---

<div class="post-metadata">

**Author:** ![ajudge](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@ajudge](https://community.morsemicro.com/u/ajudge)\
**Post date:** [June 26, 2026, 3:39am UTC](https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745/7 "2026-06-26T03:39:43Z")

</div>

Ah, that’s not helpful.

Connect your UART RX to GPIO1 of our module. 115200 baud.  
If that doesn’t show anything try GPIO0 - they may be labelled from the other perspective in our reference design schematics. I’ll share these reference designs with you when our website is back online.

---

<div class="post-metadata">

**Author:** ![sankarganesh](https://avatars.discourse-cdn.com/v4/letter/s/9d8465/32.png) [@sankarganesh](https://community.morsemicro.com/u/sankarganesh)\
**Post date:** [June 26, 2026, 6:47am UTC](https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745/8 "2026-06-26T06:47:09Z")

</div>

> [@ajudge](#):
>
> I’ll share these reference designs with you when our website is back online.

Thanks, kindly share that. It will help us better

> [@ajudge](#):
>
> Connect your UART RX to GPIO1 of our module. 115200

What about Tx

---

<div class="post-metadata">

**Author:** ![ajudge](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@ajudge](https://community.morsemicro.com/u/ajudge)\
**Post date:** [June 26, 2026, 7:26am UTC](https://community.morsemicro.com/t/mm8108-driver-v1-17-8-ap-crash/1745/9 "2026-06-26T07:26:11Z")

</div>

Host Tx (chip rx) will be GPIO0 if GPIO1 is your Host RX (chip TX).

However, the chip only outputs some errors to the uart. Normal firmware does not accept input.
