Ho appena corso
cat /proc/cpuinfo
sulla mia tavola. Ottengo "Revisione: 1000002". Non sono riuscito a trovare alcuna menzione di quale versione della scheda sia.
Qualsiasi aiuto?
Ho appena corso
cat /proc/cpuinfo
sulla mia tavola. Ottengo "Revisione: 1000002". Non sono riuscito a trovare alcuna menzione di quale versione della scheda sia.
Qualsiasi aiuto?
Risposte:
In base alle informazioni pubblicate come parte dell'annuncio della prossima revisione della scheda , si dispone di una scheda di revisione 1.0 modello B.
MODELLO E CODICE (I) DI REVISIONE Modello B Revisione 1.0 2 Modello B Revisione 1.0 + ECN0001 (nessun fusibile, D14 rimosso) 3 Modello B Revisione 2.0 4, 5, 6
Il codice è l'ultima cifra del numero restituito da
cat /proc/cpuinfo
(almeno fino a quando non hanno più di 9 revisioni).
MODEL AND REVISION CODE(S)
Model B Revision 1.0 2
Model B Revision 1.0 + ECN0001 (no fuses, D14 removed) 3
Model B Revision 2.0 4, 5, 6
/proc/cpuinfo
Oggigiorno esiste una vasta documentazione sul campo della revisione da raspberrypi.org:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md
Ciò documenta sia un codice di revisione (incrementale) più vecchio (valori da 0x0001 a 0x0015, utilizzato per i modelli Rpi 1 originali), sia un formato più recente (introdotto con Rpi 2) in cui i bit del codice codificano effettivamente parametri come produttore, dimensione della memoria e tipo di scheda. Ha anche un elenco di tutti i codici di revisione attualmente in uso.
Ciò che quella pagina non documenta è che la revisione (vecchio stile) potrebbe avere un prefisso "1000" che indica che la scheda è stata applicata una sovratensione. Sospetto che per le revisioni di nuovo stile, si applichi un prefisso simile (ma più breve, poiché la revisione è più lunga). Informazioni su questo prefisso, nonché un elenco di modelli con alcuni dettagli su differenze notevoli sono disponibili all'indirizzo https://elinux.org/RPi_HardwareHistory
Inoltre documentato in quella pagina su raspberrypi.org è che puoi trovare un descrittore leggibile dall'uomo del modello attuale in /sys
:
$ cat /sys/firmware/devicetree/base/model
Raspberry Pi Model B Plus Rev 1.2
All'avvio, il bootloader (o forse il kernel) rileva automaticamente su quale scheda è in esecuzione e quindi carica il file "devicetree" appropriato per quella scheda. Questo documento descrive come è collegato tutto l'hardware e viene utilizzato per caricare i driver appropriati. Inoltre, questo oggetto contiene anche una proprietà "modello". Stavo per dire che questa è la proprietà che stai effettivamente leggendo con il comando precedente, tranne per il fatto che le stringhe del modello definite nella devicetree sono in realtà leggermente diverse (usando "+" anziché "Plus" e senza la stringa di revisione). Ad esempio, il file devicetree che penso appartenga all'output del comando precedente è bcm2708-rpi-b-plus.dts . Esistono anche versioni di bcm2835, ma queste non sono presenti in my/boot
e bcm2708 dts rivendica la compatibilità con bcm2835. Ho anche provato a decompilare il dtb
file corrispondente da /boot
, ma questo dà anche la stringa con "+" e nessuna revisione, quindi non sono del tutto sicuro da dove provenga esattamente questa stringa di modello (e, cosa più importante, come siano tutti i possibili valori). Quindi forse il bootloader recupera un oggetto da altrove o ne ha uno incorporato da qualche parte.
Ho appena notato che /proc/cpuinfo
contiene anche un campo "Modello", che sospetto possa avere la stessa fonte.