Hello, I have several RM551E-GL modems (engineering samples) and they are extremely fast - they work well in USB 3 connection.
However, all the AliExpress vendors I have bought them from say PCIe connection is not supported. I’ve browsed this forum and there are some threads talking about PCIe connection to this modem - can someone tell me if it’s supported or not, please? If it is supported, what is the AT command to put the modem into PCIe mode…
PCIE EP or RC? AT+QCFG="PCIe/mode"
Default PCIe EP should already be set AT+QCFG="PCIe/mode",0
PCIe RC if you are using direct Ethernet or providing the modem some other PCIe endpoint AT+QCFG="PCIe/mode",1
RM551E-GL does work well in PCIe EP mode in Topton N100 mini PC connected to M.2 key M slot via M.2 key B adapter with SIM card.
Router runs under OpenWrt snapshot built with Quectel Connect Manager and drivers: https://github.com/FUjr/QModem
Challenging part is getting a host system to perform PCI scan when the modem is ready for it – about 3 seconds after powering up.
With N100 this was achieved by connecting a separate power source to the modem. Thus it turns on first and boots to a state ready for PERST# PCI signal before host is powered up.
Some systems have a BIOS setting for delay before PCI scan or can be modified.
Wiring for PCIe signals of host M.2 slot as well as adapter need to be verified.
E.g. signal pins of M.2 slot in popular Hiveton H5000M are not connected to the PCIe controller.
Many of M.2 adapters have only USB lines between connectors omitting this fact in description.
None of a few tested M.2 adapters with ribbon cable and present PCIe lines allowed N100 to connect with the modem.
M.2 key E slots in Intel-based systems are likely supporting only CNVI protocol and not compatible with PCIe modules.
Two adapters confirmed working with RM551E-GL for PCIe connection:
referenced by Iamromulan in the above mentioned article and on the photo below.
Many thanks for all the useful information.
However, all the AliExpress vendors I have got RM551E-GL cards from say PCIe is not supported. The cards are all engineering samples, and from the serial numbers I think they are 2024 ‘vintage’.
The vendor’s information says PCIe not supported (but I know Qflash is supported because I’ve flashed the firmware several times - so maybe it’s wrong about PCIe)…
6. Currently, the following software features are not supported:
Regarding adaptors, I have used Techship adaptors with are USB2 and PCIe… Techship MP301-S Adapter (M.2 Key B - mPCIe, USB2/PCIe, Dual SIM. This item is EoL but they supply MP302 now:
Finally - I can’t see a reference to the above adaptor in that article… sorry. Could you give me a pointer?
Thats a m.2 to mPCIE adapter. Thought those created a bottleneck.
M.2 on its own also does PCIe and USB.
You asked about the difference between EP and RC modes:
Connection Methods
The modems M.2 B-Key interface is a combination of both USB 3.1 and PCIe 4.0 along with additional pins for things like the SIM slots. For exact information about what pin is what, see the hardware design document. The modem supports being used in 3 different ways:
USB 3.1
PCIe EP (Endpoint)
PCIe RC (Root Complex mode)
To further understand; take a look at the following graph:
Initiators refers to what is in charge of initially connecting and keeping the connection up.
TE refers to the host (whatever the modem is hooked up to) will be in charge of connection management
AP refers to the Linux OS running on the modem itself (the modem will be in charge of itself)
Both USB and PCIe can be used at the same time to connect. In PCIe Endpoint mode only the TE initiator is available to be used.
In TE modes the IP address(es) is always passed through to the host.
It is recommended to not use PCIe and USB both in a TE mode at the same time. This causes the modem to request 2 IPv4 and IPv6 addresses from the cell carrier. While this is posable, and I have seen it work, it tends to be pretty unstable.
In AP modes the modems onboard DHCP server is used by default. If you want to enable IP passthrough in AP mode then AT+QMAP="mpdn_rule" must be used to specify where you want the IP to passthrough to. You have a choice between passing it to a USB device (using an AP protocol) or the PCIe RC’s endpoint, like the ethernet chipset of a RJ45/PHY board for example.
USB modes
When presented as a USB modem to a device/host there are 4 different USB modes (protocols/standards) that it can present itself as. 2 of them, the modem is presented as a full cellular modem to the host and the host will be in charge (TE). Those modes are NDIS (Referred to as QMI in the past) and MBIM. The other 2; ECM and RNDIS; the modem is in charge (AP) and the host will view it as a USB ethernet port. It will simply ask for an IP address and that’s it.
You can view what USB mode the modem is in with the AT command: AT+QCFG="usbnet"
To set it to a particular USB mode:
AT+QCFG="usbnet",0 (NDIS/QMI) (TE) (Default)
AT+QCFG="usbnet",1 (ECM) (AP)
AT+QCFG="usbnet",2 (MBIM) (TE)
AT+QCFG="usbnet",3 (RNDIS) (AP)
After setting a USB mode reboot to have it take effect with AT+CFUN=1,1
PCIe modes
PCIe devices can take 2 different roles. Its either an endpoint device or a root complex (host) device. For example, a desktop computer/PC has a graphics card or WiFi card installed to a PCIe slot. The computer would be (have) the Root Complex, while the Graphics Card or WiFi card would be the endpoint device.
To check what PCIe mode the modem is currently in run the AT command AT+QCFG="pcie/mode"
To set the PCIe mode to Endpoint mode (TE) run the AT command AT+QCFG="pcie/mode",0
To set the PCIe mode to Root complex mode (AP) run the AT command AT+QCFG="pcie/mode",1
PCIe EP (Endpoint Mode)(TE)
In PCIe endpoint mode (default) the modem will act as a PCIe endpoint device. It can be installed as a device to system with a PCIe slot/Root Complex.
I personally have never used the modem in this mode, however I have recently ordered a PCIe adapter to see how the modem works in this mode so I can provide more details here. Here is what I ordered to test out PCIe EP mode
PCIe RC (Root Complex Mode)(AP)
In PCIe root complex mode the modem will act as a PCIe host/root complex device. In this way the modem can be provided with an endpoint device like an Ethernet chipset or a WiFi chipset for it to use. On the RM50x, RM52x, and RM530 modems, after setting this mode you must enable the correct driver for the endpoint device you are using.
For Ethernet chipsets you’ll use the AT+QETH="eth_driver" command to see what driver is currently enabled, and for a list of supported drivers.
For example: AT+QETH="eth_driver","r8125",1 would enable the driver for the RTL8125 ethernet chipset. A good example of a ready to use board with the 2.5Gig RTL8125 ethernet chipset would be the Rework.Network PHY Board
For WiFi chipsets, for example, you’d use the command AT+QCFG="wifi/model","fc64e" to select the driver for the fc64e WiFi chip
For now, only Quectel WiFi chips can be used. The following models are supported:
“fc64e”,“fc06e”,“fc06e-33”,“fc60e”,“fc08e”
I Personally have not seen a board on the market offering a WiFi chip other than the Quectel EVB kits.
For your main point/question though…
What router are you trying to use it with?
I’m currently testing (playing with) RM551E-GL in several routers. Huasifei WH3000 Pro - both in their original case and a bare board in a case I’m made so I can easily swap out modems, BRi-R4, and these M2 to USB adaptors (I have several, and bought them without the RM520N-GL card)
I use other routers like Comfast WR632AX and the adaptors, and play with ROOter, OpenWRT and QWRT firmware. Annoyingly ROOter currently hangs with the RM551E-GL at ‘initialising QMI connection’ and no-one from the ROOter forum has yet sorted it out. The RM551 works fine with OpenWRT (with 4IceG’s packages to monitor it) and QWRT, which is what the Huasifei WH3000 Pro is supplied with.
The AliExpress vendors (as I noted above) say only QMI works with the RM551 - no MBIM, no PCIe - so I am wary about issuing the command to change the data mode to PCIe as I’ve bricked a modem in the past issuing a similar ‘impossible’ command…
Thanks for your GIT site and all the useful info there!
Cheers!
PS I’m currently connected with and using a RM551E-GL in a Huasifei WH3000 Pro router with the latest QWRT firmware I can find (fildunsky (Fil Dunsky) · GitHub) - something like 450 meg down and 80 meg upload on EE (UK) 5Gnr…
I am sure you are aware of all these sites and more!
Gosh, you have a long memory! It’s a bit of a story - I got a gl-inet Spitz with the EM160GLAP in it, and swapped it for one of my RM520N-GL modems. I issued the command to change to USB data interface on the EM160 - but of course, as it was a AP modem, it couldn’t do that so I bricked it. I was unable to get it into ‘emergency’ mode or whatever, to recover it - so it went to WEEE waste…
My silly fault of course, and that explains why I am reluctant to try to change one of my (expensive and fast) RM551E-GL modems from USB to PCIe, when the suppliers all claim PCIe is not implemented. Are your modems ‘engineering samples’ - and does the serial number contain Y24K - which I believe means it is 2024?
Mine also has ‘engineering sample’ on the cover, SN starts with D1Y25K.
Zigmabeta in the very same Rooter thread reported using mode switch commands in May 2024 in similar situation:
I just received my Quectel SDX75 RM551E-GL.
I was told that the firmware is only supporting USB mode as of now.
…
I have tried:
AT+QCFG=“data_interface”,0,0 I also tried 1,0
…
posted 2024-May-17, 2:58 am AEST
His subsequent posts on continued work with the modem indicate it survived the experience.
Put solder blobs on contact pads of a male end. Should it not work cut off the metal top of a damaged slot and solder contact remains to wires connected to the extender.
This is assuming that replacing the entire slot assembly on the board considered impractical.
Regarding repair of SIM slot on BPi-R4, the sim extender is an EXCELLENT idea! I have several SIM extenders in stock so I could try that immediately. That is really a superb idea! Many thanks…
I will have to (carefully) cut the top metal off - I can’t replace the entire assembly as I don’t have the right soldering facilities…
I have X64 mini-PC with M2 slot (thanks for the warning about safe number of insertions for M2 slots!).
I have this running ROOter and have a RM520N-GL in the M2 slot.
PS I would like to add, I am not really a linux person but I suppose I will have to fire up a linux PC to continue this work… What distro would you suggest is best, please?
No need for separate HW either. Setup tried and true VirtualBox, get a proper image from osboxes.org.
Start building in under 10 minutes, depending on download speed for the above.
WSL might work as well.
Having indecent amount of my blood spoiled by decades of exposure to Microsoft software, trying to avoid any of it by all means.