<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[LAB] YLH2 - USB 2.0 Hub]]></title><description><![CDATA[<p dir="auto"><img src="/assets/uploads/files/1748378030650-lab_yhub_002.jpg" alt="USB 2.0 Hub Prototype" class=" img-fluid img-markdown" /></p>
<p dir="auto">Mi sono (ri)messo a pasticciare con cavetti, breadboard, IC, ecc. per riprende un'idea avuta ai tempi del Covid e poi abbandonata: il fine ultimo è quello di fare una PCB con HUB USB incorporato.</p>
<p dir="auto">Ai tempi avevo deciso di puntare sul controller <a href="https://www.microchip.com/en-us/product/usb2512b" target="_blank" rel="noopener noreferrer nofollow ugc">USB2512B</a> di <a href="https://www.microchip.com/" target="_blank" rel="noopener noreferrer nofollow ugc">Microchip</a> e questa volta credo di essere arrivato ad un punto...</p>
<p dir="auto"><img src="/assets/uploads/files/1748381121542-lab_yhub_003.gif" alt="lab_yhub_003.gif" class=" img-fluid img-markdown" /></p>
]]></description><link>https://keeb.it/topic/611/lab-ylh2-usb-2.0-hub</link><generator>RSS for Node</generator><lastBuildDate>Thu, 18 Jun 2026 17:33:16 GMT</lastBuildDate><atom:link href="https://keeb.it/topic/611.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 May 2025 21:26:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [LAB] YLH2 - USB 2.0 Hub on Wed, 04 Jun 2025 21:03:52 GMT]]></title><description><![CDATA[<p dir="auto">Credo di aver completato tutte le prove che mi ero prefissato: sto scrivendo queste righe con la mia board connessa tramite l'HUB prototipato su breadboard, riesco a ricaricare i dispositivi (telefono, cuffie, ecc.) - anche a PC spento (<img src="https://keeb.it/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60e.png?v=8b55039c181" class="not-responsive emoji emoji-android emoji--sunglasses" style="height:23px;width:auto;vertical-align:middle" title=":sunglasses:" alt="😎" />) - e sono finalmente venuto a capo (spero) di un problema che mi stava tirando pazzo.</p>
<p dir="auto">Penso di aver scoperto una cosa che merita di essere approfondita - anche se alla fine non ritengo sia oggi così fondamentale.</p>
<p dir="auto">È ormai parecchio tempo che di base l'HUB è funzionante - mi mancava in sostanza di riuscire a far funzionare la ricarica anche a PC spento, problema che ho poi risolto riuscendo a trovare il giusto registro nella EEPROM. Ironia della sorte, riuscivo a collegare e far funzionare praticamente tutto tranne... le tastiere. <img src="https://keeb.it/assets/plugins/nodebb-plugin-emoji/emoji/android/1f643.png?v=8b55039c181" class="not-responsive emoji emoji-android emoji--upside_down_face" style="height:23px;width:auto;vertical-align:middle" title=":upside_down_face:" alt="🙃" /><br />
Ho passato settimane a pensare che il grattacapo fosse causato da qualche difetto di progetto o di collegamento ma alla fine ho capito che il problema era un altro: <strong><span class="glossary-wrapper" title="«Quantum Mechanical Keyboard» // Firmare Open Source per tastiere (e non solo)" data-bs-toggle="tooltip" data-bs-placement="top"><span class="glossary-word">QMK</span></span></strong>.</p>
<p dir="auto">Mi spiego meglio. Inserita la testiera, il kernel mi diceva:</p>
<p dir="auto"><img src="/assets/uploads/files/1749068876954-lab_yhub_004.jpg" alt="lab_yhub_004.jpg" class=" img-fluid img-markdown" /></p>
<p dir="auto">Su quel «<em>due to insufficient available bus power</em>» ci ho sbattuto la testa per ore e ore ma alla fine ho capito: volendo fare le cose per bene, e avendo letto e studiato attentamente le specifiche dello standard USB 2.0, ho correttamente dichiarato il mio HUB come «<strong>bus powered</strong>».</p>
<p dir="auto"><img src="/assets/uploads/files/1749069368821-lab_yhub_005.jpg" alt="lab_yhub_005.jpg" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/assets/uploads/files/1749069376806-lab_yhub_006.jpg" alt="lab_yhub_006.jpg" class=" img-fluid img-markdown" /></p>
<p dir="auto">In questo modo l'host permette di erogare un massimo pari a <strong>100 mA</strong>, non una virgola di più. E per una tastiera questo dovrebbe essere più che sufficiente, e invece... a quanto pare gli sviluppatori di QMK ritengono «normale» dichiarare un consumo di default pari a <strong>500 mA</strong>.</p>
<p dir="auto"><a href="https://docs.qmk.fm/config_options" target="_blank" rel="noopener noreferrer nofollow ugc"><img src="/assets/uploads/files/1749069790064-lab_yhub_007.jpg" alt="lab_yhub_007.jpg" class=" img-fluid img-markdown" /></a></p>
<p dir="auto">Al momento della connessione, la tastiera dichiara di voler consumare fino a 500 mA, l'HUB risponde di poter offrire solo fino a 100 mA... e la negoziazione fallisce.</p>
<p dir="auto"><img src="/assets/uploads/files/1749070071055-lab_yhub_008.jpg" alt="lab_yhub_008.jpg" class=" img-fluid img-markdown" /></p>
<p dir="auto">Ma inserendo nel <strong>config.h</strong> la definizione:</p>
<pre><code>#define USB_MAX_POWER_CONSUMPTION 100
</code></pre>
<p dir="auto">il risultato cambia <img src="https://keeb.it/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60e.png?v=8b55039c181" class="not-responsive emoji emoji-android emoji--sunglasses" style="height:23px;width:auto;vertical-align:middle" title=":sunglasses:" alt="😎" />.</p>
<p dir="auto"><img src="/assets/uploads/files/1749070456829-lab_yhub_009.jpg" alt="lab_yhub_009.jpg" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/assets/uploads/files/1749070466221-lab_yhub_010.jpg" alt="lab_yhub_010.jpg" class=" img-fluid img-markdown" /></p>
<p dir="auto">Ho il sospetto che la valorizzazione a 500 mA di default sia presente da moltissimo tempo - ma voglio indagare meglio su questo aspetto.<br />
Oltretutto, da quello che penso di aver intuito, ci sono un sacco di HUB in commercio che per aggirare problemi come questo si dichiarano come «<strong>self powered</strong>»...<br />
Devo indagare ancora un po': ma al momento l'HUB - così configurato - è perfettamente funzionante e compliant con tutte le specifiche USB.</p>
]]></description><link>https://keeb.it/post/2131</link><guid isPermaLink="true">https://keeb.it/post/2131</guid><dc:creator><![CDATA[yLothar]]></dc:creator><pubDate>Wed, 04 Jun 2025 21:03:52 GMT</pubDate></item><item><title><![CDATA[Reply to [LAB] YLH2 - USB 2.0 Hub on Wed, 28 May 2025 11:59:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ziolele1980" aria-label="Profile: ZIOLele1980">@<bdi>ZIOLele1980</bdi></a> l'obbiettivo sarebbe quello di realizzare una board dove poter connettere una <a href="https://www.yubico.com/" target="_blank" rel="noopener noreferrer nofollow ugc">Yubikey</a> (presente?) in modo da avere a portata di dito un 2FA sicuro (e comodo).</p>
<p dir="auto">Ero partito da questa idea, che poi alla fine è scalabile: la famiglia USB251xB arriva fino a 4 porte. Al momento ho in mente bene o male questa <em>roadmap</em>:</p>
<ul>
<li>realizzare PCB standalone per fare vari test di stabilità e performance sul progetto</li>
<li>realizzare un macro pad (stile CU7) con HUB integrato</li>
<li>realizzare tastiera 60% con HUB integrato</li>
</ul>
<p dir="auto">Durante il percorso si potrebbe anche lavorare ad una daughter-board con HUB integrato.</p>
<p dir="auto">Sono arrivato ad un prototipo su breadboard funzionante ma con alcune limitazioni, soprattutto in termini di velocità: anche se è solo USB 2.0 il problema dello <em>USB differential routing</em> si sente eccome, dovrò studiare molto bene come realizzare al meglio la PCB.<br />
Il prototipo però supporta il power delivery, USB-C in ingresso e molti parametri possono essere configurati per mezzo di EEPROM (se fai caso dalla GIF si vede infatti prodotto e produttore custom): si dovrà però testare bene per capire se e quanto è stabile.</p>
]]></description><link>https://keeb.it/post/2124</link><guid isPermaLink="true">https://keeb.it/post/2124</guid><dc:creator><![CDATA[yLothar]]></dc:creator><pubDate>Wed, 28 May 2025 11:59:09 GMT</pubDate></item><item><title><![CDATA[Reply to [LAB] YLH2 - USB 2.0 Hub on Wed, 28 May 2025 08:14:04 GMT]]></title><description><![CDATA[<p dir="auto">interessante... 2 porte per, presumo, mouse e eventuali pennette per storage? ( posto che poi uno ci attacca più o meno quello che vuole <img src="https://keeb.it/assets/plugins/nodebb-plugin-emoji/emoji/android/1f603.png?v=8b55039c181" class="not-responsive emoji emoji-android emoji--smiley" style="height:23px;width:auto;vertical-align:middle" title="=)" alt="😃" /> )</p>
]]></description><link>https://keeb.it/post/2123</link><guid isPermaLink="true">https://keeb.it/post/2123</guid><dc:creator><![CDATA[ZIOLele1980]]></dc:creator><pubDate>Wed, 28 May 2025 08:14:04 GMT</pubDate></item></channel></rss>