GL-X3000 - Bridge Mode WAN IP Passthrough

No, I think this method does not support.

Since the Tethering and Modem (Cellular) work differently.

Hi @bruce . After installing the latest beta version, the device freezes every 6 to 7 days. It's not possible to establish an internet connection, and I also can't access the router's web interface. When this happens, the only solution is to unplug the device.

This sounds similar to my issue where the IP address changing causes the symptoms you're describing. I received some custom code which fixed it hopefully they will add that soon to a production version.

I just upgraded to UBoot (Critical Problem Notification for GL-MT2500/GL-X3000/GL-XE3000). I was a bit panicked afterward because it deleted the firmware. At that moment, I thought the router was broken. After installing the firmware via UBoot, the router thankfully started working again. I hope the problems are resolved.

GL-XE3000 - Bridge Mode WAN IP Passthrough
Two observations and some questions, hope somebody can offer help :slightly_smiling_face:

I'm talking about a GL-XE3000 (Pully AX) here. I had it working with firmware 4.0-0412release3 and the command curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '{"jsonrpc":"2.0","method":"call","params":["","netmode","set_mode",{"mode":"passthrough","mask":"auto"}],"id":1}' in the local startup sequence.
This was working just fine for months.

Now GL.iNet's Marketing Team announced, that we urgently have to upgrade to:

  • Bootloader 250225
    -> I tried to install this (with the correct version for 3000XE) but no matter what browser etc. I used, it was showing a successful upload and installation but never got flashed correctly (at least the upload mask for bootloader and the one for the firmware are still showing an 2022 version of the bootloader).

  • Firmware 4.7.4
    -> I gave up on the bootloader but installed the 4.7.4 version of the firmware (with the old bootloader), this was successful.

  • After this installation I was not able to get the Bridge Mode WAN IP Passthrough again (as others have reported in this forum)

  • I tried to go back to 4.0-0412release3, flashing went well, setting to Bridge Mode WAN IP Passthrough as well.
    -> BUT, I was never again able to receive an IP on the Mobile-Connection again. I tried everything regarding the settings of the APN but it has no influence (and I did what I did originally and was working), I as well tried other firmware versions like 4.4.11, 4.4.13, 4.4.9 no change.

Anybody has a hint on how I can get back a working XE3000 in Bridge Mode WAN IP Passthrough Mode, or is disposal the only option?

Thanks in advance

In version 4.7.4, the command for bridge mode looks slightly different than the one you posted. It is as follows.
curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '{"jsonrpc":"2.0","method":"call","params":["","netmode","set_mode",{"mode":"passthrough","mask":"auto","mac":""}],"id":1}
You also don't get an IP address in router mode?

Hi ibit,
Thanks a lot for your answer.
Well, with the 4.7.4 firmware I used the command exactly as posted it, the one I posted earlier was the one I used for the older firmware versions.
And no, I do get an IP address in router mode, no matter what firmware used. It's as soon as I switch to passthrough when trouble starts. A side effect is, that the web interface of the box behaves strangely as soon as you change into passthrough mode, meaning that immediately after restart you can access and check settings like APN, but this starts working after approx. 2 minutes while it's still trying to obtain an IP, after that period, you can't use the web-interface anymore (and cant even reach it anymore) until the next restart.

It works w/ 4.7.4. The command above was missing a single quote. Try this:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '{"jsonrpc":"2.0","method":"call","params":["","netmode","set_mode",{"mode":"passthrough","mask":"auto","mac":""}],"id":1}'

Thanks, that's the one I was using for with 4.7.4 and was mentioned by @ibit earlier. I can confirm it works.

Hi - I am also getting the same issue. Can you share your custom code?

What do you mean with "custom code"? We did the following?

  1. Update the Bootloader
  2. Install the latest firmware (4.7.4)
  3. Set the router to modem mode curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '{"jsonrpc":"2.0","method":"call","params":["","netmode","set_mode",{"mode":"passthrough","mask":"auto","mac":""}],"id":1}'

I'm interested in this custom code. How do I get it?

I never received such a custom code. My fix was to update Uboot. Then I installed the firmware via Uboot. Afterward, I had to reconfigure the device, and then everything worked.

Thanks - I think the issue is different. @Dan27212 is talking about when the ISP changes its ISP address allocation. My ISP gives a /30 and I think the issue is that the gateway address isn't passed along correctly and the routing table gets confused. I wrote a script for my router to change the route manually. However, I now seem to not be able to access the Spitz UI whatever I do, when using pass through, so I have reverted to (double) NAT for now. Not the end of the world, because my ISP is already applying CGNAT, and so I am not gaining a lot by using pass-through, other than reducing latency just a tiny bit.

Does your router (private router) block private addresses? The IP change is performed via a message from GL.inet Router with a private IP address. Once the initialization is complete, private IP addresses are blocked, and the IP change is not passed through.

there is a firmware 3.8.0 beta that doesn't appears to work with passthrough, and fonts are buggy. I will revert back to 3.7.4

You mean version 4.7.4 and 4.8.0? I have no issues with 4.8.0.

1 Like

I updated to version 4.8.0, and it has the same DHCP issue as the latest 4.7 version. When the X3000 is in bridge mode and the modem boots for the first time, it assigns a DHCP IP (192.168.8.x). After the cellular connection is restored, it fails to pass the cellular network IP, sticking with the 192.168.8.x IP without internet access. However, if you keep the LAN disconnected, wait for the modem to boot and connect to cellular, and then connect the LAN or Release/Renew, the external router receives the cellular IP via the bridge. @bruce hope this can be corrected.

Hello @fpb may I ask which command you used to set the bridge mode?

I used curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '{"jsonrpc":"2.0","method":"call","params":["","netmode","set_mode",{"mode":"passthrough","mask":"auto","mac":""}],"id":1}'