LTE ipv6 not re-atachng

On mikrotik HAP ax lite LTE6
on the lte chip of
FG621-EA
With the latest firmware of
16121.1034.00.01.01.09

When ever you enable and disable lte1 interface you get a new ipv4 but you don’t get a new ipv6 on the layer-2 SLAAC mechanism
Unless you reboot!
And now i am using scripts to run
Interface lte at-chat input=“at+cfun1,1”
Which turns off the cell functunallity (basically reboots lte chip without rebooting the router itself)
To make it work
But i want this problem to be solved on a new firmware because i don’t have this kinda problem on other lte routers on on a phone

And i have already tried making changes in RA and RS in ipv6 advertisment and creating a dhcpv6-client which is pointless because my isp isn’t providing it in that way
Even tried changing all possible apn setting
PS: my isp is providing both ipv6 and ipv4 dynamicly

Hi,

I can confirm I am experiencing the exact same issue on my end, even with the latest RouterOS 7.23rc3.

In my case, I am running on the Zefiro Net network (Italy), and in my opinion, this behavior is actually a provider-side / infrastructure routing issue rather than a pure RouterOS bug.

Here is what seems to be happening: when you toggle the lte1 interface, the ISP correctly assigns a new dynamic IPv4 and a new IPv6 prefix via SLAAC. However, the ISP's gateway fails to properly rebuild or update the routing table binding between your new IPv6 prefix and their gateway. Because the Layer-2 link technically stays alive for the router, RouterOS doesn't trigger a full renegotiation that forces the ISP to refresh the IPv6 routing paths.

Since RouterOS can't force the provider's gateway to behave, the only reliable workaround from our side is exactly what you found: resetting the LTE modem to force a clean reconnection from scratch. This forces the ISP infrastructure to rerun its full network provisioning scripts for your session.

To automate this without manually running the command every time, you can use a simple script combined with a scheduler that checks for IPv6 connectivity (e.g., pinging a reliable IPv6 host like Google DNS) and reboots the LTE chip if it fails.

# ===== CONFIG =====

:local lteName "lte1"

:local testIPv6 "2001:4860:4860::8888"

# ===== Controllo LTE running =====

:if ([:len [/interface lte find where name=$lteName and running]] = 0) do={

:log warning "LTE non running - nessuna azione."

:return 0

}

# ===== Controllo default route IPv6 =====

:if ([:len [/ipv6 route find where dst-address="::/0" and active]] = 0) do={

:log warning "Nessuna default IPv6 attiva."

:return 0

}

# ===== Test connettività IPv6 =====

:local pingResult [/ping $testIPv6 count=3]

:if ($pingResult = 0) do={

:log error "GTPv6 zombie rilevato - reset modem in corso..."

/interface lte at-chat $lteName input="AT+CFUN=1,1"

} else={

:log info "IPv6 OK - nessun reset necessario."

}

:return 0