Starlink (Bypass) on LAN4 + (bonus) QMI

Hi there,
i'm using a zte mf286d featuring OpenWrt 23.05.0.

Up to now i used it mainly to provide DHCP leases to my devices and letting them access the Internet using integrated QMI cellular interface.

Now i bought a Starlink gen2 dish + ethernet adapter and wanted to use it as main internet provider.

My current test setup:
Starlink dish <-> Starlink Router in bypass mode <-> LAN4 of MF286D
QMI WAN interface of MF286D
LAN1, LAN2, LAN3 and WiFi bridged to serve all devices.

What I've done:

  • remove LAN4 from default bridge LAN (which contains eth0, lan1, lan2, lan3)
  • create CLIENT DHCP v4 interface on LAN4, called "starlink"

Current results:

  • once "starlink" DHCP interface gets IP, Internet access to end devices stop working
  • if i reset QMI interface it works again (using QMI)
  • accessing OpenWRT shell seems it always have internet access, no matter if only QMI, only Starlink or both active

goals:

  • using LAN4/Starlink as actual WAN
  • (bonus) using QMI as fallback in case LAN4 (Starlink) fails

Next steps?
seems I've to either create new WAN including just "starlink" or LAN4 but unsure if my hardware is capable to.

alternatively seems i have to mess up with VLAN and routing tables but no clue on how to start.

below my nework configuration:


config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdbb:c1b7:f4d0::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'wan'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.199.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'wan'
	option device '/dev/cdc-wdm0'
	option proto 'qmi'
	option auth 'none'
	option apn 'web.omnitel.it'
	option dhcp '0'

config device
	option name 'wan'
	option macaddr 'D4:72:26:B4:B1:8A'

config interface 'starlink'
	option proto 'dhcp'
	option device 'lan4'

config device
	option type 'bridge'
	option name 'bridge_wan_star'
	list ports 'lan4'
	list ports 'wan'


Any reason you include the eth0 device in the bridge instead of using that as the upstream? Presumably it corresponds to a physical port marked "WAN" on the router.

Assuming that, and that you no longer need to use the cellular interface as upstream, you can drastically simplify things:

  • Delete the starlink interface (and associated firewall zone if any).
  • Remove eth0 from the bridge.
  • Change the wan interface to only contain the eth0 device.
  • Make wan a DHCP client interface.
  • Connect the Starlink router cable to the port that corresponds to eth0, presumably "WAN".
  • Make sure there aren't any funky empty firewall rules left after all this, I've seen luci do this when removing interfaces.

At this point you should be set with starlink as IPv4 upstream. If this all works, next step is to create a wan6 interface for starlink IPv6, but let's get IPv4 working first.

Edit: For using cellular as a fallback, see mwan3. But again let's get the primary bits working first.

and maybe take the opportunity to upgrade to latest 23.05.3

You didn't add startlink to the "wan" firewall zone, so no NAT happens and that's why it clients can't communicate.

So, you think just adding "starlink" interface to "wan" firewall zone would solve?
i'll try out ^^

Hi, thanks for your inputs.

No, this router is basically a 4g/LTE CAT12 router with no WAN-labelled RJ45 port.
there are just LAN1, LAN2, LAN3, LAN4, phone1, phone2 RJ11s

I assume "eth0" is LAN1, "lan2" is LAN2, "lan3" is LAN3 and "lan4" is LAN4.

not sure what physically corresponds "wan" interface, maybe it's just logical.

also i miss how "wan" is cross-connected to "wwan" (QMI / LTE interface).

image

not sure about the part " * Change the wan interface to only contain the eth0 device" as 'wan' interface seems can't be changed in any fashion, 'device type' and 'existing device' are greyed out

update:
seems that if i remove 'eth0' from bridge, then connect Starlink dish to LAN1, create LAN1 device as DHCP Client, it gets no IP.

returning using LAN4 (same steps: remove LAN4 from bridge, create LAN4 network device, create LAN4 device as DHCP client, assign WAN firewall zone) it gets IP correctly

seems i've some limitations on L2 switching/routing due to hardware on this device (ZTE MF286D) but on same house i can use another OpenWRT device (TP-LINK Archer C7 v4)

update: seems that using WiFi with current configuration (pasted below) i've SL connectivity (but i have to stop cellular first)
instead LAN connectivity seems dead.


config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdbb:c1b7:f4d0::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'wan'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.199.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'wan'
	option device '/dev/cdc-wdm0'
	option proto 'qmi'
	option auth 'none'
	option apn 'web.omnitel.it'
	option dhcp '0'

config device
	option name 'wan'
	option macaddr 'D4:72:26:B4:B1:8A'

config device
	option name 'lan4'
	option macaddr 'D4:72:BB:A1:B3:C3'

config interface 'SL'
	option proto 'dhcp'
	option device 'lan4'


Are you sure that "LAN1" is not referred as "wan" in OpenWrt?

Don't add eth0 as a port to the bridge - it will only cause issue.

Install 23.05.3, do not keep your previous settings.
Use the following network config without changes:


config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdbb:c1b7:f4d0::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.199.1'
	option netmask '255.255.255.0'

config interface 'wan'
	option device 'wan'
	option proto 'dhcp'

config interface 'lte'
	option proto 'qmi'
	option device '/dev/cdc-wdm0'
	option apn 'web.omnitel.it'
	option pdptype 'ip'
	option dhcp '0'


Go to lte interface configuration in Luci and assign it to wan firewall zone.
Connect your other router (Starlink) to the most left Ethernet port marked "WAN/LAN1".

After it works, you can configure MWAN as recommended earlier.

2 Likes

If you're not using mwan3, the last wan-like interface that comes up will effectively be the default route. To avoid this contention, shut down the LTE when using Starlink and vise versa.

I don't know how the DSA ports are named on this model. The best thing to do is start with the default configuration and just choose one to remove from the bridge and use separately. It does not matter which one, they are all equivalent. Usually when the ports are named "lanX", the entity named "eth0" is an internal connection between the CPU and the switch and should not be referenced in a user configuration. But if it is in the default configuration, leave it.

1 Like

Working as expected after upgrading, restoring to default settings and apply these ones.
I tried also to just apply settings on previous configuration but result was different and not as expected.
Indeed a factory reset seems mandatory in case of major changes on wan interfaces and also in case of dist-updates.

Next i'll try to manage mwan working but for now i'm enjoying Starlink network across my home network.

thank you!