Como identificar na linha de comando qual revisão do quadro tenho?

16

Eu apenas corri

cat /proc/cpuinfo

no meu quadro. Recebo "Revisão: 1000002". Não encontrei nenhuma menção de qual versão do fórum é essa.

Qualquer ajuda?

John Smith
fonte
11
Você mudou o significado da pergunta.
12138 Alex Chamberlain
@AlexChamberlain: Foi isso que eu quis dizer quando fiz a pergunta.
John Smith
@ JohnSmith, sugiro uma reversão e faço isso como uma pergunta separada, pois AlexChamberlain disse que você alterou o significado da pergunta e essa pergunta não está mais sincronizada com suas respostas.
Steve Robillard
Olá John Smith. Não edite sua pergunta para uma nova. Em vez disso, use o botão Fazer pergunta para fazer uma nova pergunta. Enquanto isso, vou reverter essa pergunta. Obrigado!

Respostas:

13

De acordo com as informações publicadas como parte do anúncio da próxima revisão do quadro , você tem um quadro de revisão 1.0 do Modelo B.

MODELO E CÓDIGO DE REVISÃO
Revisão do Modelo B 1.0 2
Revisão do modelo B 1.0 + ECN0001 (sem fusíveis, D14 removido) 3
Revisão do Modelo B 2.0 4, 5, 6

O código é o último dígito do número retornado por

cat /proc/cpuinfo 

(pelo menos até que tenham mais de 9 revisões).

Steve Robillard
fonte
então, o que há com o 1 no começo?
John Smith
@ JohnSmith Eu não sei, mas se forçado a adivinhar, eu diria que, com base no gráfico, indica o modelo (B neste caso).
Steve Robillard
Há um comentário aqui em que o usuário indica que esse 1 é o "bit de sobretensão".
nickgrim
@nickgrim: Essa é a resposta que estou procurando. Você pode colocar como e responder?
John Smith
Sim, esse 1 é o bit "anulado na garantia".
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
John La Rooy
fonte
1

Atualmente, existe extensa documentação sobre o campo de revisão /proc/cpuinfoem raspberrypi.org:

https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md

Isso documenta um código de revisão (incremental) mais antigo (valores 0x0001 a 0x0015, usado para os modelos Rpi 1 originais) e um formato mais recente (introduzido no Rpi 2), onde os bits do código realmente codificam parâmetros como fabricante, tamanho da memória e tipo de placa. Ele também possui uma lista de todos os códigos de revisão atualmente em uso.

O que essa página não documenta é que a revisão (no estilo antigo) pode ter um prefixo "1000" que indica que a placa possui sobretensão aplicada. Suspeito que, para revisões de novo estilo, se aplique um prefixo semelhante (mas mais curto, pois a revisão é mais longa). Informações sobre esse prefixo, bem como uma lista de modelos com alguns detalhes sobre diferenças notáveis, podem ser encontradas em https://elinux.org/RPi_HardwareHistory

Também documentado nessa página em raspberrypi.org, você pode encontrar um descritor legível por humanos do modelo atual em /sys:

$ cat /sys/firmware/devicetree/base/model 
Raspberry Pi Model B Plus Rev 1.2

Na inicialização, o carregador de inicialização (ou talvez o kernel) detecta automaticamente em qual placa está sendo executada e carrega o arquivo "devicetree" apropriado para essa placa. Este dispositivo descreve como todo o hardware está conectado e é usado para carregar os drivers apropriados. Além disso, este dispositivo também contém uma propriedade "model". Eu diria que esta é a propriedade que você está realmente lendo com o comando acima, exceto que as seqüências de modelo definidas na árvore de dispositivos são realmente ligeiramente diferentes (usando "+" em vez de "Plus" e sem a sequência de revisão). Por exemplo, o arquivo devicetree que eu acho que pertence à saída do comando acima é bcm2708-rpi-b-plus.dts . Existem também versões do bcm2835, mas elas não estão presentes no meu/boote o bcm2708 dts reivindica compatibilidade com o bcm2835. Eu também tentei descompilar o dtbarquivo correspondente de /boot, mas isso também fornece a string com "+" e nenhuma revisão, portanto, não tenho muita certeza de onde vem exatamente essa string de modelo (e mais importante, como são todos os valores possíveis). Então, talvez o carregador de inicialização recupere uma árvore de dispositivo de outro lugar ou tenha uma embutida em algum lugar.

Acabei de notar que /proc/cpuinfotambém contém um campo "Modelo", que suspeito que possa ter a mesma fonte.

Matthijs Kooijman
fonte