I have a MikroTik LHG LTE18 kit with an internal Quectel EG18‑EA modem. The modem originally had firmware EG18EAPAR01A13M4G, but it does not work with my local operators (Russia). I removed the modem, connected it to a PC via an M.2→USB adapter, and flashed it to EG18EAPAR01A12M4G using Quectel QFlash (flash finished with PASS). After flashing, ATI confirms the new firmware version.
After reinstalling the modem back into the LHG, the LTE interface in Winbox shows “modem failed” / the modem becomes inactive.
I tested this on multiple RouterOS versions and the behavior is the same:
RouterOS 7.16.2
RouterOS 7.20.7
RouterOS 7.21.1
What I found:
On the PC I set AT+QCFG="usbnet",1 and reboot the modem with AT+CFUN=1,1.
When the modem is inserted back into the LHG and LTE modem mode is set to Auto, the connection may come up briefly (I can see traffic / DHCP renew), but after a few seconds it drops.
The RouterOS LTE log shows RouterOS itself doing a mode switch and forcing MBIM by sending AT+QCFG="usbnet",2. After that, MBIM initialization fails repeatedly with open done, status: 2.
Log snippet:
/log print where topics~"lte"
15:23:26 lte,debug lte2: dhcp renew
15:23:47 lte,async modeswitch: sent AT E0 V1
15:23:47 lte,async modeswitch: rcvd OK
15:23:48 lte,async modeswitch: sent at+qcfg="usbnet",2
15:23:48 lte,async modeswitch: rcvd OK
15:24:02 lte,async lte2: sent AT E0 V1
15:24:02 lte,async lte2: rcvd OK
15:24:02 lte,async lte2: sent AT+CMEE=2
15:24:02 lte,debug lte2 mbim: state 0=>1
15:24:02 lte,debug lte2 mbim: wdm max tx 4096
15:24:02 lte,debug lte2 mbim: <<< open
15:24:02 lte,packet,raw lte2 mbim: wdm <<< send #1
15:24:02 lte,packet,raw lte2 mbim: 01000000 10000000 01000000 00100000
15:24:02 lte,async lte2: rcvd OK
15:24:02 lte,async lte2: sent AT+CGREG=2
15:24:02 lte,async lte2: rcvd OK
15:24:02 lte,async lte2: sent AT+CEREG=2
15:24:02 lte,async lte2: rcvd OK
15:24:02 lte,packet,raw lte2 mbim: wdm >>> recv #1
15:24:02 lte,packet,raw lte2 mbim: 01000080 10000000 01000000 02000000
15:24:02 lte,debug lte2 mbim: open done, status: 2
15:24:03 lte,debug lte2 mbim: <<< open
15:24:03 lte,packet,raw lte2 mbim: wdm <<< send #2
15:24:03 lte,packet,raw lte2 mbim: 01000000 10000000 02000000 00100000
15:24:03 lte,packet,raw lte2 mbim: wdm >>> recv #2
15:24:03 lte,packet,raw lte2 mbim: 01000080 10000000 02000000 02000000
15:24:03 lte,debug lte2 mbim: open done, status: 2
15:24:05 lte,debug lte2 mbim: <<< open
15:24:05 lte,packet,raw lte2 mbim: wdm <<< send #3
15:24:05 lte,packet,raw lte2 mbim: 01000000 10000000 03000000 00100000
15:24:05 lte,packet,raw lte2 mbim: wdm >>> recv #3
15:24:05 lte,packet,raw lte2 mbim: 01000080 10000000 03000000 02000000
15:24:05 lte,debug lte2 mbim: open done, status: 2
15:24:09 lte,debug lte2 mbim: <<< open
15:24:09 lte,packet,raw lte2 mbim: wdm <<< send #4
15:24:09 lte,packet,raw lte2 mbim: 01000000 10000000 04000000 00100000
15:24:09 lte,packet,raw lte2 mbim: wdm >>> recv #4
15:24:09 lte,packet,raw lte2 mbim: 01000080 10000000 04000000 02000000
15:24:09 lte,debug lte2 mbim: open done, status: 2
15:24:17 lte,debug lte2 mbim: <<< open
15:24:17 lte,packet,raw lte2 mbim: wdm <<< send #5
15:24:17 lte,packet,raw lte2 mbim: 01000000 10000000 05000000 00100000
15:24:17 lte,packet,raw lte2 mbim: wdm >>> recv #5
15:24:17 lte,packet,raw lte2 mbim: 01000080 10000000 05000000 02000000
15:24:17 lte,debug lte2 mbim: open done, status: 2
So it looks like RouterOS forces MBIM (usbnet=2) even if I set usbnet=1 on the modem, and after switching to MBIM the modem stops working. This happens on all RouterOS versions listed above.
Questions:
Is there a way to disable this “modeswitch” / prevent RouterOS from forcing AT+QCFG="usbnet",2 in Auto mode?
Which LTE “mode” should I use for EG18‑EA (MBIM vs QMI vs serial/PPP)?
Is this a known compatibility issue between EG18‑EA firmware EG18EAPAR01A12M4G and RouterOS?
Additional info:
AT+QCFG="usbcfg" returns: +QCFG: "usbcfg",0x2C7C,0x0512,1,1,1,1,1,0,0
AT+QCFG="usbnet" returns (before RouterOS changes it): 1
AT+QUSBCFG="SS": 0