Raspberry pi 3 B with Ubuntu 18.04 server arm64: what pi version
How can I find what chip I have (what version of raspberry pi) with Ubuntu 18.04 server for arm64? What file can I check or what command can I run? /proc/cpuinfo does not have useful information, just some generic details without mention of the pi.
18.04 raspberrypi
New contributor
|
show 1 more comment
How can I find what chip I have (what version of raspberry pi) with Ubuntu 18.04 server for arm64? What file can I check or what command can I run? /proc/cpuinfo does not have useful information, just some generic details without mention of the pi.
18.04 raspberrypi
New contributor
Thecat /proc/cpuinfo
should produce a Revision number that corresponds to the board. See: raspberrypi.org/documentation/hardware/raspberrypi/…
– Terrance
Apr 1 at 3:47
It doesnt't, at least for Ubuntu 18.04 server. It only says "revision : 4".
– anvoice
2 days ago
You might be at an impasse with this because the RP does not support SMBIOS or DMI that allows for reading board information. It might also be something you might have to file as a bug to get the revision read in the cpuinfo.
– Terrance
2 days ago
I think you're right that it qualifies as a bug. However, I just found at least one workaround. It's short but I'll include it as an answer just in case people find it helpful.
– anvoice
2 days ago
It looks like your actual question was "which Raspberry Pi am I running on?"; whereas your title seems to be asking "which CPU does my Raspberry Pi have?"; hence the confusion in the answers. I suggest that you edit your question to change the title.
– Roger Lipscombe
2 days ago
|
show 1 more comment
How can I find what chip I have (what version of raspberry pi) with Ubuntu 18.04 server for arm64? What file can I check or what command can I run? /proc/cpuinfo does not have useful information, just some generic details without mention of the pi.
18.04 raspberrypi
New contributor
How can I find what chip I have (what version of raspberry pi) with Ubuntu 18.04 server for arm64? What file can I check or what command can I run? /proc/cpuinfo does not have useful information, just some generic details without mention of the pi.
18.04 raspberrypi
18.04 raspberrypi
New contributor
New contributor
edited 2 days ago
anvoice
New contributor
asked Apr 1 at 2:57
anvoiceanvoice
1418
1418
New contributor
New contributor
Thecat /proc/cpuinfo
should produce a Revision number that corresponds to the board. See: raspberrypi.org/documentation/hardware/raspberrypi/…
– Terrance
Apr 1 at 3:47
It doesnt't, at least for Ubuntu 18.04 server. It only says "revision : 4".
– anvoice
2 days ago
You might be at an impasse with this because the RP does not support SMBIOS or DMI that allows for reading board information. It might also be something you might have to file as a bug to get the revision read in the cpuinfo.
– Terrance
2 days ago
I think you're right that it qualifies as a bug. However, I just found at least one workaround. It's short but I'll include it as an answer just in case people find it helpful.
– anvoice
2 days ago
It looks like your actual question was "which Raspberry Pi am I running on?"; whereas your title seems to be asking "which CPU does my Raspberry Pi have?"; hence the confusion in the answers. I suggest that you edit your question to change the title.
– Roger Lipscombe
2 days ago
|
show 1 more comment
Thecat /proc/cpuinfo
should produce a Revision number that corresponds to the board. See: raspberrypi.org/documentation/hardware/raspberrypi/…
– Terrance
Apr 1 at 3:47
It doesnt't, at least for Ubuntu 18.04 server. It only says "revision : 4".
– anvoice
2 days ago
You might be at an impasse with this because the RP does not support SMBIOS or DMI that allows for reading board information. It might also be something you might have to file as a bug to get the revision read in the cpuinfo.
– Terrance
2 days ago
I think you're right that it qualifies as a bug. However, I just found at least one workaround. It's short but I'll include it as an answer just in case people find it helpful.
– anvoice
2 days ago
It looks like your actual question was "which Raspberry Pi am I running on?"; whereas your title seems to be asking "which CPU does my Raspberry Pi have?"; hence the confusion in the answers. I suggest that you edit your question to change the title.
– Roger Lipscombe
2 days ago
The
cat /proc/cpuinfo
should produce a Revision number that corresponds to the board. See: raspberrypi.org/documentation/hardware/raspberrypi/…– Terrance
Apr 1 at 3:47
The
cat /proc/cpuinfo
should produce a Revision number that corresponds to the board. See: raspberrypi.org/documentation/hardware/raspberrypi/…– Terrance
Apr 1 at 3:47
It doesnt't, at least for Ubuntu 18.04 server. It only says "revision : 4".
– anvoice
2 days ago
It doesnt't, at least for Ubuntu 18.04 server. It only says "revision : 4".
– anvoice
2 days ago
You might be at an impasse with this because the RP does not support SMBIOS or DMI that allows for reading board information. It might also be something you might have to file as a bug to get the revision read in the cpuinfo.
– Terrance
2 days ago
You might be at an impasse with this because the RP does not support SMBIOS or DMI that allows for reading board information. It might also be something you might have to file as a bug to get the revision read in the cpuinfo.
– Terrance
2 days ago
I think you're right that it qualifies as a bug. However, I just found at least one workaround. It's short but I'll include it as an answer just in case people find it helpful.
– anvoice
2 days ago
I think you're right that it qualifies as a bug. However, I just found at least one workaround. It's short but I'll include it as an answer just in case people find it helpful.
– anvoice
2 days ago
It looks like your actual question was "which Raspberry Pi am I running on?"; whereas your title seems to be asking "which CPU does my Raspberry Pi have?"; hence the confusion in the answers. I suggest that you edit your question to change the title.
– Roger Lipscombe
2 days ago
It looks like your actual question was "which Raspberry Pi am I running on?"; whereas your title seems to be asking "which CPU does my Raspberry Pi have?"; hence the confusion in the answers. I suggest that you edit your question to change the title.
– Roger Lipscombe
2 days ago
|
show 1 more comment
3 Answers
3
active
oldest
votes
At least on Ubuntu 18.04 server for arm64 and with a Raspberry Pi 3 B, the following command gives the board, including revision:
lshw
A less verbose output that's easier to read is given by:
lshw -short
That gave me my board as a "Raspberry Pi 3 B Rev 1.2", which is exactly what was needed in this case.
New contributor
add a comment |
The command lscpu
is what you are looking for. Here's an example output of the command (taken on my Raspberry Pi 3B+):
lscpu
which produces the following output:
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Model: 4
Model name: ARMv7 Processor rev 4 (v7l)
CPU max MHz: 1200,0000
CPU min MHz: 600,0000
BogoMIPS: 38.40
Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
Another option is the inxi
command (you might have to install it if not present with sudo apt install inxi
). Use the flag -C
as follows:
inxi -C
which produces the following output:
CPU: Quad core ARMv7 rev 4 (v7l) (-MCP-) (ARM)
clock speeds: max: 1200 MHz 1: 1200 MHz 2: 1200 MHz 3: 1200 MHz 4: 1200 MHz
As for identifying which chip your board has, you can check the chip on the board as well the manufacturers website for info and as well as the different selling outlets for getting technical details.
Thank you, that definitely gives extra information. However, the model name when I run lscpu is listed as Cortex A-53, which is on both the pi 2 and 3 I believe. Do you happen to know of a more specific command/file which can distinguish between these two boards?
– anvoice
Apr 1 at 3:21
Normaly the board type and revision is printed on the board too, so you might be able to check that, otherwise I'm out of clues.
– Videonauth
Apr 1 at 3:23
I see. I know what my board is, but a library maintainer needs this info to adjust his library to work with my hardware and software. Tried inxi, it also gives generic output only. Really appreciate the help though.
– anvoice
Apr 1 at 3:25
1
As for the library you want to use, there's only one question. is there a library which provides the same function you need or not. This is the information you can get from your machine program wise. On desktop computers there might be more information to get on the CPU version, the raspberry lacks in that regard a bit as putting all this information in some chips is adding to the costs.
– Videonauth
Apr 1 at 3:46
1
Current inxi (3.0.xx) has way better ARM support than legacy inxi (2.xx.yy), which I think is what you find in 18-4. That will do its level best to give quite a bit of information about the actual SBC device itself. On rasberry pi 3 the only thing it's not catching is the mmc wifi device, which is too complicated to grab data on, but otherwise the report for pi 3 is quite complete in new inxi. Legacy inxi had only rudimentary ARM support. Compare inxi -Fxxx or -v7 on legacy and current on any pi device and you'll see what I mean.
– Lizardx
2 days ago
|
show 2 more comments
I attempted to port pigpio to Debian arm64, in the end my attempt failed because I discovererd that the Debian arm64 kernel doesn't support the userspace mailbox interface that pigpio relies on, but in doing so I did some research on how to detect Pis while running Debian arm64 kernels. I suspect this will also work for ubuntu arm64.
As you have discovered /proc/cpuinfo only has CPU core information on these kernels. Fortunately the information can be found elsewhere in /proc
Firstly to check if the device is a Pi or not, I checked /proc/device-tree/model , this has a text string describing the device, so false positives are unlikely.
To get the revision code I used /proc/device-tree/system/linux,revision , this contains the revision code as a big-endian binary integer. So it needs to be read out of the file as a binary integer, then converted to little-endian (I used ntohl for this).
You can see my code at https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26
Thank you, that is indeed what I was looking for.
– anvoice
2 days ago
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
anvoice is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1130244%2fraspberry-pi-3-b-with-ubuntu-18-04-server-arm64-what-pi-version%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
At least on Ubuntu 18.04 server for arm64 and with a Raspberry Pi 3 B, the following command gives the board, including revision:
lshw
A less verbose output that's easier to read is given by:
lshw -short
That gave me my board as a "Raspberry Pi 3 B Rev 1.2", which is exactly what was needed in this case.
New contributor
add a comment |
At least on Ubuntu 18.04 server for arm64 and with a Raspberry Pi 3 B, the following command gives the board, including revision:
lshw
A less verbose output that's easier to read is given by:
lshw -short
That gave me my board as a "Raspberry Pi 3 B Rev 1.2", which is exactly what was needed in this case.
New contributor
add a comment |
At least on Ubuntu 18.04 server for arm64 and with a Raspberry Pi 3 B, the following command gives the board, including revision:
lshw
A less verbose output that's easier to read is given by:
lshw -short
That gave me my board as a "Raspberry Pi 3 B Rev 1.2", which is exactly what was needed in this case.
New contributor
At least on Ubuntu 18.04 server for arm64 and with a Raspberry Pi 3 B, the following command gives the board, including revision:
lshw
A less verbose output that's easier to read is given by:
lshw -short
That gave me my board as a "Raspberry Pi 3 B Rev 1.2", which is exactly what was needed in this case.
New contributor
New contributor
answered 2 days ago
anvoiceanvoice
1418
1418
New contributor
New contributor
add a comment |
add a comment |
The command lscpu
is what you are looking for. Here's an example output of the command (taken on my Raspberry Pi 3B+):
lscpu
which produces the following output:
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Model: 4
Model name: ARMv7 Processor rev 4 (v7l)
CPU max MHz: 1200,0000
CPU min MHz: 600,0000
BogoMIPS: 38.40
Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
Another option is the inxi
command (you might have to install it if not present with sudo apt install inxi
). Use the flag -C
as follows:
inxi -C
which produces the following output:
CPU: Quad core ARMv7 rev 4 (v7l) (-MCP-) (ARM)
clock speeds: max: 1200 MHz 1: 1200 MHz 2: 1200 MHz 3: 1200 MHz 4: 1200 MHz
As for identifying which chip your board has, you can check the chip on the board as well the manufacturers website for info and as well as the different selling outlets for getting technical details.
Thank you, that definitely gives extra information. However, the model name when I run lscpu is listed as Cortex A-53, which is on both the pi 2 and 3 I believe. Do you happen to know of a more specific command/file which can distinguish between these two boards?
– anvoice
Apr 1 at 3:21
Normaly the board type and revision is printed on the board too, so you might be able to check that, otherwise I'm out of clues.
– Videonauth
Apr 1 at 3:23
I see. I know what my board is, but a library maintainer needs this info to adjust his library to work with my hardware and software. Tried inxi, it also gives generic output only. Really appreciate the help though.
– anvoice
Apr 1 at 3:25
1
As for the library you want to use, there's only one question. is there a library which provides the same function you need or not. This is the information you can get from your machine program wise. On desktop computers there might be more information to get on the CPU version, the raspberry lacks in that regard a bit as putting all this information in some chips is adding to the costs.
– Videonauth
Apr 1 at 3:46
1
Current inxi (3.0.xx) has way better ARM support than legacy inxi (2.xx.yy), which I think is what you find in 18-4. That will do its level best to give quite a bit of information about the actual SBC device itself. On rasberry pi 3 the only thing it's not catching is the mmc wifi device, which is too complicated to grab data on, but otherwise the report for pi 3 is quite complete in new inxi. Legacy inxi had only rudimentary ARM support. Compare inxi -Fxxx or -v7 on legacy and current on any pi device and you'll see what I mean.
– Lizardx
2 days ago
|
show 2 more comments
The command lscpu
is what you are looking for. Here's an example output of the command (taken on my Raspberry Pi 3B+):
lscpu
which produces the following output:
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Model: 4
Model name: ARMv7 Processor rev 4 (v7l)
CPU max MHz: 1200,0000
CPU min MHz: 600,0000
BogoMIPS: 38.40
Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
Another option is the inxi
command (you might have to install it if not present with sudo apt install inxi
). Use the flag -C
as follows:
inxi -C
which produces the following output:
CPU: Quad core ARMv7 rev 4 (v7l) (-MCP-) (ARM)
clock speeds: max: 1200 MHz 1: 1200 MHz 2: 1200 MHz 3: 1200 MHz 4: 1200 MHz
As for identifying which chip your board has, you can check the chip on the board as well the manufacturers website for info and as well as the different selling outlets for getting technical details.
Thank you, that definitely gives extra information. However, the model name when I run lscpu is listed as Cortex A-53, which is on both the pi 2 and 3 I believe. Do you happen to know of a more specific command/file which can distinguish between these two boards?
– anvoice
Apr 1 at 3:21
Normaly the board type and revision is printed on the board too, so you might be able to check that, otherwise I'm out of clues.
– Videonauth
Apr 1 at 3:23
I see. I know what my board is, but a library maintainer needs this info to adjust his library to work with my hardware and software. Tried inxi, it also gives generic output only. Really appreciate the help though.
– anvoice
Apr 1 at 3:25
1
As for the library you want to use, there's only one question. is there a library which provides the same function you need or not. This is the information you can get from your machine program wise. On desktop computers there might be more information to get on the CPU version, the raspberry lacks in that regard a bit as putting all this information in some chips is adding to the costs.
– Videonauth
Apr 1 at 3:46
1
Current inxi (3.0.xx) has way better ARM support than legacy inxi (2.xx.yy), which I think is what you find in 18-4. That will do its level best to give quite a bit of information about the actual SBC device itself. On rasberry pi 3 the only thing it's not catching is the mmc wifi device, which is too complicated to grab data on, but otherwise the report for pi 3 is quite complete in new inxi. Legacy inxi had only rudimentary ARM support. Compare inxi -Fxxx or -v7 on legacy and current on any pi device and you'll see what I mean.
– Lizardx
2 days ago
|
show 2 more comments
The command lscpu
is what you are looking for. Here's an example output of the command (taken on my Raspberry Pi 3B+):
lscpu
which produces the following output:
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Model: 4
Model name: ARMv7 Processor rev 4 (v7l)
CPU max MHz: 1200,0000
CPU min MHz: 600,0000
BogoMIPS: 38.40
Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
Another option is the inxi
command (you might have to install it if not present with sudo apt install inxi
). Use the flag -C
as follows:
inxi -C
which produces the following output:
CPU: Quad core ARMv7 rev 4 (v7l) (-MCP-) (ARM)
clock speeds: max: 1200 MHz 1: 1200 MHz 2: 1200 MHz 3: 1200 MHz 4: 1200 MHz
As for identifying which chip your board has, you can check the chip on the board as well the manufacturers website for info and as well as the different selling outlets for getting technical details.
The command lscpu
is what you are looking for. Here's an example output of the command (taken on my Raspberry Pi 3B+):
lscpu
which produces the following output:
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Model: 4
Model name: ARMv7 Processor rev 4 (v7l)
CPU max MHz: 1200,0000
CPU min MHz: 600,0000
BogoMIPS: 38.40
Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
Another option is the inxi
command (you might have to install it if not present with sudo apt install inxi
). Use the flag -C
as follows:
inxi -C
which produces the following output:
CPU: Quad core ARMv7 rev 4 (v7l) (-MCP-) (ARM)
clock speeds: max: 1200 MHz 1: 1200 MHz 2: 1200 MHz 3: 1200 MHz 4: 1200 MHz
As for identifying which chip your board has, you can check the chip on the board as well the manufacturers website for info and as well as the different selling outlets for getting technical details.
edited 2 days ago
user7761803
152
152
answered Apr 1 at 3:06
VideonauthVideonauth
24.8k1273102
24.8k1273102
Thank you, that definitely gives extra information. However, the model name when I run lscpu is listed as Cortex A-53, which is on both the pi 2 and 3 I believe. Do you happen to know of a more specific command/file which can distinguish between these two boards?
– anvoice
Apr 1 at 3:21
Normaly the board type and revision is printed on the board too, so you might be able to check that, otherwise I'm out of clues.
– Videonauth
Apr 1 at 3:23
I see. I know what my board is, but a library maintainer needs this info to adjust his library to work with my hardware and software. Tried inxi, it also gives generic output only. Really appreciate the help though.
– anvoice
Apr 1 at 3:25
1
As for the library you want to use, there's only one question. is there a library which provides the same function you need or not. This is the information you can get from your machine program wise. On desktop computers there might be more information to get on the CPU version, the raspberry lacks in that regard a bit as putting all this information in some chips is adding to the costs.
– Videonauth
Apr 1 at 3:46
1
Current inxi (3.0.xx) has way better ARM support than legacy inxi (2.xx.yy), which I think is what you find in 18-4. That will do its level best to give quite a bit of information about the actual SBC device itself. On rasberry pi 3 the only thing it's not catching is the mmc wifi device, which is too complicated to grab data on, but otherwise the report for pi 3 is quite complete in new inxi. Legacy inxi had only rudimentary ARM support. Compare inxi -Fxxx or -v7 on legacy and current on any pi device and you'll see what I mean.
– Lizardx
2 days ago
|
show 2 more comments
Thank you, that definitely gives extra information. However, the model name when I run lscpu is listed as Cortex A-53, which is on both the pi 2 and 3 I believe. Do you happen to know of a more specific command/file which can distinguish between these two boards?
– anvoice
Apr 1 at 3:21
Normaly the board type and revision is printed on the board too, so you might be able to check that, otherwise I'm out of clues.
– Videonauth
Apr 1 at 3:23
I see. I know what my board is, but a library maintainer needs this info to adjust his library to work with my hardware and software. Tried inxi, it also gives generic output only. Really appreciate the help though.
– anvoice
Apr 1 at 3:25
1
As for the library you want to use, there's only one question. is there a library which provides the same function you need or not. This is the information you can get from your machine program wise. On desktop computers there might be more information to get on the CPU version, the raspberry lacks in that regard a bit as putting all this information in some chips is adding to the costs.
– Videonauth
Apr 1 at 3:46
1
Current inxi (3.0.xx) has way better ARM support than legacy inxi (2.xx.yy), which I think is what you find in 18-4. That will do its level best to give quite a bit of information about the actual SBC device itself. On rasberry pi 3 the only thing it's not catching is the mmc wifi device, which is too complicated to grab data on, but otherwise the report for pi 3 is quite complete in new inxi. Legacy inxi had only rudimentary ARM support. Compare inxi -Fxxx or -v7 on legacy and current on any pi device and you'll see what I mean.
– Lizardx
2 days ago
Thank you, that definitely gives extra information. However, the model name when I run lscpu is listed as Cortex A-53, which is on both the pi 2 and 3 I believe. Do you happen to know of a more specific command/file which can distinguish between these two boards?
– anvoice
Apr 1 at 3:21
Thank you, that definitely gives extra information. However, the model name when I run lscpu is listed as Cortex A-53, which is on both the pi 2 and 3 I believe. Do you happen to know of a more specific command/file which can distinguish between these two boards?
– anvoice
Apr 1 at 3:21
Normaly the board type and revision is printed on the board too, so you might be able to check that, otherwise I'm out of clues.
– Videonauth
Apr 1 at 3:23
Normaly the board type and revision is printed on the board too, so you might be able to check that, otherwise I'm out of clues.
– Videonauth
Apr 1 at 3:23
I see. I know what my board is, but a library maintainer needs this info to adjust his library to work with my hardware and software. Tried inxi, it also gives generic output only. Really appreciate the help though.
– anvoice
Apr 1 at 3:25
I see. I know what my board is, but a library maintainer needs this info to adjust his library to work with my hardware and software. Tried inxi, it also gives generic output only. Really appreciate the help though.
– anvoice
Apr 1 at 3:25
1
1
As for the library you want to use, there's only one question. is there a library which provides the same function you need or not. This is the information you can get from your machine program wise. On desktop computers there might be more information to get on the CPU version, the raspberry lacks in that regard a bit as putting all this information in some chips is adding to the costs.
– Videonauth
Apr 1 at 3:46
As for the library you want to use, there's only one question. is there a library which provides the same function you need or not. This is the information you can get from your machine program wise. On desktop computers there might be more information to get on the CPU version, the raspberry lacks in that regard a bit as putting all this information in some chips is adding to the costs.
– Videonauth
Apr 1 at 3:46
1
1
Current inxi (3.0.xx) has way better ARM support than legacy inxi (2.xx.yy), which I think is what you find in 18-4. That will do its level best to give quite a bit of information about the actual SBC device itself. On rasberry pi 3 the only thing it's not catching is the mmc wifi device, which is too complicated to grab data on, but otherwise the report for pi 3 is quite complete in new inxi. Legacy inxi had only rudimentary ARM support. Compare inxi -Fxxx or -v7 on legacy and current on any pi device and you'll see what I mean.
– Lizardx
2 days ago
Current inxi (3.0.xx) has way better ARM support than legacy inxi (2.xx.yy), which I think is what you find in 18-4. That will do its level best to give quite a bit of information about the actual SBC device itself. On rasberry pi 3 the only thing it's not catching is the mmc wifi device, which is too complicated to grab data on, but otherwise the report for pi 3 is quite complete in new inxi. Legacy inxi had only rudimentary ARM support. Compare inxi -Fxxx or -v7 on legacy and current on any pi device and you'll see what I mean.
– Lizardx
2 days ago
|
show 2 more comments
I attempted to port pigpio to Debian arm64, in the end my attempt failed because I discovererd that the Debian arm64 kernel doesn't support the userspace mailbox interface that pigpio relies on, but in doing so I did some research on how to detect Pis while running Debian arm64 kernels. I suspect this will also work for ubuntu arm64.
As you have discovered /proc/cpuinfo only has CPU core information on these kernels. Fortunately the information can be found elsewhere in /proc
Firstly to check if the device is a Pi or not, I checked /proc/device-tree/model , this has a text string describing the device, so false positives are unlikely.
To get the revision code I used /proc/device-tree/system/linux,revision , this contains the revision code as a big-endian binary integer. So it needs to be read out of the file as a binary integer, then converted to little-endian (I used ntohl for this).
You can see my code at https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26
Thank you, that is indeed what I was looking for.
– anvoice
2 days ago
add a comment |
I attempted to port pigpio to Debian arm64, in the end my attempt failed because I discovererd that the Debian arm64 kernel doesn't support the userspace mailbox interface that pigpio relies on, but in doing so I did some research on how to detect Pis while running Debian arm64 kernels. I suspect this will also work for ubuntu arm64.
As you have discovered /proc/cpuinfo only has CPU core information on these kernels. Fortunately the information can be found elsewhere in /proc
Firstly to check if the device is a Pi or not, I checked /proc/device-tree/model , this has a text string describing the device, so false positives are unlikely.
To get the revision code I used /proc/device-tree/system/linux,revision , this contains the revision code as a big-endian binary integer. So it needs to be read out of the file as a binary integer, then converted to little-endian (I used ntohl for this).
You can see my code at https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26
Thank you, that is indeed what I was looking for.
– anvoice
2 days ago
add a comment |
I attempted to port pigpio to Debian arm64, in the end my attempt failed because I discovererd that the Debian arm64 kernel doesn't support the userspace mailbox interface that pigpio relies on, but in doing so I did some research on how to detect Pis while running Debian arm64 kernels. I suspect this will also work for ubuntu arm64.
As you have discovered /proc/cpuinfo only has CPU core information on these kernels. Fortunately the information can be found elsewhere in /proc
Firstly to check if the device is a Pi or not, I checked /proc/device-tree/model , this has a text string describing the device, so false positives are unlikely.
To get the revision code I used /proc/device-tree/system/linux,revision , this contains the revision code as a big-endian binary integer. So it needs to be read out of the file as a binary integer, then converted to little-endian (I used ntohl for this).
You can see my code at https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26
I attempted to port pigpio to Debian arm64, in the end my attempt failed because I discovererd that the Debian arm64 kernel doesn't support the userspace mailbox interface that pigpio relies on, but in doing so I did some research on how to detect Pis while running Debian arm64 kernels. I suspect this will also work for ubuntu arm64.
As you have discovered /proc/cpuinfo only has CPU core information on these kernels. Fortunately the information can be found elsewhere in /proc
Firstly to check if the device is a Pi or not, I checked /proc/device-tree/model , this has a text string describing the device, so false positives are unlikely.
To get the revision code I used /proc/device-tree/system/linux,revision , this contains the revision code as a big-endian binary integer. So it needs to be read out of the file as a binary integer, then converted to little-endian (I used ntohl for this).
You can see my code at https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26
answered 2 days ago
Peter GreenPeter Green
1,3501610
1,3501610
Thank you, that is indeed what I was looking for.
– anvoice
2 days ago
add a comment |
Thank you, that is indeed what I was looking for.
– anvoice
2 days ago
Thank you, that is indeed what I was looking for.
– anvoice
2 days ago
Thank you, that is indeed what I was looking for.
– anvoice
2 days ago
add a comment |
anvoice is a new contributor. Be nice, and check out our Code of Conduct.
anvoice is a new contributor. Be nice, and check out our Code of Conduct.
anvoice is a new contributor. Be nice, and check out our Code of Conduct.
anvoice is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1130244%2fraspberry-pi-3-b-with-ubuntu-18-04-server-arm64-what-pi-version%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
The
cat /proc/cpuinfo
should produce a Revision number that corresponds to the board. See: raspberrypi.org/documentation/hardware/raspberrypi/…– Terrance
Apr 1 at 3:47
It doesnt't, at least for Ubuntu 18.04 server. It only says "revision : 4".
– anvoice
2 days ago
You might be at an impasse with this because the RP does not support SMBIOS or DMI that allows for reading board information. It might also be something you might have to file as a bug to get the revision read in the cpuinfo.
– Terrance
2 days ago
I think you're right that it qualifies as a bug. However, I just found at least one workaround. It's short but I'll include it as an answer just in case people find it helpful.
– anvoice
2 days ago
It looks like your actual question was "which Raspberry Pi am I running on?"; whereas your title seems to be asking "which CPU does my Raspberry Pi have?"; hence the confusion in the answers. I suggest that you edit your question to change the title.
– Roger Lipscombe
2 days ago