17

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?

5
  • 1
    You changed the meaning of the question. Commented Sep 12, 2012 at 16:02
  • @AlexChamberlain: That is what I meant when I asked the question.
    – John Smith
    Commented Sep 12, 2012 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. Commented Sep 12, 2012 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
    Commented Sep 13, 2012 at 1:09
  • Related: raspberrypi.stackexchange.com/q/61699/19949
    – Ghanima
    Commented Feb 19, 2017 at 23:36

3 Answers 3

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

6
  • so what's with the 1 at the beginning?
    – John Smith
    Commented Sep 9, 2012 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). Commented Sep 9, 2012 at 4:29
  • There's a comment here where the user implies that that 1 is the "overvolt bit".
    – nickgrim
    Commented Sep 10, 2012 at 13:10
  • @nickgrim: That's the answer I'm looking for. Can you put it as and answer?
    – John Smith
    Commented Sep 10, 2012 at 18:25
  • Yes, that 1 is the "warranty voided" bit. Commented Sep 13, 2012 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 and acknowledge you have read our privacy policy.

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