Spitz X-3000: Can I replace the X62 modem with an X65?

Are they user replaceable?

1 Like

It is not replaceable, has not been adapted.

1 Like

It would be nice if we can replace it with the RM521F-GL (X65 modem).

It seems pretty simple to teardown the X3000 - remove the 4 rubber feet on bottom and remove screws to separate and open the plastic casing. Then remove heatsink and the screw holding M2 modem down. Just need $$$ to get the RM521F-GL and risk things not working. But there might be that chance where it works out :grin:

Can GL.iNet sell a X62 to X65 modem upgrade kit?

I wonder if following the directions on this page will help setup x65 on SPITZ.

I ordered an RM521F and installed it in my GL-X3000. Unfortunately, it seems to pretty much immediately crash the device. It powers on, boots up, and works for a little bit before rebooting and starting the process over.

I’m not sure how to get logs in this state, since it doesn’t stay powered on long enough to do anything.

Hi @zacharee, were you able to make it working? I am also thinking of upgrading the module to latest so we can get better performance and speed.

I was searching all over the place and found that we need to run the below AT command to connect module to modem.


you can plug into laptop/desktop to configure the module or alternativly you may have to buy 5G adaptor board like this Aliexpress

Please keep me posted about how are you getting on with this?
Kind regards, Mahe

I’ll have to get an adapter so I can try the commands.

I got an adapter and ran those AT commands, but they didn’t change anything. The RM520N has the following config:

+QCFG: "data_interface",1,0

+QETH: "eth_driver","r8125",0
+QETH: "eth_driver","r8168",0

+QCFG: "pcie/mode",0

I set the RM521F to use the same values as the RM520N, and it works!

Instead of aggregating LTE 2+2+66 and 5G 41, I have LTE 2+66 and 5G 41+41, with much faster download speeds.

The Spitz UI doesn’t know what the RM521F is so it falls back to treating it as an LTE-only modem in the settings. It also likes to set the network mode to LTE only instead of AUTO, so I had to run AT+QNWPREFCFG="mode_pref",AUTO to override what it set.

1 Like

So you actually removed the RM520N from the Spitz and installed the RM521F?

Will the settings you have used persist a reboot?

Yeah, it’s a little fiddly but not too difficult. Here’s what I did (after running the AT commands from a PC to configure the modem):

  1. Remove the 4 rubber stoppers in the screw wells on the bottom and loosen the screws.
  2. Use a spudger or flathead screwdriver to unclip the bottom from the case and remove it.
  3. Take out the 2 screws holding the mainboard into the case.
  4. Remove the short black antenna wire from the mainboard that’s attached to the little antenna strip inside the case.
  5. Grab the heatsink and use it to pull the mainboard away from the ports in the case a bit and then lever it up, with the ports staying down inside the case.
  6. Remove the 4 screws going through the metal plate on the back of the mainboard to release the heatsink.
  7. Pull off the heatsink and set it aside. I was able to keep the fan plugged in.
  8. Push a screwdriver through the silicone on the bracket holding the modem card in and unscrew it.
  9. Unplug all the antennas from the card and swap in the new one. I didn’t move over the foam from the old card, only the thermal pad.
  10. Put everything back together.

The gateway doesn’t change the settings I changed by itself, and it’s survived multiple reboots without crashing.

The adapter board I ordered from AliExpress hasn’t arrived yet, but I found out Amazon has some cheap boards, so I ordered this one, which is what I used: https://www.amazon.com/dp/B0CLDLC3FL. It isn’t big enough for 5G modems, so you can’t screw it in, but you can just use tape or something to keep the card in place, and it works for AT commands.

Edit: It looks like the network mode resets every reboot to LTE, so I have to run AT+QNWPREFCFG="mode_pref",AUTO to get it back to using 5G.

have you found anyway to keep it from resetting back to lte?

You could use a cron job or startup script to run the AT command after reboot.

I don’t think I did something right. I have it in the spitz, the spitz sees that its rm521f. The spitz does not see my sim card. The preferred mode command doesn’t seem to change what bands that can be selected. Still can only select lte bands.

When i had the module loaded into qnavigator and started to enter the commands, it returned what the rm520 already had. I’m new to this, is there something I missed?


edit:never mind, apparently i damaged my slot 1 somehow lol.Though still can only select lte band locks even though its connected 5g-sa with the at command.

The UI won’t change, since it thinks it’s an LTE modem. You’ll only be able to select LTE bands with the GUI, and you’ll need to use AT commands to set allowed 5G bands.

The 4.4.8 and snapshot versions that came out after April 17 are also incredibly unstable in my experience. I’m not sure if it’s because of the 521F or if it’s just as bad with the 520N, but with those firmware versions, my latency gradually increases to over one second before my router starts recording dropped packets. I had to downgrade to 4.4.6 to get normal functionality back.

I haven’t tested it yet, but I wrote this script to set the network mode to auto on boot:

#!/bin/sh /etc/rc.common


start() {
        sleep 5
        gl_modem AT 'AT+QNWPREFCFG="mode_pref",AUTO'

I put it in /etc/init.d/set_preferred_mode, then ran chmod +x /etc/init.d/set_preferred_mode and /etc/init.d/set_preferred_mode enable to enable it.

The above doesn’t seem to work. I ended up with a much more complex script setup that I’m not really happy with, but does seem to work.


#!/bin/sh /etc/rc.common


start_service() {
        procd_set_param command /bin/sh "/etc/init.d/set_preferred_mode.sh"




get_network_mode() {
        current_network_mode=$(/usr/bin/gl_modem AT 'AT+QNWPREFCFG="mode_pref"' >&1)

set_network_mode() {
        /usr/bin/gl_modem AT 'AT+QNWPREFCFG="mode_pref",AUTO'

run_setter() {
        echo "Setting network mode to AUTO"

        echo "Current network mode is $current_network_mode"


        while [[ "$current_network_mode" == *'"mode_pref",AUTO'* && "$iteration" -lt "2" ]]
                echo "Current network mode is AUTO, waiting 30 seconds and checking again"
                sleep 30
                iteration=$((iteration + 1))
                echo "Current network mode is $current_network_mode"

        echo "Current network mode no longer AUTO, setting back to AUTO"

for i in $(seq 0 1)
        echo "Running setter iteration $i"

Run chmod +x on both, then /etc/init.d/set_preferred_mode enable.

The multiple loops are because of the unpredictability of how the gateway firmware sets the modem’s network mode. It doesn’t seem consistent on when it runs, and it sometimes runs twice.

Thank you. I ended up putting the x62 back in. The extra n41 didn’t really help any and actually resulted in a lot lower upload. Maybe my pads were to thin but does your rm521f run about 20c higher?

Actually even my speeds on the x62 seem to have slowed down. Not sure what the issue is but speed tests all report 1/3 of what it used to be. Downloads still seem to be 60-75MB/s though. At least on steam and battlenet. Never had that difference before

My speeds have been much better. I haven’t monitored the temps, so I can’t really say much about if it runs hotter or not. I transferred the thermal pad from the built-in X62 to my X65.

I did also find out how to completely bypass the need for a startup script to set the network mode. It doesn’t fix the UI not letting you mask 5G bands, but it’s an improvement.

If you edit /lib/functions/modem.sh and go to line 218, you can change *RM520NGL*) to *RM52*) in the switch statement. This will make it so both the RM520N and RM521F follow the same setup path and will keep 5G enabled.