"Quectel module not found" error when upgrading X3000 modem firmware

I have an X3000 using a T-Mobile SIM on the latest stable firmware 4.4.9. I am having issues with poor speeds on 5G with full signal strength, about 5 down / 3 up. Am also getting regular packet loss every 10–15 seconds.

The cellular on it doesn't like to connect automatically, I often need to reboot it or click manual setup once or twice to make it fully connect. I've been having these issues since I bought it across multiple firmware versions.

To troubleshoot, I am trying to update the Quectel modem firmware using SSH, but QFirehose fails with Quectel module not found no matter what I do.
gl_modem AT AT+QGMR just returns Modem is not exit.Please make sure bus.

Is my unit just defective?

BusyBox v1.33.2 (2024-06-15 05:17:39 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 21.02-SNAPSHOT, r15812+880-46b6ee7ffc
 -----------------------------------------------------
root@X3000:~# gl_modem AT AT+QGMR

Modem is not exit.Please make sure bus.
root@X3000:~# cd /usr/bin/ && wget https://fw.gl-inet.com/tools/quectel_tool/QFirehose-mtk7981a-sha256-c0b944
Downloading 'https://fw.gl-inet.com/tools/quectel_tool/QFirehose-mtk7981a-sha256-c0b944'
Connecting to 99.84.66.5:443
Writing to 'QFirehose-mtk7981a-sha256-c0b944'
QFirehose-mtk7981a-s 100% |*******************************|   106k  0:00:00 ETA
Download completed (109208 bytes)
root@X3000:/usr/bin# chmod 775 QFirehose-mtk7981a-sha256-c0b944  && sha256sum QFirehose-mtk7981a-sha256-c0b944
c0b944f62e5ef9e83a71775b494f96d661b0ffafa3490ddb901e460084cd0ffb  QFirehose-mtk7981a-sha256-c0b944
root@X3000:/usr/bin# wget http://192.168.8.134:1180/RM520NGLAAR01A08M4G_2024_04_03.zip -P /
Downloading 'http://192.168.8.134:1180/RM520NGLAAR01A08M4G_2024_04_03.zip'
Connecting to 192.168.8.134:1180
Writing to 'RM520NGLAAR01A08M4G_2024_04_03.zip'
RM520NGLAAR01A08M4G_ 100% |*******************************|   132M  0:00:00 ETA
Download completed (139002193 bytes)
root@X3000:/usr/bin# ls /
RM520NGLAAR01A08M4G_2024_04_03.zip  lib64                               sbin
bin                                 mnt                                 sys
dev                                 overlay                             tmp
etc                                 proc                                usr
init                                rom                                 var
lib                                 root                                www
root@X3000:/usr/bin# unzip /RM520NGLAAR01A08M4G_2024_04_03.zip -d /RM520NGLAAR01A08M4G_2024_04_03
Archive:  /RM520NGLAAR01A08M4G_2024_04_03.zip
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/contents.xml
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/md5.txt
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/sdxlemur-recoveryfs.ubi
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/multi_image_qti.mbn
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/uefi.elf
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/oemdata.ubi
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/multi_image.mbn
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/xbl_config.elf
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/abl.elf
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/logfs_ufs_8mb.bin
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/devcfg.mbn
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/devcfg_low_ddr.mbn
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/hyp.mbn
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/ipa_fws.elf
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/sdxlemur-sysfs.ubi
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/usrdata.ubi
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/NON-HLOS.ubi
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/tz.mbn
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/sdxlemur-boot.img
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/xbl.elf
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/aop.mbn
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/oemapp.ubi
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/apdp.mbn
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/partition_nand.xml
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/partition.mbn
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/xbl_ramdump.elf
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/firehose/patch_p4K_b256K.xml
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/firehose/rawprogram_nand_p4K_b256K_update.xml
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/firehose/partition_complete_p4K_b256K.mbn
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/update/firehose/prog_firehose_lite.elf
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/Quectel_RM520N-GL-AA_Firmware_Release_Notes_V0108_01.203.01.203.pdf
  inflating: /RM520NGLAAR01A08M4G_2024_04_03/Quectel_RM520N-GL-AA_????????????????????????_V0108_01.203.01.203.pdf
root@X3000:/usr/bin# QFirehose-mtk7981a-sha256-c0b944 -f /RM520NGLAAR01A08M4G_2024_04_03
[000.000]: Version: QFirehose_Linux_Android_V1.4.13
[000.000]: Builded: Apr 12 2023 03:15:42
[000.000]: Find md5 check file </RM520NGLAAR01A08M4G_2024_04_03/md5.txt>
[000.001]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/contents.xml pass
[000.003]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/abl.elf pass
[000.005]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/aop.mbn pass
[000.005]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/apdp.mbn pass
[000.006]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/devcfg_low_ddr.mbn pass
[000.007]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/devcfg.mbn pass
[000.007]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/firehose/partition_complete_p4K_b256K.mbn pass
[000.007]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/firehose/patch_p4K_b256K.xml pass
[000.014]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/firehose/prog_firehose_lite.elf pass
[000.015]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/firehose/rawprogram_nand_p4K_b256K_update.xml pass
[000.016]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/hyp.mbn pass
[000.017]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/ipa_fws.elf pass
[000.017]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/logfs_ufs_8mb.bin pass
[000.017]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/multi_image.mbn pass
[000.018]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/multi_image_qti.mbn pass
[000.817]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/NON-HLOS.ubi pass
[000.825]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/oemapp.ubi pass
[000.831]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/oemdata.ubi pass
[000.831]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/partition.mbn pass
[000.832]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/partition_nand.xml pass
[000.922]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/sdxlemur-boot.img pass
[001.090]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/sdxlemur-recoveryfs.ubi pass
[001.792]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/sdxlemur-sysfs.ubi pass
[001.803]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/tz.mbn pass
[001.824]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/uefi.elf pass
[001.867]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/usrdata.ubi pass
[001.868]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/xbl_config.elf pass
[001.875]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/xbl.elf pass
[001.877]: md5 checking: /RM520NGLAAR01A08M4G_2024_04_03/update/xbl_ramdump.elf pass
[001.877]: Totals checking 29 files md5 value, 0 file fail!
[001.877]: find 'prog_firehose_lite.elf'
[001.878]: find_firehose_mbn prog_firehose_lite.elf
[001.878]: Quectel module not found
[001.878]: gl-sdk4-modem-git-2023.110.43692-2ab241c/quec_UPGRADE/qfirehose.c main 354 fail
root@X3000:/usr/bin# gl_modem AT AT+QGMR

Modem is not exit.Please make sure bus.
root@X3000:/usr/bin# echo 1 > /sys/devices/platform/11280000.pcie/pci0001:00/0001:00:00.0/0001:01:00.0/remove
root@X3000:/usr/bin# echo 1 > /sys/devices/platform/11280000.pcie/pci0001:00/0001:00:00.0/rescan
root@X3000:/usr/bin# gl_modem AT AT+QGMR

Modem is not exit.Please make sure bus.
root@X3000:/usr/bin#

Can your webgui recognize the module?
Can I see it remotely?
Technical Support via GoodCloud.tar (192 KB)

It seems to show up in the webgui normally and connects. I am currently using it over cellular, so it seems to work.

AT+QGMR works in the webGUI even though it didn't work in the terminal.
image

I shared it with the gl.inet_support account in GoodCloud and emailed the MAC address and password to support@glinet.biz

The only internet connection I have available right now is over cellular, just FYI.

Your module is EM160R, you can't upgrade the firmware for RM520

Okay, I was just following the Upgrade Quectel Module Software guide, which says it's for GL-X3000.

Can I upgrade the EM160R module firmware?

I already uploaded EM160RGLAPR02A09M4g_07.007.7.007 into your router

QFirehose -f /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007
echo 1 >  /sys/devices/platform/11280000.pcie/pci0001:00/0001:00:00.0/0001:01:00.0/remove
echo 1 > /sys/devices/platform/11280000.pcie/pci0001\:00/0001\:00\:00.0/rescan

You may need to perform the upgrade yourself, I can't operate, the upgrade will disconnect the remote

gl_modem -B 0001:01:00.0 AT AT+QGMR

Using the built-in QFirehose didn't work either, same error:

BusyBox v1.33.2 (2024-06-15 05:17:39 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 21.02-SNAPSHOT, r15812+880-46b6ee7ffc
 -----------------------------------------------------
root@X3000:~# QFirehose -f /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007
[000.000]: Version: QFirehose_Linux_Android_V1.4.7
[000.000]: Builded: Jun 15 2024 05:17:39
[000.000]: Find md5 check file </modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/md5.txt>
[000.000]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/contents.xml pass
[000.003]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/abl.elf pass
[000.005]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/aop.mbn pass
[000.005]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/devcfg.mbn pass
[000.006]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/firehose/partition_complete_p4K_b256K.mbn pass
[000.006]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/firehose/patch_p4K_b256K.xml pass
[000.009]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/firehose/prog_firehose_sdx24.mbn pass
[000.009]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/firehose/rawprogram_nand_p4K_b256K_update.xml pass
[000.010]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/hyp.mbn pass
[000.011]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/multi_image.mbn pass
[000.527]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/NON-HLOS.ubi pass
[000.527]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/partition.mbn pass
[000.527]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/partition_nand.xml pass
[000.533]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/sbl1.mbn pass
[000.621]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/sdxpoorwills-boot.img pass
[000.804]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/sdxpoorwills-recoveryfs.ubi pass
[001.366]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/sdxpoorwills-sysfs.ubi pass
[001.401]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/sdxpoorwills-usrfs.ubifs pass
[001.401]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/sec.dat pass
[001.406]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/tools.fv pass
[001.416]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/tz.mbn pass
[001.431]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/uefi.elf pass
[001.473]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/usrdata.ubi pass
[001.474]: md5 checking: /modem-firmware/EM160RGLAPR02A09M4G_07.007.07.007/update/xbl_cfg.elf pass
[001.474]: Totals checking 24 files md5 value, 0 file fail!
[001.475]: Quectel module not found
[001.475]: gl-sdk4-modem-git-2024.156.32563-2f5ac8b/quec_UPGRADE/qfirehose.c main 340 fail

What's the speed of your phone with this card?

Sorry, my bad
I forgot that this module only supports PCIE mode, so the firmware of the module cannot be upgraded
I asked quectel and your current module firmware is the latest
Can you connect to another network so I can debug it remotely