Using starlink via dishy dualie and openwrt

I have a linksys wrt3200acm which I've installed the openwrt 22.03 on. Everything works fine when I test it in my home lab but when I install it in the RV to act as a router for the starlink (powered by the boondocker disht dualie it fails to get a dhcp ip address.

I ssh'ed into the router and put some debug echo's in the udhcpc event script and found that it was repeatedly called with the argument "leasefail". There is a very good entry here where someone else had this problem so I won't duplicate that in this post

It seems that ucdhcpc is unable to deal with the protocol/handshake used by starlink so I'd like to replace it. Has anyone else done that? Is it possible?

Note that if I reboot the router on the manufacturer's firmware it connects without a problem. So at the moment I'm stuck with that and the attendant inability to do things like install wireguard etc.

What version dishy do you have, round or the newer V2.

From what I can discern from the boondocker device, it is just a two port POE that runs on DC and supplies power to 2 devices. Shouldn’t be involved with udhcpc.

When you say “works in my lab but not in the RV”, are you duplicating lemons to lemons ie. POE device connected and powering your router/dishy via DC? Same cables?

udhcpc works as advertised here on current Snapshot on mvebu. Starlink sets a lease of 5 minutes/300 secs and, like clockwork, my router requests a new lease at half life, and without fail I get a new lease at ~2.5 minutes.

Sun Sep 17 17:15:22 2023 daemon.notice netifd: wan (4146): udhcpc: lease of obtained from, lease time 300
Sun Sep 17 17:17:52 2023 daemon.notice netifd: wan (4146): udhcpc: sending renew to server
Sun Sep 17 17:17:53 2023 daemon.notice netifd: wan (4146): udhcpc: lease of obtained from, lease time 300

I have the rectangular version of Starlink Antenna, so V2. I agree, the boondocker device has nothing whatsoever to do with dhcp, its just a poe injector. When I say it works in the "lab" I mean that the router worked when the internet port was plugged into my home lan, where it got its ip addr from my linux based firewall.
So the only variable is that the router, when running openwrt, cannot negotiate a lease with the starlink modem.
I've downloaded and provisionally configured and built the openwrt kit. I don't think udhcpc is part of it but haven't looked too far yet. I'm not averse to spending a nice afternoon in the woods somewhere debugging it :).
If anyone is interested in my logs/traces I can post them here when I get to that part of the process.

RuralRoots; I'm using image

I just downloaded

Do you think it would be worth my while to test that one?

If you want to update to 23.05.0-rc2/rc3, go ahead but I'd suggest leaving it where it is atm. A version update won’t fix the issue.

I’m curious about this. Can you expand a bit. Even better, can you make a quick diagram how your RV cabling runs from where the wire line from dishy starts? I just can not envision how you are using the POE injector to power dishy.

You still need AC to power the Starlink Router which, by design, provides all power, routing, and transport to your wireless network.

To incorporate your own router, you provide a Starlink Ethernet dongle, connect to your router wan port and then use the Starlink app to place the Starlink router into Bypass Mode. (No routing/dhcp/wifi - just powers dishy). The OOTB default OpenWrt config should just work.


1 Like

There must be some difference in the DHCP request. For example, by default OpenWrt does not supply a clientid (it can be configured to do so)-- which the Dishy may be expecting. Packet captures from the wan port of the router running the stock firmware that works would be useful. Also check that the MAC address is the same between stock and OpenWrt, sometimes it changes by one or two digits based on how "factory" MACs are allocated to multiple interfaces.

I don't know anything directly about Starlink but this is the first time I've heard of connecting a third-party router directly to a V2 Dishy. Most people are keeping the official indoor box in the system and adding the Ethernet Adapter.

What I want to do is rapidly iterate changes to busybox. I found that make restores the source from an archive in openwrt/dl/... so I rearchived my changes before the build only to find that the build checks a checksum on the archive.
I'm starting to think that this project is dead against me.
Now I have to hack the damn cheksum too...

How does this tie into the original subject?