RPI4 /proc/cpuinfo missing hardware and model name

A quick cat of /proc/cpuinfo shows that there are no references to hardware, model name or revision the way that there is in Raspian.

This is an issue for me since I use several libraries that reference all of those to differentiate between raspberry pi versions. Particularly: https://github.com/jimbotel/rpi_ws281x/tree/raspi4support. Note board_info.c.

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

Balena version:

root@74e6b0d:~# cat /proc/cpuinfo 
processor	: 0
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 1
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 2
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 3
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

RPI4 version (scroll to bottom for hardware and revision):

pi@raspberrypi4:~ $ cat /proc/cpuinfo
processor	: 0
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 108.00
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 1
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 108.00
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 2
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 108.00
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 3
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 108.00
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

Hardware	: BCM2835
Revision	: c03111

Thank you for reporting this issue. I’ve opened a repo issue for tracking it and will share it with the OS team:

I assume it’s something specific to the Raspberry Pi 4 support, because it works OK with an RPI 3 I have here.

Yep that’s correct. I would also note that revision is missing, which is probably actually more important than “hardware” considering this revision code documentation deprecates “hardware” as a means to detect the processor type: https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md

It’s different for 64-bit kernels. See /sys/firmware/devicetree/base/serial-number and /sys/firmware/devicetree/base/model instead.

Or use:

  • /proc/device-tree/model and (if needed)
  • /proc/device-tree/serial-number

I don’t think the short hex hardware version number is available on 64-bit kernels (but I’d like to know if it is). See: https://github.com/raspberrypi/linux/issues/2110