Raspberry PI 4: soluzioni ai problemi di gioventù

PI4

Il lancio sul mercato del Raspberry PI 4 ha mostrato alcune pecche di progettazione del team di sviluppo. A che punto siamo con l’affidabilità?

Succede nelle migliori famiglie: si cerca di offrire la più avanzata soluzione sul mercato, e si finisce a correre dietro alle modifiche strutturali per chiudere le falle ed i glitch di funzionamento.

Il Raspberry PI 4 è una macchina avanzatissima ed efficiente: per la sua fascia di prezzo, a partire dai 35 dollari, offre monitor Dual 4K, USB 3.0, Gigabit Ethernet, tagli di memoria da 1, 2 e 4 GB, un sistema operativo a 64 bit, un processore Cortex-A72 quad-core, l’accesso alla microSD, il BlueTooth… e mettere in collegamento tutte queste periferiche senza problemi potrebbe risultare problematico.

Moreware ha trattato le issues man mano che venivano segnalate: problemi con le porte USB, problemi di surriscaldamento, problemi di accesso alla memoria 4GB nella versione Server di Ubuntu e così via. Nulla di veramente bloccante, intendiamoci, dal momento che i sistemi di protezione di Raspy entrano immediatamente in funzione per evitare qualsivoglia danno all’elettronica, ma nell’insieme la presentazione del nostro SBC lo scorso Luglio ha fornito nel tempo una immagine di sistema troppo caricato per risultare stabile.

Ma è veramente così?

La cura

La comunità di Raspberry PI è particolarmente attiva, e lavora di continuo alla neutralizzazione ed alla chiusura di issues legate al PI attraverso modifiche a livello di firmware e di kernel.

Sin dal giorno del lancio, è stata presentata una serie di aggiornamenti che hanno ridotto le richieste di energia e reso possibile alla macchina di girare a temperature decisamente inferiori. La community assicura che ciascuna miglioria viene applicata a tutti i Raspberry PI 4 a prescindere dalla data di acquisto.

Diamo un’occhiata allo sviluppo delle successive release firmware che hanno migliorato il PI; in particolare, ricordiamo come sono stati indirizzati e risolti i seguenti bug.

La base di partenza è data dalle misurazioni del consumo del Raspberry PI 3B+:

Raspberry PI 3B+ power draw

Un processore efficiente ed una progettazione avanzata tengono bassi i consumi del 3B+: appena 1.91W idle, che arriva a 5.77W a pieno carico.

Il Raspberry Pi 4 Model B è stato presentato con la lunga serie di miglioramenti vista prima: L’aggiunta del nuovo hardware rappresentò un costo non indifferente a livello di consumo di energia ed emissione di calore. Di seguito il grafico relativo ai consumi:

Raspberry PI 4 power draw

Inutile nasconderlo,il Raspberry Pi 4 era una brutta bestia, al lancio, dal punto di vista dei consumi. Anche idle, con il desktop Raspbian, la scheda richiede 2.89W, che diventano 7.28W di picco sotto carico.

Raspberry Pi 4 VLI Firmware

Il primo aggiornamento firmware sviluppato per il Raspberry Pi 4 ha riguardato la gestione delle caratteristiche del controller USB Via Labs Inc. (VLI). Il controller VLI è responsabile della gestione delle due porte USB 3.0, e l’aggiornamento firmware ha consentito un abbattimento della temperatura di funzionamento.

Raspberry PI 4 VLI Update

Senza alcun collegamento alle porte USB, il nuovo firmware VLI consente un risultato degno di nota: un consumo idle sceso a 2.62W, ed un consumo sotto carico di 7.01W.

Raspberry Pi 4 VLI, SDRAM firmware

Il successivo update del firmware, prodotto per essere affiancato alle caratteristiche di gestione dell’energia del VLI, riguarda il modo in cui opera la memoria del Raspberry Pi 4, la LPDDR4 SDRAM. Pur senza alcun impatto sulle prestazioni, consente di spingere ulteriormente verso il basso il consumo, sia idle che sotto carico.

Raspberry PI 4 SDRAM updateCome nel caso dell’aggiornamento VLI, l’aggiornamento sulla SDRAM comporta un gradito calo di consumi generali, sia in idle che sotto carico. Il nostro Raspberry Pi 4 consuma ora 2.47W in idle e 6.79W a piena potenza: un bel passo avanti rispetto ai 7.28W iniziali.

Raspberry Pi 4 VLI, SDRAM, Clocking, and Load-Step Firmware

Gli aggiornamenti firmware relativi a Settembre 2019 comprendono diverse modifiche, oltre alla conferma di quelle relative alla gestione dell’energia del firmware VLI e della SDRAM. L’aggiornamento più consistente riguarda il modo in cui il SoC (System on Chip) BCM2711B0 sul Raspberry Pi 4 aumenta e diminuisce la velocità del clock in risposta alle richieste di sistema ed alla temperatura.PI 4 energy management

L’aggiornamento di Settembre presenta nuovi miglioramenti incrementali: il consumo in idle scende ulteriormente a 2.36W e raggiunge il picco di 6.67W sotto carico, sernza alcuna diminuzione in prestazioni pure o in perdita di funzionalità.

Raspberry Pi 4 Beta Firmware

Ma nessuno, in Raspberry Pi, tende a riposare sugli allori. Esiste una prossima versione del firmware in beta-testing, che vedrà presto la luce. Saranno presenti numerosi aggiornamenti, compreso un controllo della tensione operativa del SoC più ottimizzato ed un miglior clocking per la macchina a stati relativa al video HDMI.

Per aggiornare il Raspberry Pi all’ultima versione del firmware, aprire una finestra Terminal e digitare i seguenti comandi:

quindi rilanciare il Raspberry PI con il comando:

Il firmware beta diminuisce la richiesta energetica in idle, e modifica la tensione del SoC per abbassare il consumo a pieno carico senza modificare le prestazioni. Risultato: il calo ad un consumo di 2.1W idle, e 6.41W sotto carico.

PI 4 Beta firmware

Ma non finisce qui!

Mentre l’utilizzo dell’ultimo firmware ha avuto come risultato netto una considerevole diminuzione nei consumi di energia e miglioramenti dal punto di vista della gestione termica, esiste un piccolo trucco per riuscire ad ottenere guadagni ancora migliori: modificare l’orientamento del Raspberry Pi. Per questo test, il Raspberry Pi 4 con il firmware beta installato, è stato posto in verticale con l’header GPIO in basso e le porte HDMI in alto.

Raspberry PI 4 in verticale

Portare il Raspberry Pi 4 in posizione verticale ha un impatto immediato: il SoC in stato idle si tiene intorno ai 2°C più basso rispetto al test precedente, e si riscalda molto più lentamente. Questo consente un più lungo periodo di funzionamento alla massima potenza prima del throttling, consentendo un incremento indiretto della velocità media del clock (per maggiori dettagli consultare l’articolo seguente).

I fattori in gioco sono diversi: i componenti orientati in senso verticale favoriscono la convezione del calore, consentendo all’aria circostante di portar via il calore più rapidamente, mentre sollevare la sezione inferiore della scheda da una superficie del tavolo che non trasmette calore aumenta drasticamente la superficie disponibile per il raffreddamento.

Raspberry times to throttle

Il grafico mostra quqanto tempo occorra per raggiungere il punto di throttle sotto carico. Il Raspberry Pi 3B+ si trova in fondo alla scala, partendo con  un soft-throttling dopo appena 19 secondi. Ogni aggiornamento di firmware per il Raspberry Pi 4, invece, porta il punto di throttle sempre più lontano, sebbene il miglioramento più evidente si ottenga modificando l’orientamento della scheda.

Conclusioni

Il Raspberry PI 4 è nato carico di novità e di aspettative che hanno pesato non poco sullo sviluppo del sistema. Uno sviluppo che in fondo è stato progettato con estrema cura, dal momento che sono stati sufficienti pochi tweak del firmware per riportare i parametri di utilizzo a valori inferiori del 20%-30% rispetto al lancio.

A mio avviso il PI non è, come molti dicono, “nato male o prematuro”: è stato spinto da un time-to-market esasperato, ma la community di sviluppo è sempre riuscita in brevissimo tempo agestire le issues e a rilasciare aggiornamenti in grado di risolvere i problemi aggiungendo valore alle caratteristiche del sistema.

Bibliografia

Il blog di Raspberry PI

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.