MikroTik hAP ax lite LTE6¶
Product code: L41G-2axD&FG621-EA
This router can run off USB-C 5V power, Micro SIM (no eSIM support) and provides all the features of RouterOS.
While it's not the fastest (up to 300 Mbit on LTE, WiFi 6 on 2.4GHz only) it's more than enough for my use case, where I needed a remote device connected to WireGuard.
LTE IPv6¶
Getting IPv6 over LTE to work is fairly easy, as long as you're aware of the "Use Network APN" bug.
To enable IPv6, first go to IPv6 > Settings. Make sure that "Disable IPv6" is unchecked and set "Accept Router Advertisements" to Yes.
Next, go to Interfaces > LTE tab > LTE APNs and select your APN profile (usually the default). Here, ensure that "Use Network APN" is unchecked (this is important on this model). Set the "IPv6 interface" to your LAN bridge (or whatever your LAN is, unless you want to passthrough instead).
Bugs¶
IPv6 broken when using IP type "auto"¶
The user killersoft on the MikroTik Forums discovered something interesting. RouterOS handles the FG621 EA LTE modem differently, and accidentally makes "auto" be IPv4 only if a certain checkbox is checked.
Fortunately, the fix is simple, but you need to know the correct APN name for your provider. This is important.
The "Use Network APN" option, which automatically detects your APN name, will send just "IP" as the PDP type when checked, and "IPV4V6" when unchecked. We want "IPV4V6" for dual stack support.
You can easily check if this is fixed in your firmware by running the following command in your console:
Example output with the correct IPV4V6 set:
[mths@L41G-2axD&FG621-EA] > /interface/lte/at-chat input="AT+CGDCONT?" number="0"
output: +CGDCONT: 0,"IPV4V6","internet","100.116.22.24,::78ac:4785:5bc9:8fec",0,0,0,0
+CGDCONT: 1,"IPV4V6","internet","100.116.22.24,::78ac:4785:5bc9:8fec",0,0,0,0
+CGDCONT: 2,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 3,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 4,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 5,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 6,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 7,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 8,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 9,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 10,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 11,"IPV4V6","IMS","0.0.0.0,::",0,0,0,0
OK
And if its IPv4 only:
[mths@L41G-2axD&FG621-EA] > /interface/lte/at-chat input="AT+CGDCONT?" number="0"
output: +CGDCONT: 0,"IP","internet","100.116.22.24",0,0,0,0
+CGDCONT: 1,"IP","internet","100.116.22.24",0,0,0,0
+CGDCONT: 2,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 3,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 4,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 5,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 6,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 7,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 8,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 9,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 10,"IPV4V6","","0.0.0.0,::",0,0,0,0
+CGDCONT: 11,"IPV4V6","IMS","0.0.0.0,::",0,0,0,0
OK