16

I just ran

cat /proc/cpuinfo

on my board. I get "Revision : 1000002". I've failed to find any mention of which version of the board this is.

Any help?

  • 1
    You changed the meaning of the question. – Alex Chamberlain Sep 12 '12 at 16:02
  • @AlexChamberlain: That is what I meant when I asked the question. – John Smith Sep 12 '12 at 16:07
  • @JohnSmith I would suggest a rollback and asking this as a seperate question, as AlexChamberlain said you have changed the meaning of the question and this question is no longer in sync with its answers. – Steve Robillard Sep 12 '12 at 23:35
  • Hello John Smith. Please don't edit your question to a new one. Instead use the Ask Question button to ask a new question. In the mean time I'm going to roll this question back. Thanks! – user46 Sep 13 '12 at 1:09
  • Related: raspberrypi.stackexchange.com/q/61699/19949 – Ghanima Feb 19 '17 at 23:36
13

According to the info posted as part of the announcement of the upcoming board revision, you have a Model B revision 1.0 board.

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

The code is the last digit of the number returned by

cat /proc/cpuinfo 

(at least until they have more than 9 revisions).

  • so what's with the 1 at the beginning? – John Smith Sep 9 '12 at 4:22
  • @JohnSmith I don't know, but if forced to guess, I would say that based on the chart it indicates the model (B in this case). – Steve Robillard Sep 9 '12 at 4:29
  • There's a comment here where the user implies that that 1 is the "overvolt bit". – nickgrim Sep 10 '12 at 13:10
  • @nickgrim: That's the answer I'm looking for. Can you put it as and answer? – John Smith Sep 10 '12 at 18:25
  • Yes, that 1 is the "warranty voided" bit. – David Schwartz Sep 13 '12 at 2:24
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

There is extensive documentation on the revision field from /proc/cpuinfo on raspberrypi.org nowadays:

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

This documents both an older (incremental) revision code (values 0x0001 to 0x0015, used for the original Rpi 1 models), and a newer format (introduced with the Rpi 2) where the bits of the code actually encode parameters like manufacturer, memory size and board type. It also has a list of all revision codes that are currently in use.

What that page does not document is that the (old-style) revision might have a "1000" prefix that indicates the board has overvoltage applied. I suspect that for new-style revisions, a similar (but shorter, since the revision is longer) prefix applies. Info on this prefix, as well as a list of models with some details on notable differences can be found at https://elinux.org/RPi_HardwareHistory

Also documented on that page on raspberrypi.org is that you can find a human-readable descriptor of the current model in /sys:

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

On startup, the bootloader (or maybe the kernel) autodetects what board it is running on and then loads the appropriate "devicetree" file for that board. This devicetree describes how all hardware is connected and is used to load appropriate drivers. Additionally, this devicetree also contains a "model" property. I was going to say that this is the property that you are actually reading with the above command, except that the model strings defined in the devicetree are actually slightly different (using "+" rather than "Plus" and without the revision string). For example, the devicetree file that I think belongs tot the above command output is bcm2708-rpi-b-plus.dts. There are also bcm2835 versions, but these are not present in my /boot and the bcm2708 dts does claim compatibility with the bcm2835. I also tried decompiling the corresponding dtb file from /boot, but that also gives the string with "+" and no revision, so I'm not quite sure where this model string comes from exactly (and more importantly, what all possible values look like). So maybe the bootloader retrieves a devicetree from elsewhere, or has one builtin somewhere.

I just noticed that /proc/cpuinfo also contains a "Model" field, which I suspect might have the same source.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.