Come posso identificare dalla riga di comando quale revisione della scheda ho?


16

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?


1
Hai cambiato il significato della domanda.
Alex Chamberlain,

@AlexChamberlain: Questo è ciò che intendevo quando ho posto la domanda.
John Smith,

@JohnSmith Suggerirei un rollback e porlo come una domanda separata, poiché AlexChamberlain ha detto che hai cambiato il significato della domanda e questa domanda non è più in sintonia con le sue risposte.
Steve Robillard,

Ciao John Smith. Per favore non modificare la tua domanda in una nuova. Utilizza invece il pulsante Poni domanda per porre una nuova domanda. Nel frattempo ho intenzione di ripetere questa domanda. Grazie!

Risposte:


13

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).


quindi cosa c'è con l'1 all'inizio?
John Smith,

@JohnSmith Non lo so, ma se costretto a indovinare, direi che in base al grafico indica il modello (B in questo caso).
Steve Robillard,

C'è un commento qui in cui l'utente implica che 1 è il "bit di sovratensione".
Nickgrim,

@nickgrim: questa è la risposta che sto cercando. Puoi metterlo come e rispondere?
John Smith,

Sì, quel 1 è il bit di "garanzia annullata".
David Schwartz,

1
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

1

/proc/cpuinfoOggigiorno 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/boote bcm2708 dts rivendica la compatibilità con bcm2835. Ho anche provato a decompilare il dtbfile 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/cpuinfocontiene anche un campo "Modello", che sospetto possa avere la stessa fonte.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.