EC25-EUX on linux kernel 4.14

Hi,

I have been trying to get EC25-EUX working on linux with no luck so far. It is connected to USB bus via minipcie interface. EC25-EC is working just fine on the same system and -EUX was supposed to be drop-in replacement but it is not recognized at all. Nothing in the USB bus.

I have Quectel_LTE&5G_Linux_USB_Driver_User_Guide_V2.0.pdf (2019-12-11) and have added kernel patches according to that document.

What gives?

Dear MikaAleksandroff,
Thanks for your inquiry in Quectel forum.
About your issue, if the EC25-EC can work on normally in Linux system, the EC25-EUX also have no any issue. You need to check whether the module have power on normally, and whether there have any dmesg information, and whether have change another module to confirm it. Please help to share more information about your issue with us, then we can help to confirm the root reason. Thanks!

Ah, yes, thank you.

I have two identical custom minipcie modem modules except for the modem chip (-EC vs. -EUX). When I turn on power on the -EC chip module, I see this in udev - as expected:

KERNEL[233.151091] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1 (usb)
KERNEL[233.158511] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.0 (usb)
KERNEL[233.158650] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.0/ttyUSB0 (usb-serial)
KERNEL[233.158870] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.0/ttyUSB0/tty/ttyUSB0 (tty)
KERNEL[233.167723] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.0/ttyUSB0 (usb-serial)
KERNEL[233.168021] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.0 (usb)
KERNEL[233.168404] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.1 (usb)
KERNEL[233.174774] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.1/ttyUSB1 (usb-serial)
KERNEL[233.175257] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.1/ttyUSB1/tty/ttyUSB1 (tty)
KERNEL[233.182005] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.1/ttyUSB1 (usb-serial)
KERNEL[233.182259] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.1 (usb)
KERNEL[233.182669] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.2 (usb)
KERNEL[233.188131] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.2/ttyUSB2 (usb-serial)
KERNEL[233.188525] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.2/ttyUSB2/tty/ttyUSB2 (tty)
KERNEL[233.196203] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.2/ttyUSB2 (usb-serial)
KERNEL[233.196455] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.2 (usb)
KERNEL[233.196882] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.3 (usb)
KERNEL[233.204233] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.3/ttyUSB3 (usb-serial)
KERNEL[233.204686] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.3/ttyUSB3/tty/ttyUSB3 (tty)
KERNEL[233.211656] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.3/ttyUSB3 (usb-serial)
KERNEL[233.211915] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.3 (usb)
KERNEL[233.212332] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4 (usb)
KERNEL[233.213102] add /class/usbmisc (class)
KERNEL[233.213442] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4/usbmisc/cdc-wdm0 (usbmisc)
KERNEL[233.218486] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4/net/wwan0 (net)
KERNEL[233.218738] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4/net/wwan0/queues/rx-0 (queues)
KERNEL[233.218934] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4/net/wwan0/queues/tx-0 (queues)
UDEV [233.228368] add /class/usbmisc (class)
KERNEL[233.230838] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4 (usb)
KERNEL[233.231154] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1 (usb)
UDEV [233.237911] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1 (usb)
UDEV [233.246917] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.0 (usb)
UDEV [233.257628] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.2 (usb)
UDEV [233.267273] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.0/ttyUSB0 (usb-serial)
UDEV [233.268508] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.1 (usb)
UDEV [233.275487] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.1/ttyUSB1 (usb-serial)
UDEV [233.277453] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.2/ttyUSB2 (usb-serial)
UDEV [233.279093] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.3 (usb)
UDEV [233.279334] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4 (usb)
UDEV [233.286419] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.3/ttyUSB3 (usb-serial)
UDEV [233.292739] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4/usbmisc/cdc-wdm0 (usbmisc)
UDEV [233.314917] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.2/ttyUSB2/tty/ttyUSB2 (tty)
UDEV [233.322741] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.3/ttyUSB3/tty/ttyUSB3 (tty)
UDEV [233.338845] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV [233.347756] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.1/ttyUSB1/tty/ttyUSB1 (tty)
UDEV [233.367990] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.0/ttyUSB0 (usb-serial)
UDEV [233.383119] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.3/ttyUSB3 (usb-serial)
UDEV [233.386311] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.1/ttyUSB1 (usb-serial)
UDEV [233.400493] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.2/ttyUSB2 (usb-serial)
UDEV [233.417401] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.1 (usb)
UDEV [233.434042] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.2 (usb)
UDEV [233.436542] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.3 (usb)
UDEV [233.451484] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.0 (usb)
UDEV [233.561134] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4/net/wwan0 (net)
UDEV [233.577933] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4/net/wwan0/queues/rx-0 (queues)
UDEV [233.579548] add /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4/net/wwan0/queues/tx-0 (queues)
UDEV [233.596443] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1/3-1:1.4 (usb)
UDEV [233.608157] bind /devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/usb3/3-1 (usb)

However, with the -EUX chip, nothing. Nothing at all. I have four of those custom modules and I even ordered couple official modules but with all of them, same result.

I have official minipcie modules with the -EC chip and those also work without any problems.

Dear MikaAleksandroff,
Thanks for your updating.
The log you provided seems like that the system have not recognize the module, could you help to check the module status when you power on, such as check the level of VBAT, VDD_EXT pin of the module. Normally, the two modules (-EC VS EUX) have no obvious difference in hardware. Thanks!

Yes, I know, they should be identical in hw.

As I said, in addition to our several custom modules I have also tried several off-the-shelf minipcie modules with the -EUX and none work any better. I seriously doubt they all have faulty connections on board but I can check that, too.

What I suspect is that, -EUX modems require something to be different than -EC for them to actually “wake up” after power on.

Dear MikaAleksandroff,

What I suspect is that, -EUX modems require something to be different than -EC for them to actually “wake up” after power on.
[Answer] Just as i have said that the two modules have the same interface in hardware design. I still think it may related to external circuit, you can double check the power supply for module, and the pins VBAT, VDD_EXT of the module. Thanks!

Update on this.

I have managed to get the standard -EUX module working. Clearly, -EC is not as picky about waking up the modem as the -EUX is. Our board has GPIO pins connected to modem RST and PWR pins and with -EC power on/off can be done by toggling only the PWR-pin. With -EUX however, it is required to follow the power on/off method described in hardware design manual and toggle both PWR and RST pin in correct order and with correct timings.

Thanks for your updating.Thanks!