Perché? Perché? PERCHÉ? Me lo chiedo tutte le volte che accade una cosa del genere, non trovo mai risposte, se non maligne (come diceva quel tale, a pensare male si fa peccato, ma non si sbaglia più di tanto). 

Avrete tutti quanti letto dell’uscita del Raspberry Pi 4. Un po’ a sorpresa, questo dispositivo è arrivato sul mercato per poter fare ancora meglio rispetto al suo onorevole predecessore, il Raspberry Pi 3B+: un processo nuovo, che promette prestazioni più elevate rispetto al passato (ma va?); tre, dico TRE tagli di RAM, ovvero 1GB, 2GB e, addirittura, 4GB (la versione 4 GB è, al momento, introvabile); GigabitEthernet vera; due porte micro-HDMI per due schermi, con risoluzione fino al 4K; due porte USB 3.0; alimentazione tramite USB di tipo C. 

Insomma, sulla carta pare essere un dispositivo incredibile!  Le specifiche sono impressionanti, i maker e gli smanettoni avranno già sicuramente creato dei progetti incredibili con tutta questa potenza, la creatività di certe persone è infinita. Personalmente, la versione che più mi interessa è quella da 4GB di RAM, perché, rispetto alle altre versioni, credo che abbia una marcia in più. La prima cosa che mi è venuta in mente di fare è stata un bel media-centre, tanto per sfruttare la potenza bruta e la GigabitEthernet. 

Tutto molto bello, fantastico e meraviglioso. Fino a quando non ho letto questa notizia: Raspberry Pi admits to faulty USB-C design on the Pi 4. Cito un passaggio fondamentale:

As detailed by Tyler Ward, the Raspberry Pi 4 has a non-compliant USB-C charging port and doesn't work with as many chargers as it should. Thanks to the open nature of Raspberry Pi (even the schematics are online!), Ward was able to discover that Raspberry Pi just didn't design its USB-C port correctly. Two "CC" pins on a USB-C port are supposed to each get their own 5.1K ohms resistor, but Raspberry Pi came up with its own circuit design that allows them to share a single resistor. This is not a compliant design and breaks compatibility with some of the more powerful USB-C chargers out there.

Questo significa solo una cosa: nel processo di ingegnerizzazione se ne sono beatamente sbattuti la ciolla di rispettare lo standard. LO STANDARD, scritto proprio col Caps Lock attivo, per dare più enfasi. E non è la prima volta che accade una cosa del genere: nell’articolo linkato si richiama alla memoria la porta USB type C della Nintendo Switch, anche quella non standard (‘stardi).

Sapete vero che USB sta per Universal Serial Bus? Universal ha un unico e preciso significato, per quale motivo scegliere questa via? Per motivi molto complicati di ingegnerizzazione, che devono rimanere celati? Non so, dubito, anche perché nell’articolo si riportano le parole del cofondatore della Foundation, Eben Upton, il quale si aspetta che il problema venga risolto nelle future revisioni della scheda (ma guarda un po’). E allora per quale motivo è così? Devo davvero pensare male e credere che sia dovuto al fatto che le persone avrebbero comprato il caricatore ufficiale, quasi obbligatoriamente? Chiudo con un’altra citazione dell’articolo, molto chiara:  

Instead of trying to come up with some clever circuit," Leung writes, "hardware designers should simply copy the figure from the USB-C Spec exactly [emphasis his]. The Figure 4–9 I posted above isn’t simply a rough guideline of one way of making a USB-C receptacle. It’s actually normative, meaning mandatory, required by the spec in order to call your system a compliant USB-C power sink. Just copy it.

 

Insomma, io aspetto una revisione della scheda. E per il compleanno devo scegliere qualcos’altro come regalo da far fare alla fidanzata. 

___

Per un approfondimento e benchmark a iosa, fate un salto qui