Musings with Quectel EC25-EUX LTE Module

So I wanted to add Cellular connectivity to my GL.iNet Slate AX but because of regulations here, I needed to source my LTE module locally.

...After couple months, I finally did.

At first, I saw an EG25-G USB dongle from EXVIST on Amazon Turkey:

Screenshot of Amazon Turkey, listing the EXVIST USB Dongle, containing the Quectel EG25-G chip.

But, I remembered the entire IMEI Allowlist shenanigans after it arrived to me. So I started to play with it carefully, considering that I might return it soon.

Then I decided to look at EXVIST's own website, and found out that they sell configurable USB carrier board enclosures for Quectel mini-PCIe cards as well:

Screenshot of EXVIST's website, showing their "IoT Dongles".

You might ask “mini-PCIe and USB? What?” and that's a valid question. Here's a fun tidbit, mini-PCIe spec actually has pins for direct USB 2.0 connection which Quectel actually markets this as an option on their product brochures.

The carrier board utilizes this and the other “reserved” pins for SIM card itself, here's a pinout from SixFab, where they also use USB D+ and D- pins (emphasis mine):

A pinout of mini-PCIe head, marking USB DP and DM as red.

I immediately jumped onto Amazon Turkey and yep, the bare carrier enclosure is available to buy:

Screenshot of Amazon Turkey, listing the EXVIST USB carrier enclosure.

In the meantime, I looked at local e-commerce marketplaces other than Amazon, and I found an EC25-EUX on Trendyol:

Screenshot of Trendyol, showing a listing of the Quectel EC25-EUX mini-PCIe module.

To be extra sure, I asked the seller if the IMEIs of the stock they have are registered and they said yes:

Screenshot of Trendyol, showing the "Questions to Seller" portion of the EC25-EUX module listing.

You can guess that I immediately bought the module.

I started the return procedure of the EG25-G dongle and sent it away. I got the EC25-EUX module next day and the carrier enclosure arrived a week later.

First two cons:

Now, let's get to how the software stuff up to speed.

I need to applaud EXVIST, because unlike Quectel themselves, they actually provide open documentation to do things:

Screenshot of EXVIST's documentation page, which they use GitBook.

You can grab the drivers at https://docs.exvist.com/dongle/ts/drivers.

Looking at the tools page, you will see two tools:

Both tools will document the AT commands issued.

There will be 4 interfaces coming up when you plug the module in (gonna be using Linux paths):

To “”“properly”“” use your module on OpenWrt based systems (aka “using the /dev/cdc-wdm0 interface”), you need to have some prerequisites, which SixFab helpfully provides it:

If your system allows a protocol named “QCI” alongside “QMI”, you can use that for your Quectel module.

I'm still messing around with this, I hope I remember to update this post with further information (Written in 2023-09-27).

2023-09-28 Update:

Looking at OpenWrt Docs, I have found out what each usbnet settings mean:

AT+QCFG="usbnet"	# check the current mode
AT+QCFG="usbnet",0	# set QMI or RMNET mode
AT+QCFG="usbnet",1	# set ECM mode
AT+QCFG="usbnet",2	# set MBIM mode
AT+QCFG="usbnet",3	# set RNDIS mode

It is weird that Quectel doesn't mention any of this in their own AT documentation. Apparently they do, its just in a separate file.

To make things extra spicy, my modem had this set to 3, which I don't know what that means. I have updated the list above.

2023-10-02 Update:

I've been trying to get the module work on macOS, but it seems like I won't be able to without modifying Apple's own support kexts.

To make sure the module actually gets loaded requires me to use AppleWWANSupport or AppleWWANSupport1 driver kexts, but they have their own vendor ID list, which needs to include Quectel's vendor ID. And they obviously don't.

2023-11-01 Update:

I've been testing the module with my GL.iNet Slate AX for more than a month at this point and with the usbnet mode set to 0 (QMI/RMNET) the modem is pretty much plug and play:

Screenshot of the GL.iNet Slate AX management interface.



Copyright 2018-2024, linuxgemini (İlteriş Yağıztegin Eroğlu). Any and all opinions listed here are my own and not representative of my employers; future, past and present.