Raspberry pi 3 B with Ubuntu 18.04 server arm64: what pi version





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







8















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.










share|improve this question









New contributor




anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • 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
    Apr 1 at 4:23











  • 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
    Apr 1 at 4:54











  • 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
    Apr 1 at 5:11











  • 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
    Apr 1 at 18:34


















8















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.










share|improve this question









New contributor




anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • 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
    Apr 1 at 4:23











  • 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
    Apr 1 at 4:54











  • 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
    Apr 1 at 5:11











  • 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
    Apr 1 at 18:34














8












8








8


1






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.










share|improve this question









New contributor




anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












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






share|improve this question









New contributor




anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited Apr 1 at 20:04







anvoice













New contributor




anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Apr 1 at 2:57









anvoiceanvoice

1419




1419




New contributor




anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.













  • 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
    Apr 1 at 4:23











  • 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
    Apr 1 at 4:54











  • 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
    Apr 1 at 5:11











  • 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
    Apr 1 at 18:34



















  • 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
    Apr 1 at 4:23











  • 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
    Apr 1 at 4:54











  • 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
    Apr 1 at 5:11











  • 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
    Apr 1 at 18:34

















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
Apr 1 at 4:23





It doesnt't, at least for Ubuntu 18.04 server. It only says "revision : 4".

– anvoice
Apr 1 at 4:23













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
Apr 1 at 4:54





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
Apr 1 at 4:54













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
Apr 1 at 5:11





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
Apr 1 at 5:11













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
Apr 1 at 18:34





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
Apr 1 at 18:34










3 Answers
3






active

oldest

votes


















9














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.






share|improve this answer








New contributor




anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




























    7














    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.






    share|improve this answer


























    • 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
      Apr 1 at 4:45





















    1














    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






    share|improve this answer
























    • Thank you, that is indeed what I was looking for.

      – anvoice
      Apr 1 at 20:11












    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.










    draft saved

    draft discarded


















    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









    9














    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.






    share|improve this answer








    New contributor




    anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.

























      9














      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.






      share|improve this answer








      New contributor




      anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.























        9












        9








        9







        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.






        share|improve this answer








        New contributor




        anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.










        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.







        share|improve this answer








        New contributor




        anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.









        share|improve this answer



        share|improve this answer






        New contributor




        anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.









        answered Apr 1 at 5:15









        anvoiceanvoice

        1419




        1419




        New contributor




        anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.





        New contributor





        anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.






        anvoice is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.

























            7














            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.






            share|improve this answer


























            • 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
              Apr 1 at 4:45


















            7














            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.






            share|improve this answer


























            • 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
              Apr 1 at 4:45
















            7












            7








            7







            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.






            share|improve this answer















            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.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Apr 1 at 13:33









            user7761803

            152




            152










            answered Apr 1 at 3:06









            VideonauthVideonauth

            24.9k1273102




            24.9k1273102













            • 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
              Apr 1 at 4:45





















            • 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
              Apr 1 at 4:45



















            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
            Apr 1 at 4:45







            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
            Apr 1 at 4:45













            1














            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






            share|improve this answer
























            • Thank you, that is indeed what I was looking for.

              – anvoice
              Apr 1 at 20:11
















            1














            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






            share|improve this answer
























            • Thank you, that is indeed what I was looking for.

              – anvoice
              Apr 1 at 20:11














            1












            1








            1







            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






            share|improve this answer













            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







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Apr 1 at 18:10









            Peter GreenPeter Green

            1,3501610




            1,3501610













            • Thank you, that is indeed what I was looking for.

              – anvoice
              Apr 1 at 20:11



















            • Thank you, that is indeed what I was looking for.

              – anvoice
              Apr 1 at 20:11

















            Thank you, that is indeed what I was looking for.

            – anvoice
            Apr 1 at 20:11





            Thank you, that is indeed what I was looking for.

            – anvoice
            Apr 1 at 20:11










            anvoice is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            Plaza Victoria

            In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

            How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...