<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Openwrt on Marcello Barnaba</title>
    <link>https://sindro.me/it/tags/openwrt/</link>
    <description>Recent content in Openwrt on Marcello Barnaba</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Fri, 03 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sindro.me/it/tags/openwrt/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>wifi-dethrash: trovare e risolvere il thrashing WiFi mesh su OpenWrt</title>
      <link>https://sindro.me/it/posts/2026-04-03-wifi-dethrash-openwrt-mesh-analyzer/</link>
      <pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2026-04-03-wifi-dethrash-openwrt-mesh-analyzer/</guid>
      <description>&lt;p&gt;Tutto è cominciato con il &lt;a href=&#34;https://sindro.me/posts/2026-02-15-wifi-presence-detection-home-assistant/&#34;&gt;rilevamento presenza WiFi&lt;/a&gt;. Avevo costruito un sistema che traccia in quale stanza si trova ognuno scrapando l&amp;rsquo;RSSI dai miei AP OpenWrt. Funzionava &amp;ndash; ma le assegnazioni delle stanze continuavano a sfarfallare. Cucina. Ufficio. Cucina. Ufficio. Tre volte in dieci secondi. La macchina a stati era a posto. Il WiFi no.&lt;/p&gt;&#xA;&lt;p&gt;La mia rete domestica ha sei AP OpenWrt su tre piani, due SSID &amp;ndash; Mercury su 5 GHz, Saturn su 2,4 GHz &amp;ndash; tutti con 802.11r per il roaming veloce. Vista da fuori, sembra una mesh fatta bene. Vista da dentro, un telefono rimbalzava tra access point &lt;strong&gt;129 volte in 24 ore&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Non lo sapevo finché non ho costruito lo strumento per vederlo.&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;Timeline di roaming — 24 ore&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ogni riga è un client WiFi, il colore mostra a quale AP è connesso. I client sani mostrano barre lunghe e piene. Quelli malati sembrano pali da barbiere. Vedi &lt;code&gt;sara-iphone&lt;/code&gt;? Quella striscia arcobaleno sono 129 connessioni in 24 ore &amp;ndash; il telefono cammina in una zona di overlap tra due AP dove entrambi hanno un segnale circa uguale (e orrendo).&lt;/p&gt;&#xA;&lt;h2 id=&#34;il-problema-che-non-puoi-vedere&#34;&gt;Il problema che non puoi vedere&lt;/h2&gt;&#xA;&lt;p&gt;Il roaming WiFi è invisibile. Il tuo telefono mostra tutte le tacche, Netflix bufferizza un attimo, e tu dai la colpa alla connessione internet. Ma quello che è successo davvero è che il tuo telefono si è disconnesso da un AP, ha scansionato le alternative, ne ha scelto un altro con un segnale marginalmente diverso, si è associato, autenticato, e ha ricominciato lo streaming &amp;ndash; tutto in meno di un secondo se 802.11r funziona, diversi secondi se non funziona.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rilevamento presenza WiFi per Home Assistant con OpenWrt</title>
      <link>https://sindro.me/it/posts/2026-02-15-wifi-presence-detection-home-assistant/</link>
      <pubDate>Sun, 15 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2026-02-15-wifi-presence-detection-home-assistant/</guid>
      <description>&lt;p&gt;Avevo due problemi con il rilevamento presenza di Home Assistant.&lt;/p&gt;&#xA;&lt;p&gt;Il primo: il GPS ti dice &lt;em&gt;se&lt;/em&gt; qualcuno è a casa, ma non &lt;em&gt;dove&lt;/em&gt; in casa si trova. La mia casa ha sei access point OpenWrt distribuiti su tre piani. Sanno già esattamente quale telefono è connesso a quale AP in ogni momento &amp;ndash; sono dati di presenza a livello di stanza, lì nello stack WiFi, che urlano per essere usati. Sapere chi è in quale stanza apre un&amp;rsquo;intera classe di automazioni che il GPS non può toccare: luci che ti seguono, climatizzazione per stanza occupata, una dashboard che mostra la situazione della casa a colpo d&amp;rsquo;occhio.&lt;/p&gt;&#xA;&lt;p&gt;Il secondo: la nostra donna delle pulizie sta a casa nostra un paio di giorni a settimana. Non voglio configurarle un account HA completo, installarle l&amp;rsquo;app companion sul telefono, o avere a che fare con i permessi GPS. Ma &lt;em&gt;devo&lt;/em&gt; sapere se è a casa &amp;ndash; perché la mia automazione dell&amp;rsquo;allarme ha bisogno di sapere se la casa è davvero vuota prima di attivarsi. Il suo telefono si connette al WiFi. Mi basta questo.&lt;/p&gt;&#xA;&lt;p&gt;Così ho scritto &lt;a href=&#34;https://github.com/vjt/openwrt-ha-presence&#34; target=&#34;_blank&#34;&gt;openwrt-ha-presence&lt;/a&gt;: una macchina a stati che scrapa le metriche RSSI direttamente dai tuoi AP OpenWrt, capisce in quale stanza si trova ogni persona in base alla potenza del segnale, e pubblica lo stato casa/fuori per ogni persona su Home Assistant via MQTT Discovery. Niente cloud, niente beacon, niente parsing di log, niente database time-series. Python, async, ~600 righe di logica effettiva.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://sindro.me/posts/2026-02-15-wifi-presence-detection-home-assistant/home-assistant.png&#34; alt=&#34;Storico tracking stanze di Home Assistant&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>5G come backup della fibra: non perdere mai più una riunione</title>
      <link>https://sindro.me/it/posts/2026-01-31-quectel-5g-modem-tools-for-openwrt/</link>
      <pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2026-01-31-quectel-5g-modem-tools-for-openwrt/</guid>
      <description>&lt;p&gt;Un paio di mesi fa, la fibra è andata giù. Come da primo corollario di Murphy, è successo nel momento peggiore in assoluto: subito prima di una riunione cruciale con un&amp;rsquo;azienda partner. Mi sono ritrovato a saltare freneticamente tra l&amp;rsquo;AP di un vicino lontano e l&amp;rsquo;hotspot del telefono, ma entrambi facevano schifo. Parliamo di 200ms di RTT e 15% di packet loss. Mi stavo scusando a profusione mentre il mio feed video si trasformava in uno slideshow del 1998; nessuno capiva una parola di quello che dicevo. Ho finito per spegnere il video e stare zitto. Opportunità persa. &lt;strong&gt;Mai. Più.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Così sono andato in modalità paranoica totale e ho costruito un setup di backup 5G serio.&lt;/p&gt;&#xA;&lt;h2 id=&#34;lhardware&#34;&gt;L&amp;rsquo;hardware&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.gl-inet.com/products/gl-x3000/&#34; target=&#34;_blank&#34;&gt;GL.iNet X-3000&lt;/a&gt; con modem Quectel RM520N-GL&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://poynting.tech/antennas/xpol-24/&#34; target=&#34;_blank&#34;&gt;Poynting XPOL-24&lt;/a&gt; antenna direzionale montata sul muro fuori dal mio ufficio&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Il segnale 5G qui è inesistente, quindi ho dovuto usare l&amp;rsquo;artiglieria pesante. La Poynting è una bestia. 11 dBi di guadagno, vero MIMO 4x4, cross-polarizzata, stagna. Puntala verso la torre più vicina e all&amp;rsquo;improvviso il SINR salta da &amp;ldquo;meh&amp;rdquo; a &amp;ldquo;porco dio!&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Ma puntare un&amp;rsquo;antenna direzionale senza feedback visivo è doloroso. In pratica giri in tondo, aggiorni una web UI, bestemmi guardando il cielo.&lt;/p&gt;&#xA;&lt;h2 id=&#34;il-software&#34;&gt;Il software&lt;/h2&gt;&#xA;&lt;p&gt;Ho scritto un set di strumenti per risolvere il problema: &lt;a href=&#34;https://github.com/vjt/quectel-5g-tools&#34; target=&#34;_blank&#34;&gt;quectel-5g-tools&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;5g-info&lt;/code&gt; scarica tutto quello che il tuo modem sa in un formato leggibile:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://sindro.me/posts/2026-01-31-quectel-5g-modem-tools-for-openwrt/5g-info.png&#34; alt=&#34;output di 5g-info&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;5g-monitor&lt;/code&gt; è una TUI ncurses che si aggiorna in tempo reale e &amp;ndash; qui viene il bello &amp;ndash; &lt;strong&gt;emette beep in base al SINR&lt;/strong&gt;. Qualità del segnale più alta = più beep. Punta l&amp;rsquo;antenna, ascolta i beep, stringi i bulloni. Fatto.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
