Persistent Disconnection and Re-enumeration Issues with Modem EC25 USB in Linux

Hello,

I’m encountering a recurring problem on Linux with my EC25 modem. Initially, the modem is successfully recognized, but within a few seconds, it disconnects. This cycle of USB enumeration followed by disconnection repeats continuously. At times, the modem appears in the lsusb list, but it eventually disappears along with the associated PPP interface.

Here are the specifics of my modem:

  • Model: Quectel EC25-EFA
  • Revision: EC25EFAR06A11M4G
  • Firmware Version: EC25EFAR06A11M4G_01.001.01.001
  • Kernel Version: 5.15.150

In an attempt to resolve this issue, I’ve already implemented the kernel patches outlined in the Linux USB Driver User Guide 2.0. Additionally, I’ve experimented with disabling the Linux USB autosuspend feature, albeit without success.

My inquiry pertains to whether this issue has been addressed in newer firmware versions. If so, could you kindly provide the latest firmware for the EC25EFAR06A11M4G model, along with the necessary flashing application and instructions compatible with Linux?

dmesg log documenting the USB disconnect events for further analysis:

[ 40.080480] PM: Adding info for No Bus:ep_00
[ 40.083799] usb 1-3: USB disconnect, device number 18
[ 40.083810] device: ‘ep_81’: device_unregister
[ 40.083852] PM: Removing info for No Bus:ep_81
[ 40.083866] device: ‘ep_01’: device_unregister
[ 40.083889] PM: Removing info for No Bus:ep_01
[ 40.083926] bus: ‘usb’: remove device 1-3:1.0
[ 40.083966] bus: ‘usb-serial’: remove device ttyUSB1
[ 40.084005] device: ‘ttyUSB1’: device_unregister
[ 40.084090] PM: Removing info for No Bus:ttyUSB1
[ 40.084242] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[ 40.084281] PM: Removing info for usb-serial:ttyUSB1
[ 40.084307] option 1-3:1.0: device disconnected
[ 40.084336] PM: Removing info for usb:1-3:1.0
[ 40.084369] device: ‘ep_83’: device_unregister
[ 40.084397] PM: Removing info for No Bus:ep_83
[ 40.084406] device: ‘ep_82’: device_unregister
[ 40.084429] PM: Removing info for No Bus:ep_82
[ 40.084435] device: ‘ep_02’: device_unregister
[ 40.084457] PM: Removing info for No Bus:ep_02
[ 40.084488] bus: ‘usb’: remove device 1-3:1.1
[ 40.084519] bus: ‘usb-serial’: remove device ttyUSB2
[ 40.084543] device: ‘ttyUSB2’: device_unregister
[ 40.085242] PM: Removing info for No Bus:ttyUSB2
[ 40.085300] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[ 40.085322] PM: Removing info for usb-serial:ttyUSB2
[ 40.085350] option 1-3:1.1: device disconnected
[ 40.085381] PM: Removing info for usb:1-3:1.1
[ 40.085411] device: ‘ep_85’: device_unregister
[ 40.085444] PM: Removing info for No Bus:ep_85
[ 40.085452] device: ‘ep_84’: device_unregister
[ 40.085475] PM: Removing info for No Bus:ep_84
[ 40.085482] device: ‘ep_03’: device_unregister
[ 40.085505] PM: Removing info for No Bus:ep_03
[ 40.085539] bus: ‘usb’: remove device 1-3:1.2
[ 40.085574] bus: ‘usb-serial’: remove device ttyUSB3
[ 40.085613] device: ‘ttyUSB3’: device_unregister
[ 40.086401] PM: Removing info for No Bus:ttyUSB3
[ 40.086526] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[ 40.086560] PM: Removing info for usb-serial:ttyUSB3
[ 40.086773] option 1-3:1.2: device disconnected
[ 40.086873] PM: Removing info for usb:1-3:1.2
[ 40.086941] device: ‘ep_87’: device_unregister
[ 40.086989] PM: Removing info for No Bus:ep_87
[ 40.087000] device: ‘ep_86’: device_unregister
[ 40.087029] PM: Removing info for No Bus:ep_86
[ 40.087037] device: ‘ep_04’: device_unregister
[ 40.087062] PM: Removing info for No Bus:ep_04
[ 40.087101] bus: ‘usb’: remove device 1-3:1.3
[ 40.087192] bus: ‘usb-serial’: remove device ttyUSB4
[ 40.087244] device: ‘ttyUSB4’: device_unregister
[ 40.089000] PM: Removing info for No Bus:ttyUSB4
[ 40.089081] option1 ttyUSB4: GSM modem (1-port) converter now disconnected from ttyUSB4
[ 40.089105] PM: Removing info for usb-serial:ttyUSB4
[ 40.089195] option 1-3:1.3: device disconnected
[ 40.089229] PM: Removing info for usb:1-3:1.3
[ 40.089262] device: ‘ep_89’: device_unregister
[ 40.089298] PM: Removing info for No Bus:ep_89
[ 40.089338] bus: ‘usb’: remove device 1-3:1.4
[ 40.089342] PM: Removing info for usb:1-3:1.4
[ 40.089397] bus: ‘usb’: remove device 1-3:1.5
[ 40.089401] PM: Removing info for usb:1-3:1.5
[ 40.090401] device: ‘ep_00’: device_unregister
[ 40.090461] PM: Removing info for No Bus:ep_00
[ 40.090774] bus: ‘usb’: remove device 1-3
[ 40.090836] PM: Removing info for usb:1-3
[ 40.339241] usb 1-3: new high-speed USB device number 19 using xhci_hcd
[ 46.646597] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 46.760742] usb 1-3: new high-speed USB device number 20 using xhci_hcd
[ 52.790270] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 52.790412] usb usb1-port3: attempt power cycle
[ 53.750270] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 53.864668] usb 1-3: new high-speed USB device number 22 using xhci_hcd
[ 53.864874] usb 1-3: Device not responding to setup address.
[ 54.070290] usb 1-3: Device not responding to setup address.
[ 54.278320] usb 1-3: device not accepting address 22, error -71
[ 54.278490] usb usb1-port3: unable to enumerate USB device
[ 54.500923] usb 1-3: new high-speed USB device number 23 using xhci_hcd
[ 54.615699] usb 1-3: Device not responding to setup address.
[ 54.823133] usb 1-3: Device not responding to setup address.
[ 55.030788] usb 1-3: device not accepting address 23, error -71
[ 55.926233] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 55.926376] usb usb1-port3: attempt power cycle
[ 56.878404] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 56.993065] usb 1-3: new high-speed USB device number 26 using xhci_hcd
[ 56.993478] usb 1-3: Device not responding to setup address.
[ 57.198282] usb 1-3: Device not responding to setup address.
[ 57.406189] usb 1-3: device not accepting address 26, error -71
[ 57.406352] usb usb1-port3: unable to enumerate USB device
[ 57.630197] usb 1-3: new high-speed USB device number 27 using xhci_hcd
[ 63.606244] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 63.720932] usb 1-3: new high-speed USB device number 28 using xhci_hcd
[ 68.563865] axp288_fuel_gauge axp288_fuel_gauge: Fuel Gauge updating register values…
[ 69.750334] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 69.750495] usb usb1-port3: attempt power cycle
[ 70.710335] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 70.824788] usb 1-3: new high-speed USB device number 30 using xhci_hcd
[ 70.824884] usb 1-3: Device not responding to setup address.
[ 71.030317] usb 1-3: Device not responding to setup address.
[ 71.239744] usb 1-3: device not accepting address 30, error -71
[ 71.240037] usb usb1-port3: unable to enumerate USB device
[ 71.464828] usb 1-3: new high-speed USB device number 31 using xhci_hcd
[ 77.430395] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 77.544325] usb 1-3: new high-speed USB device number 32 using xhci_hcd
[ 83.575262] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 83.575801] usb usb1-port3: attempt power cycle
[ 84.534857] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 84.649242] usb 1-3: new high-speed USB device number 34 using xhci_hcd
[ 84.649367] usb 1-3: Device not responding to setup address.
[ 84.854809] usb 1-3: Device not responding to setup address.
[ 85.062788] usb 1-3: device not accepting address 34, error -71
[ 85.063119] usb usb1-port3: unable to enumerate USB device
[ 85.286610] usb 1-3: new high-speed USB device number 35 using xhci_hcd
[ 91.190902] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 92.143016] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 92.143777] usb usb1-port3: attempt power cycle
[ 93.102850] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 93.218264] usb 1-3: new high-speed USB device number 38 using xhci_hcd
[ 93.218325] usb 1-3: Device not responding to setup address.
[ 93.422806] usb 1-3: Device not responding to setup address.
[ 93.630912] usb 1-3: device not accepting address 38, error -71
[ 93.631357] usb usb1-port3: unable to enumerate USB device
[ 93.853736] usb 1-3: new high-speed USB device number 39 using xhci_hcd
[ 99.894846] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 100.009636] usb 1-3: new high-speed USB device number 40 using xhci_hcd
[ 106.038622] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 106.038931] usb usb1-port3: attempt power cycle
[ 107.054696] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 108.007389] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[ 108.007514] usb usb1-port3: unable to enumerate USB device

Thank you

There is no need to touch the driver(s).
These types of problems are usually caused by bad cables and weak power sources.