Community discussions

MikroTik App
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Starlink Packet Loss Troubleshooting

Thu Jan 23, 2025 5:31 pm

I'm getting frustrating amounts of packet loss when pinging my ISP IP through my router. My ISP is Starlink with the Starlink router in bypass mode. It seems that every 5-10 mins, I get timeouts for about 30s or so when pinging my Starlink router in bypass mode. Currently have a 7% packet loss rate for 2160 pings. I'm not sure where to start troubleshooting now that I have the packet loss info.

So far, I checked that there is absolutely no packet loss from my computer to my router via WiFi. And I've tried with multiple ethernet cables, still seeing the same amount of packet loss.

Here is my configuration, does anything seem off?
# 2025-01-23 07:20:53 by RouterOS 7.17
# software id = 00ZD-BEYQ
#
# model = C53UiG+5HPaxD2HPaxD
# serial number = xxxx
/interface bridge
add admin-mac=F4:1E:57:4F:27:D9 auto-mac=no comment=defconf name=bridge
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wifi channel
add comment="stick to lowest bands" disabled=no frequency=5180 name=channel5GHz width=20/40/80mhz
add disabled=no frequency=2412,2427,2452 name=channel2GHz width=20mhz
/interface wifi security
add authentication-types=wpa2-psk,wpa3-psk disable-pmkid=yes disabled=no name=sec1
/interface wifi
set [ find default-name=wifi2 ] channel=channel2GHz channel.skip-dfs-channels=10min-cac \
    configuration.country="United States" .mode=ap .ssid=OnlyGoodIdea disabled=no name=wi2.4GHz \
    security=sec1 security.authentication-types=wpa2-psk,wpa3-psk .connect-priority=0/1 .ft=yes \
    .ft-over-ds=yes
set [ find default-name=wifi1 ] channel=channel5GHz channel.skip-dfs-channels=10min-cac \
    configuration.country="United States" .mode=ap .ssid=OnlyGoodIdea disabled=no name=wi5GHz \
    security=sec1 security.authentication-types=wpa2-psk,wpa3-psk .connect-priority=0 .ft=yes \
    .ft-over-ds=yes
/ip pool
add name=dhcp ranges=10.0.0.70-10.0.0.254
/ip dhcp-server
add address-pool=dhcp interface=bridge name=defconf
/disk settings
set auto-media-interface=bridge auto-media-sharing=yes auto-smb-sharing=yes
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=wi5GHz
add bridge=bridge comment=defconf interface=wi2.4GHz
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/ip address
add address=10.0.0.1/24 comment=defconf interface=bridge network=10.0.0.0
/ip dhcp-client
add comment=defconf interface=ether1
/ip dhcp-server network
add address=10.0.0.0/24 comment=defconf dns-server=10.0.0.1 gateway=10.0.0.1 netmask=24
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1
/ip dns static
add address=10.0.0.1 comment=defconf name=router.lan type=A
/ip firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" \
    connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" \
    dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=\
    !LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=\
    established,related hw-offload=yes
add action=accept chain=forward comment="defconf: accept established,related, untracked" \
    connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" \
    connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none \
    out-interface-list=WAN
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" \
    connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" dst-port=33434-33534 \
    protocol=udp
add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." \
    dst-port=546 protocol=udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=input comment="defconf: accept all that matches ipsec policy" \
    ipsec-policy=in,ipsec
add action=drop chain=input comment="defconf: drop everything else not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept established,related,untracked" \
    connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop packets with bad src ipv6" src-address-list=\
    bad_ipv6
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=\
    bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 \
    protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=forward comment="defconf: accept all that matches ipsec policy" \
    ipsec-policy=in,ipsec
add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" \
    in-interface-list=!LAN
/system clock
set time-zone-name=America/Los_Angeles
/system logging
add disabled=yes topics=wireless,debug
add topics=wireless,debug,critical
/system note
set show-at-login=no
/system routerboard mode-button
set enabled=yes on-event=dark-mode
/system routerboard wps-button
set enabled=yes on-event=wps-accept
/system script
add comment=defconf dont-require-permissions=no name=dark-mode owner=*sys policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\r\
    \n   :if ([system leds settings get all-leds-off] = \"never\") do={\r\
    \n     /system leds settings set all-leds-off=immediate \r\
    \n   } else={\r\
    \n     /system leds settings set all-leds-off=never \r\
    \n   }\r\
    \n "
add comment=defconf dont-require-permissions=no name=wps-accept owner=*sys policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\r\
    \n   :foreach iface in=[/interface/wifi find where (configuration.mode=\"ap\" && disabled=no)]\
    \_do={\r\
    \n     /interface/wifi wps-push-button \$iface;}\r\
    \n "
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Re: Starlink Packet Loss Troubleshooting

Thu Jan 23, 2025 5:34 pm

Oh also just wanted to note that I specifically set the lower channel bands for 5GHz because I live remotely (hence Starlink) so there is no other wifi interference, and my clients were having trouble connecting to the higher bands that Mikrotik seems to default to.
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Re: Starlink Packet Loss Troubleshooting

Thu Jan 23, 2025 6:52 pm

After doing some reading on the internet, it might be timing out because of latency rules? Starlink does experience high latency events because of the satellite connection.
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Re: Starlink Packet Loss Troubleshooting

Thu Jan 23, 2025 8:27 pm

Does anyone have any ideas I can try out? My internet is basically unusable for work. Calls are getting interrupted every 5ish minutes, I could really use some help/advice
 
User avatar
k6ccc
Forum Guru
Forum Guru
Posts: 1601
Joined: Fri May 13, 2016 12:01 am
Location: Glendora, CA, USA (near Los Angeles)
Contact:

Re: Starlink Packet Loss Troubleshooting

Fri Jan 24, 2025 4:48 am

As I recall, the Starlink app will give you a lot of information on the Starlink portion of the hop. Start with that.
No, I do not have Starlink, but a couple friends do and I have seen them showing off the app.
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Re: Starlink Packet Loss Troubleshooting

Fri Jan 24, 2025 5:26 am

This is the debug JSON I pulled from the Starlink app
{
  "app": {
    "app": {
      "version": "2025.01.1",
      "nodeEnv": "production",
      "build": "2000009962",
      "hash": "",
      "timestamp": 1737054884
    },
    "settings": {
      "isDark": true
    },
    "isAuthenticated": true,
    "accountNumber": "xxx",
    "baseDomain": "starlink.com",
    "device": {
      "os": "android",
      "osVersion": "34",
      "name": "andromeda",
      "model": "SM-S911U",
      "memory": 7399706624,
      "deviceId": "dm1qsqw",
      "sensors": {}
    },
    "network": {
      "type": "WIFI",
      "connected": true,
      "vpnActive": false,
      "ipAddress": "10.0.0.243",
      "gatewayIp": "10.0.0.1"
    },
    "permissions": {
      "localNetwork": true
    }
  },
  "dish": {
    "service": {
      "isCloud": false,
      "apiVersion": 29,
      "host": "192.168.100.1:9200"
    },
    "rawStatus": {
      "secondsToFirstNonemptySlot": 0,
      "popPingDropRate": 0,
      "downlinkThroughputBps": 6434.0625,
      "uplinkThroughputBps": 25216.15625,
      "popPingLatencyMs": 34.45158004760742,
      "stowRequested": false,
      "boresightAzimuthDeg": 31.66162872314453,
      "boresightElevationDeg": 70.8632583618164,
      "ethSpeedMbps": 1000,
      "mobilityClass": 0,
      "isSnrAboveNoiseFloor": true,
      "classOfService": 0,
      "softwareUpdateState": 1,
      "swupdateRebootReady": false,
      "rebootReason": 0,
      "isSnrPersistentlyLow": false,
      "hasActuators": 2,
      "disablementCode": 1,
      "hasSignedCals": true,
      "isCellDisabled": false,
      "secondsUntilSwupdateRebootPossible": -1,
      "highPowerTestMode": false,
      "connectedRouters": [
        "Router-01000000000000000115EDAE"
      ],
      "isMovingFastPersisted": false,
      "deviceInfo": {
        "id": "ut10680682-01e16d1b-58c6f17e",
        "hardwareVersion": "rev4_catapult_proto1",
        "boardRev": 0,
        "softwareVersion": "2025.01.10.mr47961.1",
        "manufacturedVersion": "",
        "generationNumber": "1736880961",
        "countryCode": "US",
        "utcOffsetS": -25199,
        "softwarePartitionsEqual": false,
        "isDev": false,
        "bootcount": 19,
        "antiRollbackVersion": 0,
        "isHitl": false,
        "dishCohoused": false,
        "buildId": "7046351c-be8d-4f57-a475-7c0485a04ee8.uterm_catapult_manifest.release"
      },
      "deviceState": {
        "uptimeS": "168535"
      },
      "obstructionStats": {
        "currentlyObstructed": false,
        "fractionObstructed": 0.001017500995658338,
        "timeObstructed": 0.000012702346793957986,
        "validS": 168472,
        "patchesValid": 4914,
        "avgProlongedObstructionDurationS": 0,
        "avgProlongedObstructionIntervalS": null,
        "avgProlongedObstructionValid": false
      },
      "alerts": {
        "motorsStuck": false,
        "thermalThrottle": false,
        "thermalShutdown": false,
        "mastNotNearVertical": false,
        "unexpectedLocation": false,
        "slowEthernetSpeeds": false,
        "slowEthernetSpeeds100": false,
        "roaming": false,
        "installPending": false,
        "isHeating": false,
        "powerSupplyThermalThrottle": false,
        "isPowerSaveIdle": false,
        "movingWhileNotMobile": false,
        "movingTooFastForPolicy": false,
        "dbfTelemStale": false,
        "lowMotorCurrent": false,
        "lowerSignalThanPredicted": false,
        "obstructionMapReset": false
      },
      "gpsStats": {
        "gpsValid": true,
        "gpsSats": 16,
        "noSatsAfterTtff": false,
        "inhibitGps": false
      },
      "readyStates": {
        "cady": false,
        "scp": true,
        "l1L2": true,
        "xphy": true,
        "aap": true,
        "rf": true
      },
      "softwareUpdateStats": {
        "softwareUpdateState": 1,
        "softwareUpdateProgress": 0,
        "updateRequiresReboot": false
      },
      "alignmentStats": {
        "hasActuators": 2,
        "actuatorState": 0,
        "tiltAngleDeg": 17.166296005249023,
        "boresightAzimuthDeg": 31.66162872314453,
        "boresightElevationDeg": 70.8632583618164,
        "desiredBoresightAzimuthDeg": -0.035712260752916336,
        "desiredBoresightElevationDeg": 64.10040283203125,
        "attitudeEstimationState": 2,
        "attitudeUncertaintyDeg": 1.6664295196533203
      },
      "initializationDurationSeconds": {
        "attitudeInitialization": 32,
        "burstDetected": 32,
        "ekfConverged": 32,
        "firstCplane": 45,
        "firstPopPing": 60,
        "gpsValid": 31,
        "initialNetworkEntry": 42,
        "networkSchedule": 57,
        "rfReady": 31,
        "stableConnection": 1
      },
      "plcStats": {
        "receivingPlc": false,
        "averageTimeToEmpty": 0,
        "averageTimeToFull": 0,
        "batteryHealth": 0,
        "hardwareRevisionId": 0,
        "permanentFailure": false,
        "plcRevision": 0,
        "safetyModeActive": false,
        "stateOfCharge": 0,
        "thermalThrottleLevel": 0,
        "port1Stats": {
          "power": 0,
          "status": 0
        },
        "port2Stats": {
          "power": 0,
          "status": 0
        },
        "port3Stats": {
          "power": 0,
          "status": 0
        }
      },
      "upsuStats": {
        "appVersion": "0",
        "bootVersion": "0",
        "romVersion": "0",
        "uptime": "0",
        "dishPower": 0,
        "routerPower": 0
      },
      "config": {
        "snowMeltMode": 0,
        "applySnowMeltMode": true,
        "locationRequestMode": 0,
        "applyLocationRequestMode": true,
        "levelDishMode": 0,
        "applyLevelDishMode": true,
        "powerSaveStartMinutes": 0,
        "applyPowerSaveStartMinutes": true,
        "powerSaveDurationMinutes": 0,
        "applyPowerSaveDurationMinutes": true,
        "powerSaveMode": false,
        "applyPowerSaveMode": true,
        "swupdateThreeDayDeferralEnabled": false,
        "applySwupdateThreeDayDeferralEnabled": true,
        "assetClass": 0,
        "applyAssetClass": true
      }
    },
    "timestamp": 1737662770084,
    "reachable": true,
    "apiVersion": 29,
    "hardwareVersion": "v4"
  },
  "router": {
    "service": {
      "isCloud": false,
      "host": "10.0.0.1:9005"
    },
    "reachable": false,
    "hardwareVersion": "v3"
  },
  "lastConnectedDishes": {
    "ut01000000-00000000-000a0f13": {
      "service": {
        "isCloud": false,
        "apiVersion": 29,
        "host": "192.168.100.1:9200"
      },
      "rawStatus": {
        "secondsToFirstNonemptySlot": 0,
        "popPingDropRate": 0,
        "downlinkThroughputBps": 53754.19921875,
        "uplinkThroughputBps": 30333.20703125,
        "popPingLatencyMs": 25.3645076751709,
        "stowRequested": false,
        "boresightAzimuthDeg": -2.0369818210601807,
        "boresightElevationDeg": 64.2486572265625,
        "ethSpeedMbps": 1000,
        "mobilityClass": 0,
        "isSnrAboveNoiseFloor": true,
        "classOfService": 0,
        "softwareUpdateState": 1,
        "swupdateRebootReady": false,
        "rebootReason": 0,
        "isSnrPersistentlyLow": false,
        "hasActuators": 0,
        "disablementCode": 1,
        "hasSignedCals": true,
        "isCellDisabled": false,
        "secondsUntilSwupdateRebootPossible": -1,
        "highPowerTestMode": false,
        "connectedRouters": [
          "Router-0100000000000000001F37F9"
        ],
        "isMovingFastPersisted": false,
        "deviceInfo": {
          "id": "ut01000000-00000000-000a0f13",
          "hardwareVersion": "rev3_proto2",
          "boardRev": 0,
          "softwareVersion": "2024.12.28.mr47554.3",
          "manufacturedVersion": "",
          "generationNumber": "1736280490",
          "countryCode": "US",
          "utcOffsetS": -25199,
          "softwarePartitionsEqual": false,
          "isDev": false,
          "bootcount": 198,
          "antiRollbackVersion": 0,
          "isHitl": false,
          "dishCohoused": false,
          "buildId": "729bfb05-8e38-4857-9092-cb2d6955b5d7.uterm_manifest.release"
        },
        "deviceState": {
          "uptimeS": "18118"
        },
        "obstructionStats": {
          "currentlyObstructed": false,
          "fractionObstructed": 0.010636079125106335,
          "timeObstructed": 0.00001663684997765813,
          "validS": 18032,
          "patchesValid": 4795,
          "avgProlongedObstructionDurationS": 0,
          "avgProlongedObstructionIntervalS": null,
          "avgProlongedObstructionValid": false
        },
        "alerts": {
          "motorsStuck": false,
          "thermalThrottle": false,
          "thermalShutdown": false,
          "mastNotNearVertical": false,
          "unexpectedLocation": false,
          "slowEthernetSpeeds": false,
          "slowEthernetSpeeds100": false,
          "roaming": false,
          "installPending": false,
          "isHeating": false,
          "powerSupplyThermalThrottle": false,
          "isPowerSaveIdle": false,
          "movingWhileNotMobile": false,
          "movingTooFastForPolicy": false,
          "dbfTelemStale": false,
          "lowMotorCurrent": false,
          "lowerSignalThanPredicted": false,
          "obstructionMapReset": false
        },
        "gpsStats": {
          "gpsValid": true,
          "gpsSats": 12,
          "noSatsAfterTtff": false,
          "inhibitGps": false
        },
        "readyStates": {
          "cady": true,
          "scp": true,
          "l1L2": true,
          "xphy": true,
          "aap": true,
          "rf": true
        },
        "softwareUpdateStats": {
          "softwareUpdateState": 1,
          "softwareUpdateProgress": 1,
          "updateRequiresReboot": false
        },
        "alignmentStats": {
          "hasActuators": 0,
          "actuatorState": 0,
          "tiltAngleDeg": 25.55585479736328,
          "boresightAzimuthDeg": -2.0369818210601807,
          "boresightElevationDeg": 64.2486572265625,
          "desiredBoresightAzimuthDeg": -0.010688328184187412,
          "desiredBoresightElevationDeg": 65.050048828125,
          "attitudeEstimationState": 2,
          "attitudeUncertaintyDeg": 0.4923645257949829
        },
        "initializationDurationSeconds": {
          "attitudeInitialization": 51,
          "burstDetected": 50,
          "ekfConverged": 51,
          "firstCplane": 54,
          "firstPopPing": 80,
          "gpsValid": 27,
          "initialNetworkEntry": 51,
          "networkSchedule": 65,
          "rfReady": 37,
          "stableConnection": 9
        },
        "plcStats": {
          "receivingPlc": false,
          "averageTimeToEmpty": 0,
          "averageTimeToFull": 0,
          "batteryHealth": 0,
          "hardwareRevisionId": 0,
          "permanentFailure": false,
          "plcRevision": 0,
          "safetyModeActive": false,
          "stateOfCharge": 0,
          "thermalThrottleLevel": 0,
          "port1Stats": {
            "power": 0,
            "status": 0
          },
          "port2Stats": {
            "power": 0,
            "status": 0
          },
          "port3Stats": {
            "power": 0,
            "status": 0
          }
        },
        "upsuStats": {
          "appVersion": "0",
          "bootVersion": "0",
          "romVersion": "0",
          "uptime": "0",
          "dishPower": 0,
          "routerPower": 0
        },
        "config": {
          "snowMeltMode": 0,
          "applySnowMeltMode": true,
          "locationRequestMode": 0,
          "applyLocationRequestMode": true,
          "levelDishMode": 0,
          "applyLevelDishMode": true,
          "powerSaveStartMinutes": 0,
          "applyPowerSaveStartMinutes": true,
          "powerSaveDurationMinutes": 0,
          "applyPowerSaveDurationMinutes": true,
          "powerSaveMode": false,
          "applyPowerSaveMode": true,
          "swupdateThreeDayDeferralEnabled": false,
          "applySwupdateThreeDayDeferralEnabled": true,
          "assetClass": 0,
          "applyAssetClass": true
        }
      },
      "timestamp": 1736607983243,
      "reachable": true,
      "apiVersion": 29,
      "hardwareVersion": "v3"
    }
  },
  "lastConnectedRouters": {
    "Router-01000000000000000115EDAE": {
      "service": {
        "isCloud": false,
        "apiVersion": 83,
        "host": "192.168.1.1:9005"
      },
      "rawStatus": {
        "captivePortalEnabled": false,
        "ipv4WanAddress": "100.82.12.88/10",
        "ipv6WanAddresses": [
          "2605:59c0:4100:d818:7624:9fff:fe95:edae/64",
          "fe80::7624:9fff:fe95:edae/64"
        ],
        "pingDropRate": 0,
        "pingDropRate5M": 0,
        "pingLatencyMs": 41.39550018310547,
        "dishPingDropRate": 0,
        "dishPingDropRate5M": 0,
        "dishPingLatencyMs": 0.4644210636615753,
        "popPingDropRate": 0,
        "popPingDropRate5M": 0,
        "popPingLatencyMs": 30.433500289916992,
        "popIpv6PingDropRate": 0,
        "popIpv6PingDropRate5M": 0,
        "popIpv6PingLatencyMs": 42.16600036621094,
        "isAviation": false,
        "clients": [
          {
            "name": "",
            "givenName": "",
            "domain": "lan",
            "ipAddress": "192.168.1.146",
            "dhcpLeaseFound": true,
            "dhcpLeaseActive": true,
            "dhcpLeaseRenewed": true,
            "secondsUntilDhcpLeaseExpires": 2754.0234375,
            "ipv6Addresses": [],
            "channelWidth": 20,
            "rxStatsValid": true,
            "txStatsValid": true,
            "associatedTimeS": 193084,
            "noDataIdleS": 23,
            "modeStr": "",
            "iface": 3,
            "ifaceName": "rax0",
            "snr": 39,
            "psmode": 1,
            "role": 1,
            "deviceId": "",
            "swqChecks": 0,
            "swqChecksNonEmpty": 0,
            "mibSteerState": 0,
            "mibSteerMethod": 0,
            "btmRequests": 0,
            "btmRequestsSuccess": 0,
            "steerState": 2,
            "steerReqSuccessLast1H": 0,
            "steerReqFailLast1H": 0,
            "steerReqFailAndDissocLast1H": 0,
            "dot11VSupport": false,
            "hopsFromController": 1,
            "estTxRateMbpsFromController": 0,
            "estRxRateMbpsFromController": 0,
            "hardwareVersion": "",
            "softwareVersion": "",
            "apiVersion": 0,
            "blocked": false,
            "clientId": 1646879661,
            "captiveClientId": "ad632962d5d682f719633b17942c59df17e3dc728308899244dce912b8132396",
            "rxStats": {
              "bytes": "35274877",
              "countErrors": "0",
              "phyMode": 4,
              "nss": 2,
              "rateMbps": 115,
              "rateMbpsLast30S": 115,
              "rateMbpsLast15S": 115,
              "rateMbpsLast1MAvg": 115,
              "throughputMbpsLast1MAvg": 0,
              "mcs": 5,
              "bandwidth": 20,
              "guardNs": 400,
              "airtimeFractionLast1S": 0,
              "sampledPackets": 0,
              "sampledPacketsRetried": 0,
              "sampledPacketsDropped": 0
            },
            "txStats": {
              "bytes": "3066410",
              "successBytes": "0",
              "phyMode": 4,
              "nss": 2,
              "rateMbps": 117,
              "rateMbpsLast30S": 128.58621215820312,
              "rateMbpsLast15S": 117,
              "mcs": 6,
              "bandwidth": 20,
              "guardNs": 800,
              "airtimeFractionLast1S": 0
            },
            "alerts": {
              "throughputLimited": false
            },
            "signalStrength": -55,
            "macAddress": "1c:45:86:xx:xx:xx",
            "upstreamMacAddress": "74:24:9f:a5:ed:ae",
            "isMyClient": false
          },
          {
            "name": "",
            "givenName": "themistress",
            "domain": "lan",
            "ipAddress": "",
            "dhcpLeaseFound": false,
            "dhcpLeaseActive": false,
            "dhcpLeaseRenewed": false,
            "secondsUntilDhcpLeaseExpires": 0,
            "ipv6Addresses": [
              "2605:59c0:41f6:b910:a904:7447:77bc:df25",
              "fe80::5fc1:c08e:31ec:e66a",
              "2605:59c0:41f6:b910::1c9",
              "fdc4:a892:6997:10::1c9"
            ],
            "channelWidth": 0,
            "rxStatsValid": false,
            "txStatsValid": false,
            "associatedTimeS": 0,
            "noDataIdleS": 0,
            "modeStr": "",
            "iface": 1,
            "ifaceName": "",
            "snr": 0,
            "psmode": 0,
            "role": 1,
            "deviceId": "",
            "swqChecks": 0,
            "swqChecksNonEmpty": 0,
            "mibSteerState": 0,
            "mibSteerMethod": 0,
            "btmRequests": 0,
            "btmRequestsSuccess": 0,
            "steerState": 0,
            "steerReqSuccessLast1H": 0,
            "steerReqFailLast1H": 0,
            "steerReqFailAndDissocLast1H": 0,
            "dot11VSupport": false,
            "hopsFromController": 1,
            "estTxRateMbpsFromController": 0,
            "estRxRateMbpsFromController": 0,
            "hardwareVersion": "",
            "softwareVersion": "",
            "apiVersion": 0,
            "blocked": false,
            "clientId": 1397983453,
            "captiveClientId": "dd885353616f7bac93105b64a8d8223a4d903ee234161421fdbb2466a82d0fd1",
            "rxStats": {
              "bytes": "0",
              "countErrors": "0",
              "phyMode": 0,
              "nss": 0,
              "rateMbps": 0,
              "rateMbpsLast30S": 0,
              "rateMbpsLast15S": 0,
              "rateMbpsLast1MAvg": 0,
              "throughputMbpsLast1MAvg": 0,
              "mcs": 0,
              "bandwidth": 0,
              "guardNs": 0,
              "airtimeFractionLast1S": 0,
              "sampledPackets": 0,
              "sampledPacketsRetried": 0,
              "sampledPacketsDropped": 0
            },
            "txStats": {
              "bytes": "0",
              "successBytes": "0",
              "phyMode": 0,
              "nss": 0,
              "rateMbps": 0,
              "rateMbpsLast30S": 0,
              "rateMbpsLast15S": 0,
              "mcs": 0,
              "bandwidth": 0,
              "guardNs": 0,
              "airtimeFractionLast1S": 0
            },
            "alerts": {
              "throughputLimited": false
            },
            "signalStrength": 0,
            "macAddress": "2c:cf:67:xx:xx:xx",
            "upstreamMacAddress": "74:24:9f:a5:ed:ae",
            "isMyClient": false
          },
          {
            "name": "Controller",
            "givenName": "",
            "domain": "",
            "ipAddress": "",
            "dhcpLeaseFound": false,
            "dhcpLeaseActive": false,
            "dhcpLeaseRenewed": false,
            "secondsUntilDhcpLeaseExpires": 0,
            "ipv6Addresses": [],
            "channelWidth": 0,
            "rxStatsValid": false,
            "txStatsValid": false,
            "associatedTimeS": 0,
            "noDataIdleS": 0,
            "modeStr": "",
            "iface": 1,
            "ifaceName": "",
            "snr": 0,
            "psmode": 0,
            "role": 3,
            "deviceId": "Router-01000000000000000115EDAE",
            "swqChecks": 0,
            "swqChecksNonEmpty": 0,
            "mibSteerState": 0,
            "mibSteerMethod": 0,
            "btmRequests": 0,
            "btmRequestsSuccess": 0,
            "steerState": 0,
            "steerReqSuccessLast1H": 0,
            "steerReqFailLast1H": 0,
            "steerReqFailAndDissocLast1H": 0,
            "dot11VSupport": false,
            "hopsFromController": 0,
            "estTxRateMbpsFromController": 0,
            "estRxRateMbpsFromController": 0,
            "hardwareVersion": "",
            "softwareVersion": "",
            "apiVersion": 0,
            "blocked": false,
            "clientId": 0,
            "captiveClientId": "",
            "rxStats": {
              "bytes": "0",
              "countErrors": "0",
              "phyMode": 0,
              "nss": 0,
              "rateMbps": 0,
              "rateMbpsLast30S": 0,
              "rateMbpsLast15S": 0,
              "rateMbpsLast1MAvg": 0,
              "throughputMbpsLast1MAvg": 0,
              "mcs": 0,
              "bandwidth": 0,
              "guardNs": 0,
              "airtimeFractionLast1S": 0,
              "sampledPackets": 0,
              "sampledPacketsRetried": 0,
              "sampledPacketsDropped": 0
            },
            "txStats": {
              "bytes": "0",
              "successBytes": "0",
              "phyMode": 0,
              "nss": 0,
              "rateMbps": 0,
              "rateMbpsLast30S": 0,
              "rateMbpsLast15S": 0,
              "mcs": 0,
              "bandwidth": 0,
              "guardNs": 0,
              "airtimeFractionLast1S": 0
            },
            "signalStrength": 0,
            "macAddress": "74:24:9f:a5:ed:ae",
            "upstreamMacAddress": "",
            "isMyClient": false
          },
          {
            "name": "Mac",
            "givenName": "",
            "domain": "lan",
            "ipAddress": "192.168.1.93",
            "dhcpLeaseFound": true,
            "dhcpLeaseActive": true,
            "dhcpLeaseRenewed": true,
            "secondsUntilDhcpLeaseExpires": 2761.14306640625,
            "ipv6Addresses": [
              "2605:59c0:41f6:b910::23e",
              "fdc4:a892:6997:10:144c:3404:4dae:e64c",
              "fe80::492:7d3f:ee86:7f0",
              "2605:59c0:41f6:b910:d951:6ffc:68b6:3b32",
              "fe80::1824:d556:5913:3222"
            ],
            "channelWidth": 80,
            "rxStatsValid": true,
            "txStatsValid": true,
            "associatedTimeS": 96870,
            "noDataIdleS": 0,
            "modeStr": "",
            "iface": 4,
            "ifaceName": "rai0",
            "snr": 56,
            "psmode": 1,
            "role": 1,
            "deviceId": "",
            "swqChecks": 0,
            "swqChecksNonEmpty": 0,
            "mibSteerState": 0,
            "mibSteerMethod": 0,
            "btmRequests": 0,
            "btmRequestsSuccess": 0,
            "steerState": 2,
            "steerReqSuccessLast1H": 0,
            "steerReqFailLast1H": 0,
            "steerReqFailAndDissocLast1H": 0,
            "dot11VSupport": true,
            "hopsFromController": 1,
            "estTxRateMbpsFromController": 0,
            "estRxRateMbpsFromController": 0,
            "hardwareVersion": "",
            "softwareVersion": "",
            "apiVersion": 0,
            "blocked": false,
            "clientId": 3613444079,
            "captiveClientId": "efc760d7bf8cfd419eaab26a564a81dbbf309c77506aca4f168a755aecc96b80",
            "rxStats": {
              "bytes": "13347926227",
              "countErrors": "0",
              "phyMode": 8,
              "nss": 2,
              "rateMbps": 1201,
              "rateMbpsLast30S": 1130.17236328125,
              "rateMbpsLast15S": 1183.7142333984375,
              "rateMbpsLast1MAvg": 911.8421020507812,
              "throughputMbpsLast1MAvg": 0.035087719559669495,
              "mcs": 11,
              "bandwidth": 80,
              "guardNs": 800,
              "airtimeFractionLast1S": 0,
              "sampledPackets": 0,
              "sampledPacketsRetried": 0,
              "sampledPacketsDropped": 0
            },
            "txStats": {
              "bytes": "672565127",
              "successBytes": "0",
              "phyMode": 1,
              "nss": 1,
              "rateMbps": 24,
              "rateMbpsLast30S": 285.5862121582031,
              "rateMbpsLast15S": 61.42856979370117,
              "mcs": 4,
              "bandwidth": 80,
              "guardNs": 800,
              "airtimeFractionLast1S": 0
            },
            "alerts": {
              "throughputLimited": false
            },
            "signalStrength": -32,
            "macAddress": "a2:fb:b2:xx:xx:xx",
            "upstreamMacAddress": "74:24:9f:a5:ed:ae",
            "isMyClient": false
          },
          {
            "name": "Lucys-MBP-2",
            "givenName": "",
            "domain": "lan",
            "ipAddress": "192.168.1.50",
            "dhcpLeaseFound": true,
            "dhcpLeaseActive": true,
            "dhcpLeaseRenewed": true,
            "secondsUntilDhcpLeaseExpires": 3510.5810546875,
            "ipv6Addresses": [
              "fdc4:a892:6997:10:409:4db2:aa16:cf39",
              "2603:3000:e2f:100:7019:fae4:33bd:5016",
              "fe80::1495:3469:42ef:855b"
            ],
            "channelWidth": 80,
            "rxStatsValid": true,
            "txStatsValid": true,
            "associatedTimeS": 60376,
            "noDataIdleS": 4,
            "modeStr": "",
            "iface": 4,
            "ifaceName": "rai0",
            "snr": 34,
            "psmode": 1,
            "role": 1,
            "deviceId": "",
            "swqChecks": 0,
            "swqChecksNonEmpty": 0,
            "mibSteerState": 0,
            "mibSteerMethod": 0,
            "btmRequests": 0,
            "btmRequestsSuccess": 0,
            "steerState": 0,
            "steerReqSuccessLast1H": 0,
            "steerReqFailLast1H": 0,
            "steerReqFailAndDissocLast1H": 0,
            "dot11VSupport": true,
            "hopsFromController": 1,
            "estTxRateMbpsFromController": 0,
            "estRxRateMbpsFromController": 0,
            "hardwareVersion": "",
            "softwareVersion": "",
            "apiVersion": 0,
            "blocked": false,
            "clientId": 2835312669,
            "captiveClientId": "1d70ffa860766bc01d0fd08dc8a98843b26526b8c0275075c28e7ec4e0ae02fb",
            "rxStats": {
              "bytes": "152816805",
              "countErrors": "0",
              "phyMode": 8,
              "nss": 2,
              "rateMbps": 960,
              "rateMbpsLast30S": 960,
              "rateMbpsLast15S": 960,
              "rateMbpsLast1MAvg": 960,
              "throughputMbpsLast1MAvg": 0,
              "mcs": 9,
              "bandwidth": 80,
              "guardNs": 800,
              "airtimeFractionLast1S": 0,
              "sampledPackets": 0,
              "sampledPacketsRetried": 0,
              "sampledPacketsDropped": 0
            },
            "txStats": {
              "bytes": "28731935",
              "successBytes": "0",
              "phyMode": 1,
              "nss": 1,
              "rateMbps": 24,
              "rateMbpsLast30S": 24,
              "rateMbpsLast15S": 24,
              "mcs": 4,
              "bandwidth": 80,
              "guardNs": 800,
              "airtimeFractionLast1S": 0
            },
            "alerts": {
              "throughputLimited": false
            },
            "signalStrength": -54,
            "macAddress": "a0:78:17:xx:xx:xx",
            "upstreamMacAddress": "74:24:9f:a5:ed:ae",
            "isMyClient": false
          },
          {
            "name": "andromeda",
            "givenName": "",
            "domain": "lan",
            "ipAddress": "192.168.1.254",
            "dhcpLeaseFound": true,
            "dhcpLeaseActive": true,
            "dhcpLeaseRenewed": true,
            "secondsUntilDhcpLeaseExpires": 2469.6328125,
            "ipv6Addresses": [
              "2605:59c0:41f6:b910:1919:7075:f5d7:ba1f",
              "2605:59c0:41f6:b910:cc36:648d:e7ad:5f67",
              "fdc4:a892:6997:10:b490:bdf7:4d59:694f",
              "2605:59c0:41f6:b910:c3dc:7471:b269:ed8a",
              "fdc4:a892:6997:10:2339:59c2:a774:4755",
              "fdc4:a892:6997:10:d737:5ffb:287b:16f9",
              "2605:59c0:41f6:b910:282b:f794:7585:aed0",
              "fdc4:a892:6997:10:3c1:9f4f:fd0d:7930",
              "fe80::3c27:3bff:fe1d:7f0d",
              "2605:59c0:41f6:b910:3c27:3bff:fe1d:7f0d",
              "2605:59c0:41f6:b910:b75b:2c0f:6b6b:6a8a"
            ],
            "channelWidth": 80,
            "rxStatsValid": true,
            "txStatsValid": true,
            "associatedTimeS": 2819,
            "noDataIdleS": 0,
            "modeStr": "",
            "iface": 4,
            "ifaceName": "rai0",
            "snr": 50,
            "psmode": 0,
            "role": 1,
            "deviceId": "",
            "swqChecks": 0,
            "swqChecksNonEmpty": 0,
            "mibSteerState": 0,
            "mibSteerMethod": 0,
            "btmRequests": 0,
            "btmRequestsSuccess": 0,
            "steerState": 0,
            "steerReqSuccessLast1H": 0,
            "steerReqFailLast1H": 0,
            "steerReqFailAndDissocLast1H": 0,
            "dot11VSupport": true,
            "hopsFromController": 1,
            "estTxRateMbpsFromController": 0,
            "estRxRateMbpsFromController": 0,
            "hardwareVersion": "",
            "softwareVersion": "",
            "apiVersion": 0,
            "blocked": false,
            "clientId": 1972959470,
            "captiveClientId": "eef898750f982a67b3726b2223a9021347d2eacb463b9627c3419f28fe9b6149",
            "rxStats": {
              "bytes": "359011679",
              "countErrors": "0",
              "phyMode": 8,
              "nss": 2,
              "rateMbps": 1080,
              "rateMbpsLast30S": 953.3793334960938,
              "rateMbpsLast15S": 1080,
              "rateMbpsLast1MAvg": 907.9321899414062,
              "throughputMbpsLast1MAvg": 0.2881355881690979,
              "mcs": 10,
              "bandwidth": 80,
              "guardNs": 800,
              "airtimeFractionLast1S": 0,
              "sampledPackets": 0,
              "sampledPacketsRetried": 0,
              "sampledPacketsDropped": 0
            },
            "txStats": {
              "bytes": "23282904",
              "successBytes": "0",
              "phyMode": 1,
              "nss": 1,
              "rateMbps": 6,
              "rateMbpsLast30S": 129.62069702148438,
              "rateMbpsLast15S": 262.0714416503906,
              "mcs": 0,
              "bandwidth": 80,
              "guardNs": 800,
              "airtimeFractionLast1S": 0
            },
            "alerts": {
              "throughputLimited": false
            },
            "signalStrength": -38,
            "macAddress": "3e:27:3b:xx:xx:xx",
            "upstreamMacAddress": "74:24:9f:a5:ed:ae",
            "isMyClient": true
          },
          {
            "name": "MikroTik",
            "givenName": "",
            "domain": "lan",
            "ipAddress": "192.168.1.242",
            "dhcpLeaseFound": true,
            "dhcpLeaseActive": true,
            "dhcpLeaseRenewed": false,
            "secondsUntilDhcpLeaseExpires": 3586.877685546875,
            "ipv6Addresses": [],
            "channelWidth": 0,
            "rxStatsValid": false,
            "txStatsValid": false,
            "associatedTimeS": 0,
            "noDataIdleS": 0,
            "modeStr": "",
            "iface": 1,
            "ifaceName": "",
            "snr": 0,
            "psmode": 0,
            "role": 1,
            "deviceId": "",
            "swqChecks": 0,
            "swqChecksNonEmpty": 0,
            "mibSteerState": 0,
            "mibSteerMethod": 0,
            "btmRequests": 0,
            "btmRequestsSuccess": 0,
            "steerState": 0,
            "steerReqSuccessLast1H": 0,
            "steerReqFailLast1H": 0,
            "steerReqFailAndDissocLast1H": 0,
            "dot11VSupport": false,
            "hopsFromController": 1,
            "estTxRateMbpsFromController": 0,
            "estRxRateMbpsFromController": 0,
            "hardwareVersion": "",
            "softwareVersion": "",
            "apiVersion": 0,
            "blocked": false,
            "clientId": 1545729574,
            "captiveClientId": "26f6215c2c0e34164dee4e4afdcd0000a9b5bc2406b03bcc74883652a5129a1a",
            "rxStats": {
              "bytes": "0",
              "countErrors": "0",
              "phyMode": 0,
              "nss": 0,
              "rateMbps": 0,
              "rateMbpsLast30S": 0,
              "rateMbpsLast15S": 0,
              "rateMbpsLast1MAvg": 0,
              "throughputMbpsLast1MAvg": 0,
              "mcs": 0,
              "bandwidth": 0,
              "guardNs": 0,
              "airtimeFractionLast1S": 0,
              "sampledPackets": 0,
              "sampledPacketsRetried": 0,
              "sampledPacketsDropped": 0
            },
            "txStats": {
              "bytes": "0",
              "successBytes": "0",
              "phyMode": 0,
              "nss": 0,
              "rateMbps": 0,
              "rateMbpsLast30S": 0,
              "rateMbpsLast15S": 0,
              "mcs": 0,
              "bandwidth": 0,
              "guardNs": 0,
              "airtimeFractionLast1S": 0
            },
            "alerts": {
              "throughputLimited": false
            },
            "signalStrength": 0,
            "macAddress": "f4:1e:57:xx:xx:xx",
            "upstreamMacAddress": "74:24:9f:a5:ed:ae",
            "isMyClient": false
          }
        ],
        "hasClientIndex": true,
        "clientIndex": 5,
        "isAviationConformed": false,
        "dhcpServers": [
          {
            "domain": "lan",
            "subnet": "192.168.1.0/24",
            "leases": [
              {
                "ipAddress": "192.168.1.93",
                "macAddress": "a2:fb:b2:XX:XX:XX",
                "hostname": "Mac",
                "expiresTime": "2025-01-18 18:22:22.197902577 +0000 UTC m=+203736.823978888",
                "active": true,
                "clientId": 3613444079
              },
              {
                "ipAddress": "192.168.1.167",
                "macAddress": "be:62:ca:XX:XX:XX",
                "hostname": "iPhone",
                "expiresTime": "2025-01-18 16:22:24.268076936 +0000 UTC m=+196538.894153247",
                "active": true,
                "clientId": 2435795579
              },
              {
                "ipAddress": "192.168.1.146",
                "macAddress": "1c:45:86:XX:XX:XX",
                "hostname": "",
                "expiresTime": "2025-01-18 18:22:15.078113635 +0000 UTC m=+203729.704189946",
                "active": true,
                "clientId": 1646879661
              },
              {
                "ipAddress": "192.168.1.50",
                "macAddress": "a0:78:17:XX:XX:XX",
                "hostname": "Lucys-MBP-2",
                "expiresTime": "2025-01-18 18:34:51.635870494 +0000 UTC m=+204486.261946882",
                "active": true,
                "clientId": 2835312669
              },
              {
                "ipAddress": "192.168.1.254",
                "macAddress": "3e:27:3b:XX:XX:XX",
                "hostname": "andromeda",
                "expiresTime": "2025-01-18 18:17:30.687492028 +0000 UTC m=+203445.313568339",
                "active": true,
                "clientId": 1972959470
              },
              {
                "ipAddress": "192.168.1.242",
                "macAddress": "f4:1e:57:XX:XX:XX",
                "hostname": "MikroTik",
                "expiresTime": "2025-01-18 18:36:07.932403376 +0000 UTC m=+204562.558479610",
                "active": true,
                "clientId": 1545729574
              }
            ],
            "ipExhausted": false
          },
          {
            "domain": "backhaul",
            "subnet": "192.168.2.0/24",
            "leases": [],
            "ipExhausted": false
          },
          {
            "domain": "hiddenlan",
            "subnet": "192.168.254.0/24",
            "leases": [],
            "ipExhausted": false
          }
        ],
        "dishId": "ut10680682-01e16d1b-58c6f17e",
        "utcNs": "1737221782068693260",
        "secsSinceLastPublicIpv4Change": 107630.2109375,
        "deviceInfo": {
          "id": "Router-01000000000000000115EDAE",
          "hardwareVersion": "v3",
          "boardRev": 8,
          "softwareVersion": "2025.01.09.mr44886",
          "manufacturedVersion": "2024.05.15.mr35843",
          "generationNumber": "0",
          "countryCode": "US",
          "utcOffsetS": 0,
          "softwarePartitionsEqual": true,
          "isDev": false,
          "bootcount": 13,
          "antiRollbackVersion": 1,
          "isHitl": false,
          "dishCohoused": false,
          "buildId": "",
          "boot": {
            "countByReason": {},
            "countByReasonDelta": {},
            "lastReason": 4,
            "lastCount": 13,
            "crashBoot": false,
            "crashBootCount": 0,
            "evenSideSoftwareVersion": "2025.01.09.mr44886",
            "oddSideSoftwareVersion": "2025.01.09.mr44886",
            "apiVersionOddSide": 83,
            "apiVersionEvenSide": 83
          }
        },
        "deviceState": {
          "uptimeS": "200989"
        },
        "alerts": {
          "thermalThrottle": false,
          "installPending": false,
          "freshlyFused": false,
          "lanEthSlowLink10": false,
          "lanEthSlowLink100": false,
          "highCablePingDropRate": false,
          "wanEthPoorConnection": false,
          "meshTopologyChangingOften": false,
          "meshUnreliableBackhaul": false,
          "radiusMissingProcess": false,
          "ethSwitchError": false,
          "poeOnDishUnreachable": false,
          "poeFuseBlown": false,
          "poeRouterOvercurrent": false,
          "poeOffCurrentNominal": false,
          "poeVinOvervoltage": false,
          "poeVinUndervoltage": false
        },
        "poeStats": {
          "poeState": 3,
          "poePower": 90.93600463867188,
          "poeFaultsFastOvercurrent": 0,
          "poeFaultsSlowOvercurrent": 0,
          "poeFaultsOvervoltage": 0,
          "poeFaultsUndervoltage": 0,
          "vsnsVin": 56.545135498046875
        },
        "softwareUpdateStats": {
          "state": 4,
          "softwareDownloadProgress": 0,
          "secondsSinceGetTargetVersions": 9409.5029296875,
          "runningVersion": "2025.01.09.mr44886",
          "versionInProgress": ""
        },
        "setupRequirement": {
          "state": 0,
          "pauseCountdownSeconds": "0"
        },
        "config": {
          "countryCode": "US",
          "applyCountryCode": false,
          "pinCountryCode": false,
          "applyPinCountryCode": false,
          "customPowerTable": false,
          "applyCustomPowerTable": false,
          "setupComplete": true,
          "applySetupComplete": false,
          "version": 0,
          "macWan": "74:24:9f:95:ed:ae",
          "macLan": "74:24:9f:a5:ed:ae",
          "channel2Ghz": 0,
          "applyChannel2Ghz": false,
          "channel5Ghz": 0,
          "applyChannel5Ghz": false,
          "channel5GhzHigh": 0,
          "applyChannel5GhzHigh": false,
          "meshConfigs": {},
          "meshConfigsUpdates": {},
          "applyMeshConfigs": false,
          "dynamicKeys": [],
          "applyDynamicKeys": false,
          "isRepeater": false,
          "applyIsRepeater": false,
          "apMode": false,
          "applyApMode": false,
          "isAviation": false,
          "applyIsAviation": false,
          "bootCount": 13,
          "nameservers": [],
          "applyNameservers": false,
          "secureDns": false,
          "applySecureDns": false,
          "bypassMode": false,
          "applyBypassMode": false,
          "dfsEnabled": false,
          "applyDfsEnabled": false,
          "disableMeshOnboarding": false,
          "applyDisableMeshOnboarding": false,
          "disableWirelessMeshOnboarding": false,
          "applyDisableWirelessMeshOnboarding": false,
          "applyHttpServer": false,
          "networks": [
            {
              "ipv4": "192.168.1.1/24",
              "dhcpv4Start": 20,
              "dhcpv4End": 254,
              "dhcpDisabled": false,
              "dhcpv4LeaseDurationS": 3600,
              "domain": "lan",
              "basicServiceSets": [
                {
                  "bssid": "0e:c4:a8:22:69:97",
                  "ssid": "OnlyGoodIdea",
                  "auth": {
                    "oneofKind": "authWpa2",
                    "authWpa2": {
                      "password": "•••••"
                    }
                  },
                  "band": 2,
                  "ifaceName": "ra0",
                  "disable": false,
                  "hidden": false
                },
                {
                  "bssid": "0e:c4:a8:32:69:97",
                  "ssid": "OnlyGoodIdea",
                  "auth": {
                    "oneofKind": "authWpa2",
                    "authWpa2": {
                      "password": "•••••"
                    }
                  },
                  "band": 5,
                  "ifaceName": "rax0",
                  "disable": false,
                  "hidden": false
                },
                {
                  "bssid": "0e:c4:a8:42:69:97",
                  "ssid": "OnlyGoodIdea",
                  "auth": {
                    "oneofKind": "authWpa2",
                    "authWpa2": {
                      "password": "•••••"
                    }
                  },
                  "band": 6,
                  "ifaceName": "rai0",
                  "disable": false,
                  "hidden": false
                }
              ],
              "clientIsolation": false,
              "guest": false,
              "landing": "",
              "landingPageV2": false,
              "sandboxEnabled": false,
              "sandboxDomainAllowList": [],
              "sandboxId": 0,
              "internal": false,
              "vlan": 100,
              "networkGroups": 0,
              "dnsStaticEntries": [],
              "dnsForwardRules": []
            }
          ],
          "applyNetworks": false,
          "incarnation": "16935237487554619799",
          "wirelessMode2Ghz": 0,
          "applyWirelessMode2Ghz": false,
          "wirelessMode5Ghz": 0,
          "applyWirelessMode5Ghz": false,
          "wirelessMode5GhzHigh": 0,
          "applyWirelessMode5GhzHigh": false,
          "htBandwidth2Ghz": 0,
          "applyHtBandwidth2Ghz": false,
          "htBandwidth5Ghz": 0,
          "applyHtBandwidth5Ghz": false,
          "htBandwidth5GhzHigh": 0,
          "applyHtBandwidth5GhzHigh": false,
          "vhtBandwidth": 0,
          "applyVhtBandwidth": false,
          "vhtBandwidth5GhzHigh": 0,
          "applyVhtBandwidth5GhzHigh": false,
          "usePublicServices": false,
          "applyUsePublicServices": false,
          "disableAutomatedSpeedtests": false,
          "applyDisableAutomatedSpeedtests": false,
          "enableUmbilicalVlan": false,
          "applyEnableUmbilicalVlan": false,
          "clientNames": [],
          "applyClientNames": false,
          "outdoorMode": false,
          "applyOutdoorMode": false,
          "disable2Ghz": false,
          "applyDisable2Ghz": false,
          "disable5Ghz": false,
          "applyDisable5Ghz": false,
          "disable5GhzHigh": false,
          "applyDisable5GhzHigh": false,
          "disableXMeshBackhaul": false,
          "applyDisableXMeshBackhaul": false,
          "goldenBssid": "",
          "applyGoldenBssid": false,
          "goldenIfaceType": 0,
          "applyGoldenIfaceType": false,
          "txPowerLevel2Ghz": 0,
          "applyTxPowerLevel2Ghz": false,
          "txPowerLevel5Ghz": 0,
          "applyTxPowerLevel5Ghz": false,
          "txPowerLevel5GhzHigh": 0,
          "applyTxPowerLevel5GhzHigh": false,
          "disablePendingUpdateReboot": false,
          "applyDisablePendingUpdateReboot": false,
          "clientConfigs": [
            {
              "clientId": 1397983453,
              "macAddress": "2c:cf:67:XX:XX:XX",
              "givenName": "themistress",
              "weeklyBlockSchedules": [],
              "groupId": ""
            }
          ],
          "applyClientConfigs": false,
          "disableSetWifiConfigFromController": false,
          "applyDisableSetWifiConfigFromController": false,
          "clientKey": {},
          "applyClientKey": false,
          "wanTrafficControl": {
            "oneofKind": "wanAckSuppression",
            "wanAckSuppression": {
              "ackMark": 1056,
              "htbAckQueueRate": 2,
              "htbAckQueueCeil": 2.5,
              "cakeQueueBandwidth": 1.75,
              "cakeAckFilterAggressive": true,
              "cakeManualRtt": 0
            }
          },
          "applyWanTrafficControl": false,
          "wanHostDscpMark": 1,
          "applyWanHostDscpMark": false,
          "debugPopPings": false,
          "applyDebugPopPings": false,
          "debugPings": false,
          "applyDebugPings": false,
          "clientTester": false,
          "applyClientTester": false,
          "assetClass": 0,
          "applyAssetClass": false,
          "disableBandSteering": false,
          "applyDisableBandSteering": false,
          "onlyOverflightCountries": [],
          "applyOnlyOverflightCountries": false,
          "tag": 0,
          "boot": {
            "countByReason": {},
            "countByReasonDelta": {},
            "lastReason": 4,
            "lastCount": 13,
            "crashBoot": false,
            "crashBootCount": 0,
            "evenSideSoftwareVersion": "2025.01.09.mr44886",
            "oddSideSoftwareVersion": "2025.01.09.mr44886",
            "apiVersionOddSide": 83,
            "apiVersionEvenSide": 83
          }
        },
        "radiusStats": {
          "radiusStats": {}
        }
      },
      "timestamp": 1737221781872,
      "reachable": true,
      "apiVersion": 83,
      "hardwareVersion": "v3"
    }
  }
}
 
rplant
Long time Member
Long time Member
Posts: 570
Joined: Fri Sep 29, 2017 11:42 am

Re: Starlink Packet Loss Troubleshooting

Fri Jan 24, 2025 5:33 am

From winbox or webfig have a look at your wan/ether1 interface traffic. (traffic tab)
Is it as expected?

I would initially disable ipv6, because if its sort of working but sort of not it can be painful.
Once network is working well with only ipv4, you can look at this further.
You may need to disconnect your PC from network briefly to hopefully get it to not have any ipv6

/ipv6 settings
set disable-ipv6=yes

Put a cake queue on your wan interface.
If you have some idea of your uplink speed, put that into the queue max limit, otherwise
make a guess, start lowish.

/queue type
add kind=cake name=qcake

/queue tree
add bucket-size=0.01 max-limit=40M queue=qcake packet-mark=no-mark disabled=yes parent=ether1

(I guessed 40M)
 
rplant
Long time Member
Long time Member
Posts: 570
Joined: Fri Sep 29, 2017 11:42 am

Re: Starlink Packet Loss Troubleshooting

Fri Jan 24, 2025 10:25 am

Also its often worth graphing your wan interface traffic.

Perhaps something like:

/tool graphing
set store-every=24hours

/tool graphing interface
add allow-address=YOUR_COMPUTER_IP_ADDRESS interface=ether1

Then you can look at the graph(s) in winbox/webfig
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Re: Starlink Packet Loss Troubleshooting

Fri Jan 24, 2025 8:30 pm

Thanks for the suggestions, I will try disabling ipv6 shortly. I just wanted to update the thread with MTR outputs from when the Starlink router is in "bypass mode" and when my computer is directly connected to the Starlink Router in "router mode". These investigations came from the Reddit thread https://www.reddit.com/r/mikrotik/comme ... eshooting/ where some users are helping me diagnose as well.

Bypass mode (overall packet loss ~7-10%)
bypass_mode.jpeg
Router mode (overall packet loss ~0.1%)
router_mode.jpeg
Also I noted that the routes taken to google.com are very different between bypass and router mode
You do not have the required permissions to view the files attached to this post.
Last edited by bingowingo on Fri Jan 24, 2025 9:33 pm, edited 1 time in total.
 
User avatar
Amm0
Forum Guru
Forum Guru
Posts: 4506
Joined: Sun May 01, 2016 7:12 pm
Location: California
Contact:

Re: Starlink Packet Loss Troubleshooting

Fri Jan 24, 2025 8:45 pm

That's curious finding. Maybe router mode is employing some queue and/or tunnel....
 
tx6376
just joined
Posts: 13
Joined: Tue Feb 02, 2021 8:35 pm

Re: Starlink Packet Loss Troubleshooting

Fri Jan 24, 2025 11:16 pm

Configure ipv6 on the Mikrotik router and test.

https://github.com/tyd/mikrotik-starlink-ipv6
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Re: Starlink Packet Loss Troubleshooting

Fri Jan 24, 2025 11:48 pm

So completely disabling ipv6 improved the connection somewhat, but still seeing a packet loss of 2.3% with longer outages
  Packets  Pings
 Host  Loss%  Snt  Last  Avg  Best  Wrst StDev
 1. 10.0.0.1  0.1%  6480  3.3  3.3  2.2 4402.  74.7
 2. 192.168.1.1  0.1%  6480  4.6  4.0  2.7 4337.  75.2
 3. 100.64.0.1  2.2%  6480  29.7  29.1  17.8 1381.  21.5
 4. 172.16.250.26  2.1%  6480  37.1  28.9  17.2 507.9  13.1
 5. undefined.hostname.localhost  2.1%  6480  32.4  31.6  17.7 4098.  80.6
 6. undefined.hostname.localhost  2.1%  6480  93.3  29.1  16.8 351.0  13.8
 7. 72.14.215.128  2.1%  6480  48.1  29.3  17.6 295.2  12.9
 8. 192.178.109.123  2.2%  6480  35.0  30.2  17.6 261.5  12.8
 9. 209.85.244.106  2.2%  6479  24.8  30.3  17.6 280.3  13.5
10. 192.178.85.217  53.7%  6479  28.6  30.8  18.1 652.6  16.0
 142.251.234.45
11. 192.178.96.168  53.7%  6479  37.3  38.7  26.6 586.0  16.8
 192.178.96.166
12. 108.170.230.120  2.1%  6479  42.8  40.0  26.0 504.3  15.7
 108.170.230.122
 142.251.249.138
 108.170.230.134
13. 74.125.243.87  2.1%  6479  42.7  39.1  26.1 429.6  15.5
14. 142.251.233.235  2.2%  6479  32.1  37.7  25.8 363.4  13.0
15. lax17s55-in-f4.1e100.net  2.2%  6479  35.9  37.3  25.9 294.9  12.1
I think I will try to fully enable ipv6 as suggested above, especially since the traceroute from the Starlink router appears to be entirely in ipv6
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Re: Starlink Packet Loss Troubleshooting

Sat Jan 25, 2025 12:47 am

From winbox or webfig have a look at your wan/ether1 interface traffic. (traffic tab)
Is it as expected?

I would initially disable ipv6, because if its sort of working but sort of not it can be painful.
Once network is working well with only ipv4, you can look at this further.
You may need to disconnect your PC from network briefly to hopefully get it to not have any ipv6

/ipv6 settings
set disable-ipv6=yes

Put a cake queue on your wan interface.
If you have some idea of your uplink speed, put that into the queue max limit, otherwise
make a guess, start lowish.

/queue type
add kind=cake name=qcake

/queue tree
add bucket-size=0.01 max-limit=40M queue=qcake packet-mark=no-mark disabled=yes parent=ether1

(I guessed 40M)
At the very end you have the queue tree disabled, but I'm guessing I want to enable that right? Seems like the proper IPv6 is helping packet loss much closer to 1%. Still occasionally getting the outages, so I'm implementing the queue now. I just enabled it.
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Re: Starlink Packet Loss Troubleshooting

Sat Jan 25, 2025 1:53 am

Okay 2500 pings later with IPv6 and the queue tree I'm finally seeing packet loss below 1% -- its at 0.4%

Internet is much more usable. Going to switch the Starlink Router to bypass mode now and hope that improvements stay.
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Re: Starlink Packet Loss Troubleshooting

Sun Jan 26, 2025 5:45 am

After switching the router to bypass mode, I'm getting much more usable internet. However, packet loss is still at 1.6% with occasional complete drops in service like I was seeing before. Still so curious as to what is going on with that.
 
bingowingo
just joined
Topic Author
Posts: 13
Joined: Mon Jan 20, 2025 10:05 pm

Re: Starlink Packet Loss Troubleshooting

Sun Jan 26, 2025 5:51 am

here are my current router settings with the 1.6% packet loss
# 2025-01-26 03:47:41 by RouterOS 7.17
# software id = 00ZD-BEYQ
#
# model = C53UiG+5HPaxD2HPaxD
# serial number = xxxxx
/interface bridge
add admin-mac=F4:1E:57:4F:27:D9 auto-mac=no comment=defconf name=bridge
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wifi channel
add comment="stick to lowest bands" disabled=no frequency=5180 name=channel5GHz width=20/40/80mhz
add disabled=no frequency=2412,2427,2452 name=channel2GHz width=20mhz
/interface wifi security
add authentication-types=wpa2-psk,wpa3-psk disable-pmkid=yes disabled=no name=sec1
/interface wifi
set [ find default-name=wifi2 ] channel=channel2GHz channel.skip-dfs-channels=10min-cac configuration.country=\
    "United States" .mode=ap .ssid=OnlyGoodIdea disabled=no name=wi2.4GHz security=sec1 security.authentication-types=\
    wpa2-psk,wpa3-psk .connect-priority=0/1 .ft=yes .ft-over-ds=yes
set [ find default-name=wifi1 ] channel=channel5GHz channel.skip-dfs-channels=10min-cac configuration.country=\
    "United States" .mode=ap .ssid=OnlyGoodIdea disabled=no name=wi5GHz security=sec1 security.authentication-types=\
    wpa2-psk,wpa3-psk .connect-priority=0 .ft=yes .ft-over-ds=yes
/ip pool
add name=dhcp ranges=10.0.0.70-10.0.0.254
/ip dhcp-server
add address-pool=dhcp interface=bridge name=defconf
/queue type
add kind=cake name=qcake
/queue tree
add bucket-size=0.01 max-limit=20M name=queue1 packet-mark=no-mark parent=ether1 queue=qcake
/disk settings
set auto-media-interface=bridge auto-media-sharing=yes auto-smb-sharing=yes
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=wi5GHz
add bridge=bridge comment=defconf interface=wi2.4GHz
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ipv6 settings
set accept-redirects=no accept-router-advertisements=yes max-neighbor-entries=8192
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/ip address
add address=10.0.0.1/24 comment=defconf interface=bridge network=10.0.0.0
/ip dhcp-client
add comment=defconf interface=ether1 use-peer-dns=no
/ip dhcp-server network
add address=10.0.0.0/24 comment=defconf dns-server=10.0.0.1 gateway=10.0.0.1 netmask=24
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1
/ip dns static
add address=10.0.0.1 comment=defconf name=router.lan type=A
/ip firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related \
    hw-offload=yes
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
/ipv6 address
add address=::2 from-pool=starlink-v6 interface=bridge
/ipv6 dhcp-client
add interface=ether1 pool-name=starlink-v6 rapid-commit=no request=prefix use-interface-duid=yes
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
add address=fe80::/10 list=prefix_delegation
add address=fe80::7624:9fff:fea5:edae/128 comment="dhcp6 client server value" list=prefix_delegation
add address=2605:59c0:4100:d818::1/128 comment="dhcp6 client server value" list=prefix_delegation
/ipv6 firewall filter
add action=accept chain=input dst-port=5678 protocol=udp
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" port=33434-33534 protocol=udp
add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=udp \
    src-address-list=prefix_delegation
add action=drop chain=input comment="defconf: drop everything else not coming from LAN" in-interface=!bridge
add action=accept chain=forward comment="defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" in-interface=!bridge
/ipv6 nd
set [ find default=yes ] advertise-dns=no hop-limit=64 managed-address-configuration=yes mtu=1280 other-configuration=\
    yes ra-interval=3m20s-8m20s
/ipv6 nd prefix default
set preferred-lifetime=10m valid-lifetime=15m
/system logging
add topics=wireless,debug
add topics=dhcp,debug
add topics=interface,debug
/system note
set show-at-login=no
/system routerboard mode-button
set enabled=yes on-event=dark-mode
/system routerboard wps-button
set enabled=yes on-event=wps-accept
/system script
add comment=defconf dont-require-permissions=no name=dark-mode owner=*sys policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\r\
    \n   :if ([system leds settings get all-leds-off] = \"never\") do={\r\
    \n     /system leds settings set all-leds-off=immediate \r\
    \n   } else={\r\
    \n     /system leds settings set all-leds-off=never \r\
    \n   }\r\
    \n "
add comment=defconf dont-require-permissions=no name=wps-accept owner=*sys policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\r\
    \n   :foreach iface in=[/interface/wifi find where (configuration.mode=\"ap\" && disabled=no)] do={\r\
    \n     /interface/wifi wps-push-button \$iface;}\r\
    \n "
/tool graphing
set store-every=24hours
/tool graphing interface
add allow-address=10.0.0.252/32 interface=ether1
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
 
rplant
Long time Member
Long time Member
Posts: 570
Joined: Fri Sep 29, 2017 11:42 am

Re: Starlink Packet Loss Troubleshooting

Sun Jan 26, 2025 7:12 am

I don't know that I can help further, but I found the following couple of posts elsewhere that you may have already seen.

https://www.reddit.com/r/Starlink/comme ... e/m672h96/
https://www.reddit.com/r/Starlink/comme ... rformance/

One involved a firmware update from starlink, (and a failing ethernet adapter)
The other involved adding a dumb switch between the starlink, and the firewall.

The second seems easy and worth trying.
Note: You can also make the ether1 port only negotiate 100M (Under the ethernet tab of the interface settings) and see if that helps at all.

The first if you can just contact them via email or portal might be good.
 
User avatar
Amm0
Forum Guru
Forum Guru
Posts: 4506
Joined: Sun May 01, 2016 7:12 pm
Location: California
Contact:

Re: Starlink Packet Loss Troubleshooting

Sun Jan 26, 2025 9:18 pm

/queue type add kind=cake name=qcake
/queue tree
add bucket-size=0.01 max-limit=20M name=queue1 packet-mark=no-mark parent=ether1 queue=qcake
@tangent has a good article on configuring CAKE:
https://tangentsoft.com/mikrotik/wiki?n ... guration&p

There are a lot of subtle tweaks that might change the results you're seeing, and with CAKE, I'm think a simple queue might be better.

If you want to use /queue/tree on upload only, perhaps using fq_codel be better as it's more lightweight, or at least something else to try...