I also ran into this issue. Any flash attempt done on Linux fails with missing prog_firehose_sdx55.mbn which is obviously incorrect for the modem.
Iâve been using Qflash with Windows which seems to work fine if the COM ports are visible. With the Lenovo firmware I found the Lenovo driver has a exe that forces edl with no com ports.
Let me know if you get anywhere with it. Extract it by running the exe. Once run it should create a C:\DRIVERS\WIN\RM520N\20240411.11500854 folder. Inside you should find the drivers in the raw INF form. Go to the FW folder and the upgrader and firmware are there.
There are 3 firmware versions in the zip.
AAR03A03M4G - Generic version for all carriers
AAR03A03M4G_JP - Japanese carrier firmware
AAR03A20M4G - Verizon firmware with SA completely disabled and cannot be enabled with AT
Reminder to be careful with these firmware. I flashed one of my modules with it and is now unusable outside of Windows because there isnât a non Lenovo firmware I found to successfully flash and have not received any firmware from Quectel yet. OpenWRT detects and connects to carrier once AT+QCFG="fcc_enable",0 is run but fails DHCP. I get QMUX 0x46 errors when this happens.
I would recommend staying on the default old firmware but I get constant hiccups which is unacceptable.
The firmware upgrade tool FWUpgradeToolRM520NGL.exe acts like Qfirehose but for Windows. The Lenovo driver calls this when it detects a MNC and matches with ImageInfo.xml.
So far Iâve successfully flashed by calling FWUpgradeToolRM520NGL.exe -f \firmware\update\firehose The driver adds -v 0 but I donât know what it does.
For QFlash it needs to see the EDL com port or at least the diag port. So if you go into device manager and do not see any Com ports (Happens when you flash Lenovo firmware) you cannot use QFlash. I have it on a M.2 to miniPCIE adapter directly connected to the motherboard. The AP is supposedly PCIE only so a USB-C adapter shouldnât work.
github(dot)com/4IceG/RM520N-GL
Here is where Iâve been finding all the tools and firmware without the help of Quectel. I have received nothing from them despite requesting files a week ago. Some are outdated like the Linux pcie_mhi driver and is missing QConnectManager. These can be found in the ImmortalWRT github.
Please let me know if you get anywhere with this. Thanks!
just recieved mine today 11/4/2024 PCIe to M.2 key B adapter
Everything works,sort ofâŚ
I ony have an /dev/mhi_BHI device by the modem?
This is my first go aroundâŚnot sure what I should be seeing for devices on a newly purchased (AP) module.
By any chance you know anything about QMUX error 0x46? This error shows up when dialing on my Lenovo flashed AP. Everything else seems to work fine so if I can fix the 0x46 during dialing we can flash A03R03 onto the APs.
Edit: The below error is on Debian Trixie 13. GCC 14.2
I believe the running GCC version of whatever distro you are on really messes with the QFirehose app,along with any other source file that do not contain a ./configure file in the source.
I experience the same behavoir with QFirehose V1.4.17 attempting to flash RM520N-GLAP modem
Runs for a few seconds doing md5 checks on each file in the firmware ,then Ennds up with port =xyx unable to open
linuxusb . ,
failed to flash.
Does your qfirehose end at âport xyz is not an ed5 portâ or something similar?
unable to open port = xyx
linuxusb,something.
,flash failed
Just for completeness,my qfirehose does go through all the md5 checksumming of all the files in the zip file,then, fails to open port.
Going from memory
Curious what version of gcc are you using.
âgcc --versionâ
Did your qfirehose build without errors or warnings?
Also worth noteing, the unit i received i can only get one device to be generated by the modem - /dev/mhi_BHI nothing else.
Also a quirk, with this modem/adapter setup if i reboot the computer the modem never appears again. Have to power off comupter. ON two different pcâs , both fairly new units.
Am wondering if only way to flash these are in EDL mode. I dont think the (AP) version of these was a good choice. Didnt have a clue there where two versions of these. Thought had done a lot of research. I think these are âengineering samplesâ.
Im sure they would work on routers that kernel and accesories were built with these as the baseline.
They arenât engineering samples AFAIK. They are just special modules used by laptop manufacturers. You can find these on Digikey and Mouser but minimum order quantity is 100. They buy loads of them so they can ask for custom firmware. Such as the A03R03 I found from Lenovo. My modules did work out the box but one was unstable.
You should be seeing multiple MHI devices. Off the top of my head there should be mhi_dun, mhi_diag and one more. This could mean bad driver or corrupt firmware from a bad flash attempt.
For the module to work properly you MUST fully remove power after reboot. These have reset pins according to hardware design that are probably used by laptop boards when they reboot.
What is OS you are in?
Did your pcie_mhi Quectel driver build without warnings.
When I build on gcc 14.2 i get 25 warnings. Im pretty certain that is why im only seeing one device,
Mine always end end up with
0b:00.0 Unassigned class [ff00]: Qualcomm Technologies, Inc Device 0308
Subsystem: Qualcomm Technologies, Inc Device 0308
Flags: bus master, fast devsel, latency 0, IRQ 73, NUMA node 0, IOMMU group 45
Memory at f3c01000 (64-bit, non-prefetchable) [size=4K]
Memory at f3c00000 (64-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=4/32 Maskable+ 64bit+
Capabilities: [70] Express Endpoint, IntMsgNum 0
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Secondary PCI Express
Capabilities: [168] Physical Layer 16.0 GT/s <?>
Capabilities: [18c] Lane Margining at the Receiver
Capabilities: [19c] Transaction Processing Hints
Capabilities: [228] Latency Tolerance Reporting
Capabilities: [230] L1 PM Substates
Capabilities: [240] Data Link Feature <?>
Kernel driver in use: mhi_q
Kernel modules: mhi_pci_generic, pcie_mhi
You may be using a prebuilt router kernel?
Have never gotten to where i can mess with firmware to kill it.
Interesting your worked out of the box,under Linux"
Im not into Windows at all, so they would be no good for me there.
All have detected fine. Only one with issues is the Lenovo driver. They have all the com ports hidden by default. The generic driver on Ubuntu only had AT control but worked fine with modemmanager.
Itâs possible someone messed with the firmware before you. If not then it should be a driver problem.
Thank You for info.
So on Ubuntu, You did not even build the proprietary Quectel driver stuff?
If that is the case I think mine has been borked with firmware voodoo.
Example. Just using the generic Debian mhi drivers inbuilt. I do not even get the /dev/mhi_BHI
I have to use the Quectel driver for that to show.
Question, So you have never been able to use qfirehose under Ubuntu to do any firmware flashing.?
You done all your firmware flashing under Windows?
Just wonder what Im missing,is why asking."