<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Lua on Marcello Barnaba</title>
    <link>https://sindro.me/tags/lua/</link>
    <description>Recent content in Lua on Marcello Barnaba</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 03 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sindro.me/tags/lua/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>wifi-dethrash: Finding and Fixing WiFi Mesh Thrashing on OpenWrt</title>
      <link>https://sindro.me/posts/2026-04-03-wifi-dethrash-openwrt-mesh-analyzer/</link>
      <pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/posts/2026-04-03-wifi-dethrash-openwrt-mesh-analyzer/</guid>
      <description>&lt;p&gt;It started with &lt;a href=&#34;https://sindro.me/posts/2026-02-15-wifi-presence-detection-home-assistant/&#34;&gt;WiFi presence detection&lt;/a&gt;. I had built a system that tracks which room everyone is in by scraping RSSI from my OpenWrt APs. It worked — but the room assignments kept flickering. Kitchen. Office. Kitchen. Office. Three times in ten seconds. The state machine was fine. The WiFi wasn&amp;rsquo;t.&lt;/p&gt;&#xA;&lt;p&gt;My home network runs six OpenWrt APs across three floors, two SSIDs — Mercury on 5 GHz, Saturn on 2.4 GHz — all backed by 802.11r for fast roaming. From the outside, it looks like a proper mesh. From the inside, one phone was bouncing between access points &lt;strong&gt;129 times in 24 hours&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I didn&amp;rsquo;t know this until I built the tool to see it.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://sindro.me/posts/2026-04-03-wifi-dethrash-openwrt-mesh-analyzer/roaming-timeline-24h.png&#34; alt=&#34;Roaming Timeline — 24 hours&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Each row is a WiFi client, the color shows which AP it&amp;rsquo;s connected to. Healthy clients show long solid bars. Sick ones look like barber poles. See &lt;code&gt;sara-iphone&lt;/code&gt;? That rainbow stripe is 129 connects in 24 hours — the phone is walking through an overlap zone between two APs where both have roughly equal (and terrible) signal.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-problem-you-cant-see&#34;&gt;The Problem You Can&amp;rsquo;t See&lt;/h2&gt;&#xA;&lt;p&gt;WiFi roaming is invisible. Your phone shows full bars, Netflix buffers for a moment, and you blame the internet. But what actually happened is your phone disconnected from one AP, scanned for alternatives, picked another one with a marginally different signal, associated, authenticated, and started streaming again — all in under a second if 802.11r is working, several seconds if it&amp;rsquo;s not.&lt;/p&gt;&#xA;&lt;p&gt;Do this 15 times in 2 minutes between two APs that both have garbage signal, and you get what I call &lt;strong&gt;thrashing&lt;/strong&gt;: rapid, pointless AP bouncing that kills throughput and wastes airtime.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
