Raspberry Pi Model B rev. 2 (ARMv6) - raspberrypi

Raspberry Pi Model B rev. 2

ARM based hobbyist and education computer.

Specification

System Nameraspberrypi
SystemRaspberry Pi Model B rev. 2
CPUBroadcom BCM2835 SoC (ARM 11) @ 700 MHz
RAM512 MiB non-upgradeable
StorageSD Card
Videobuilt-in Broadcom VideoCore IV GPU
Networkbuilt-in SMSC9512/9514 10/100Mb/s ethernet
OSRaspbian

Further Information

System Information

Using commands from the Debian Linux based Raspian distribution, let's find out more about this system...

uname

Operating system name, version, revision and platform information:

$ uname -a
Linux raspberrypi 5.10.17+ #1421 Thu May 27 13:58:02 BST 2021 armv6l GNU/Linux

So we are running a "Linux" kernel, release "5.10.17+", version "#1421 Thu May 27 13:58:02 BST 2021", on a "armv6l" machine, for operating system "GNU/Linux", on a system named "raspberrypi".

lsb_release

Linux Standard Base (LSB) release information:

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

So this is Raspbian 10, which is derived from Debian 10 (buster), the code name gives us the connection to the upstream release.

/proc/cpuinfo & lscpu

Information about the system processor(s) can be obtained from /proc/cpuinfo:

$ cat /proc/cpuinfo
processor	: 0
model name	: ARMv6-compatible processor rev 7 (v6l)
BogoMIPS	: 697.95
Features	: half thumb fastmult vfp edsp java tls 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xb76
CPU revision	: 7

Hardware	: BCM2835
Revision	: 000e
Serial		: 0000000023f73c10
Model		: Raspberry Pi Model B Rev 2

Here we get the system model "Raspberry Pi Model B Rev 2" information as well as details of the processor, an ARM11 core (Wikipedia) implementation of ARMv6.

Alternatively we can use the lscpu command to get a different view of the CPU information:

$ lscpu
Architecture:        armv6l
Byte Order:          Little Endian
CPU(s):              1
On-line CPU(s) list: 0
Thread(s) per core:  1
Core(s) per socket:  1
Socket(s):           1
Vendor ID:           ARM
Model:               7
Model name:          ARM1176
Stepping:            r0p7
CPU max MHz:         700.0000
CPU min MHz:         700.0000
BogoMIPS:            697.95
Flags:               half thumb fastmult vfp edsp java tls

So here we get the endian (ARM processors support both big and little endian) and clock frequency information.

The processor feature flags indicate that this processor supports:

  • 'half' - half-word load & store
  • 'thumb' - the 16-bit Thumb instruction set
  • 'fastmult' - 32x32 -> 64-bit multiply
  • 'vfp' - Vector Floating Point
  • 'edsp' - Digital Signal Processing (DSP) extensions
  • 'java' - Jazelle Java byte-code accelerator
  • 'tls' - Thread Local Storage (TLS) register

For a more complete list of ARM processor feature flags see the ARM answer on linux - What do the flags in /proc/cpuinfo mean? - Unix & Linux Stack Exchange.

lsusb

Report on attached USB devices:

$ lsusb
Bus 001 Device 006: ID 054c:0061 Sony Corp. 
Bus 001 Device 005: ID 054c:005c Sony Corp. 
Bus 001 Device 004: ID 054c:005d Sony Corp. 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. SMC9512/9514 USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Here we see the root hub and the attached ethernet and USB hub devices, to get the topology use the '--tree' option:

$ lsusb --tree
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/3p, 480M
        |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
        |__ Port 2: Dev 4, If 0, Class=Hub, Driver=hub/2p, 12M
            |__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 2: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

Using the device numbers we can map between the two reports, so there's the root (dev. 1), connected to the internal hub (dev. 2), which connects to the ethernet interface (dev. 3) and a device hub (dev. 4) connected to two human interface devices (dev. 5 & 6). The externally connected device is a Sony Playstation 2 USB keyboard which uses an internal hub (dev. 4) to support the keyboard (dev. 5) and connected mouse (dev. 6).

lshw

Generate a hardware report:

$ sudo lshw
raspberrypi                 
    description: ARMv6-compatible processor rev 7 (v6l)
    product: Raspberry Pi Model B Rev 2
    serial: 0000000023f73c10
    width: 32 bits
  *-core
       description: Motherboard
       physical id: 0
     *-cpu
          description: CPU
          product: cpu
          physical id: 0
          bus info: cpu@0
          size: 700MHz
          capacity: 700MHz
          capabilities: half thumb fastmult vfp edsp java tls cpufreq
     *-memory
          description: System memory
          physical id: 1
          size: 431MiB
  *-usbhost
       product: DWC OTG Controller
       vendor: Linux 5.4.79+ dwc_otg_hcd
       physical id: 1
       bus info: usb@1
       logical name: usb1
       version: 5.04
       capabilities: usb-2.00
       configuration: driver=hub slots=1 speed=480Mbit/s
     *-usb
          description: USB hub
          product: SMC9512/9514 USB Hub
          vendor: Standard Microsystems Corp.
          physical id: 1
          bus info: usb@1:1
          version: 2.00
          capabilities: usb-2.00
          configuration: driver=hub maxpower=2mA slots=3 speed=480Mbit/s
        *-usb:0
             description: Ethernet interface
             product: SMSC9512/9514 Fast Ethernet Adapter
             vendor: Standard Microsystems Corp.
             physical id: 1
             bus info: usb@1:1.1
             logical name: eth0
             version: 2.00
             serial: b8:27:eb:f7:3c:10
             size: 100Mbit/s
             capacity: 100Mbit/s
             capabilities: usb-2.00 ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
             configuration: autonegotiation=on broadcast=yes driver=smsc95xx driverversion=22-Aug-2005 duplex=full firmware=smsc95xx USB 2.0 Ethernet ip=192.168.1.88 link=yes maxpower=2mA multicast=yes port=MII speed=100Mbit/s
        *-usb:1
             description: USB hub
             product: SCE USB Keyboard Hub
             vendor: Sony Computer Entertainment Inc.
             physical id: 2
             bus info: usb@1:1.2
             version: 0.01
             capabilities: usb-1.10
             configuration: driver=hub maxpower=100mA slots=2 speed=12Mbit/s
           *-usb:0
                description: Keyboard
                product: SCE USB Keyboard
                vendor: Sony Computer Entertainment Inc.
                physical id: 1
                bus info: usb@1:1.2.1
                version: 0.01
                capabilities: usb-1.10
                configuration: driver=usbhid maxpower=100mA speed=12Mbit/s
           *-usb:1
                description: Mouse
                product: SCE USB MOUSE
                vendor: Sony Computer Entertainment Inc.
                physical id: 2
                bus info: usb@1:1.2.2
                version: 4.41
                capabilities: usb-1.00
                configuration: driver=usbhid maxpower=100mA speed=2Mbit/s

A little bit more information about the system and the USB devices.

Note: requires installation of the 'lshw' package.

dmesg

System start-up messages:

$ dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.17+ (dom@buildbot) (arm-linux-gnueabihf-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1421 Thu May 27 13:58:02 BST 2021
[    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] OF: fdt: Machine model: Raspberry Pi Model B Rev 2
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Reserved memory: created CMA memory pool at 0x17c00000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000] On node 0 totalpages: 114688
[    0.000000]   Normal zone: 1008 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 114688 pages, LIFO batch:31
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 113680
[    0.000000] Kernel command line: coherent_pool=1M snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1080 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=PARTUUID=f819c3dc-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
[    0.000000] Kernel parameter elevator= does not have any effect anymore.
               Please use sysfs to set IO scheduler for individual devices.
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 374456K/458752K available (8638K kernel code, 1324K rwdata, 2816K rodata, 420K init, 837K bss, 18760K reserved, 65536K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] ftrace: allocating 30576 entries in 60 pages
[    0.000000] ftrace: allocated 60 pages with 4 groups
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] random: get_random_bytes called from start_kernel+0x324/0x564 with crng_init=0
[    0.000029] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483647500ns
[    0.000094] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275 ns
[    0.000185] bcm2835: system timer (irq = 27)
[    0.000864] Console: colour dummy device 80x30
[    0.000959] printk: console [tty1] enabled
[    0.001040] Calibrating delay loop... 697.95 BogoMIPS (lpj=3489792)
[    0.060337] pid_max: default: 32768 minimum: 301
[    0.060646] LSM: Security Framework initializing
[    0.060966] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.061002] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.063422] Disabling memory control group subsystem
[    0.063710] CPU: Testing write buffer coherency: ok
[    0.065751] Setting up static identity map for 0x8200 - 0x8238
[    0.067126] devtmpfs: initialized
[    0.080460] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[    0.080867] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.080916] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.089776] pinctrl core: initialized pinctrl subsystem
[    0.092021] NET: Registered protocol family 16
[    0.096862] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[    0.103848] audit: initializing netlink subsys (disabled)
[    0.105491] thermal_sys: Registered thermal governor 'step_wise'
[    0.106679] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[    0.106707] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.106972] Serial: AMBA PL011 UART driver
[    0.110969] audit: type=2000 audit(0.100:1): state=initialized audit_enabled=0 res=1
[    0.129014] bcm2835-mbox 2000b880.mailbox: mailbox enabled
[    0.140856] raspberrypi-firmware soc:firmware: Attached to firmware from 2021-05-27T14:04:13, variant start
[    0.150886] raspberrypi-firmware soc:firmware: Firmware hash is 7d9a298cda813f747b51fe17e1e417e7bf5ca94d
[    0.213893] bcm2835-dma 20007000.dma: DMA legacy API manager, dmachans=0x1
[    0.217230] SCSI subsystem initialized
[    0.217746] usbcore: registered new interface driver usbfs
[    0.217872] usbcore: registered new interface driver hub
[    0.217993] usbcore: registered new device driver usb
[    0.221055] clocksource: Switched to clocksource timer
[    2.232086] VFS: Disk quotas dquot_6.6.0
[    2.232241] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    2.232526] FS-Cache: Loaded
[    2.232939] CacheFiles: Loaded
[    2.254232] NET: Registered protocol family 2
[    2.255668] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    2.255781] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    2.255868] TCP bind hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    2.255946] TCP: Hash tables configured (established 4096 bind 4096)
[    2.256149] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    2.256201] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    2.256696] NET: Registered protocol family 1
[    2.258092] RPC: Registered named UNIX socket transport module.
[    2.258120] RPC: Registered udp transport module.
[    2.258135] RPC: Registered tcp transport module.
[    2.258149] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.259872] hw perfevents: no irqs for PMU, sampling events not supported
[    2.259963] hw perfevents: enabled with armv6_1176 PMU driver, 3 counters available
[    2.265402] Initialise system trusted keyrings
[    2.265975] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    2.278830] zbud: loaded
[    2.282333] FS-Cache: Netfs 'nfs' registered for caching
[    2.283883] NFS: Registering the id_resolver key type
[    2.283960] Key type id_resolver registered
[    2.283977] Key type id_legacy registered
[    2.284238] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.286331] Key type asymmetric registered
[    2.286364] Asymmetric key parser 'x509' registered
[    2.286470] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    2.286494] io scheduler mq-deadline registered
[    2.286510] io scheduler kyber registered
[    2.289928] bcm2708_fb soc:fb: FB found 1 display(s)
[    2.319894] Console: switching to colour frame buffer device 240x67
[    2.360526] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 1920x1080
[    2.361116] random: fast init done
[    2.370030] bcm2835-rng 20104000.rng: hwrng registered
[    2.370687] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    2.372737] gpiomem-bcm2835 20200000.gpiomem: Initialised: Registers at 0x20200000
[    2.399872] brd: module loaded
[    2.418937] loop: module loaded
[    2.421874] Loading iSCSI transport class v2.0-870.
[    2.424780] libphy: Fixed MDIO Bus: probed
[    2.425324] usbcore: registered new interface driver smsc95xx
[    2.425376] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    3.154017] Core Release: 2.80a
[    3.154076] Setting default values for core params
[    3.154125] Finished setting default values for core params
[    3.354641] Using Buffer DMA mode
[    3.354674] Periodic Transfer Interrupt Enhancement - disabled
[    3.354691] Multiprocessor Interrupt Enhancement - disabled
[    3.354711] OTG VER PARAM: 0, OTG VER FLAG: 0
[    3.354844] Dedicated Tx FIFOs mode
[    3.355964] WARN::dwc_otg_hcd_init:1074: FIQ DMA bounce buffers: virt = d7d14000 dma = 0x97d14000 len=9024
[    3.356011] FIQ FSM acceleration enabled for :
               Non-periodic Split Transactions
               Periodic Split Transactions
               High-Speed Isochronous Endpoints
               Interrupt/Control Split Transaction hack enabled
[    3.356035] dwc_otg: Microframe scheduler enabled
[    3.356254] WARN::hcd_init_fiq:457: FIQ on core 0
[    3.356281] WARN::hcd_init_fiq:458: FIQ ASM at c0652330 length 36
[    3.356325] WARN::hcd_init_fiq:497: MPHI regs_base at dc810000
[    3.356369] dwc_otg 20980000.usb: DWC OTG Controller
[    3.356455] dwc_otg 20980000.usb: new USB bus registered, assigned bus number 1
[    3.356565] dwc_otg 20980000.usb: irq 56, io mem 0x00000000
[    3.356638] Init: Port Power? op_state=1
[    3.356655] Init: Power Port (0)
[    3.357278] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    3.357313] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.357338] usb usb1: Product: DWC OTG Controller
[    3.357359] usb usb1: Manufacturer: Linux 5.10.17+ dwc_otg_hcd
[    3.357380] usb usb1: SerialNumber: 20980000.usb
[    3.358907] hub 1-0:1.0: USB hub found
[    3.359065] hub 1-0:1.0: 1 port detected
[    3.361403] dwc_otg: FIQ enabled
[    3.361430] dwc_otg: NAK holdoff enabled
[    3.361447] dwc_otg: FIQ split-transaction FSM enabled
[    3.361481] Module dwc_common_port init
[    3.362176] usbcore: registered new interface driver usb-storage
[    3.362753] mousedev: PS/2 mouse device common for all mice
[    3.364697] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    3.368159] sdhci: Secure Digital Host Controller Interface driver
[    3.368192] sdhci: Copyright(c) Pierre Ossman
[    3.369312] sdhost-bcm2835 20202000.mmc: could not get clk, deferring probe
[    3.369788] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.370727] ledtrig-cpu: registered to indicate activity on CPUs
[    3.371631] hid: raw HID events driver (C) Jiri Kosina
[    3.371998] usbcore: registered new interface driver usbhid
[    3.372023] usbhid: USB HID core driver
[    3.380392] Initializing XFRM netlink socket
[    3.380498] NET: Registered protocol family 17
[    3.380809] Key type dns_resolver registered
[    3.382256] registered taskstats version 1
[    3.382328] Loading compiled-in X.509 certificates
[    3.402532] uart-pl011 20201000.serial: cts_event_workaround enabled
[    3.402760] 20201000.serial: ttyAMA0 at MMIO 0x20201000 (irq = 81, base_baud = 0) is a PL011 rev2
[    3.403127] printk: console [ttyAMA0] enabled
[    3.407106] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    3.410088] sdhost: log_buf @ (ptrval) (97d13000)
[    3.459040] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[    3.463736] of_cfs_init
[    3.464053] of_cfs_init: OK
[    3.487368] Waiting for root device PARTUUID=f819c3dc-02...
[    3.526439] mmc0: host does not support reading read-only switch, assuming write-enable
[    3.529666] mmc0: new high speed SDHC card at address 59b4
[    3.531264] mmcblk0: mmc0:59b4 SDU1  30.2 GiB
[    3.534675]  mmcblk0: p1 p2
[    3.560724] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    3.560907] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    3.571810] devtmpfs: mounted
[    3.579282] Freeing unused kernel memory: 420K
[    3.579307] Kernel memory protection not selected by kernel config.
[    3.579374] Run /sbin/init as init process
[    3.579390]   with arguments:
[    3.579405]     /sbin/init
[    3.579419]     splash
[    3.579430]   with environment:
[    3.579442]     HOME=/
[    3.579456]     TERM=linux
[    3.591496] Indeed it is in host mode hprt0 = 00021501
[    3.801249] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    3.801921] Indeed it is in host mode hprt0 = 00001101
[    4.041876] usb 1-1: New USB device found, idVendor=0424, idProduct=9512, bcdDevice= 2.00
[    4.041925] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    4.043672] hub 1-1:1.0: USB hub found
[    4.043911] hub 1-1:1.0: 3 ports detected
[    4.361299] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    4.491861] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00, bcdDevice= 2.00
[    4.491908] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    4.495647] smsc95xx v2.0.0
[    4.688884] systemd[1]: System time before build time, advancing clock.
[    4.762856] libphy: smsc95xx-mdiobus: probed
[    4.764852] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-20980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:f7:3c:10
[    4.865515] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[    4.873974] NET: Registered protocol family 10
[    4.876955] Segment Routing with IPv6
[    4.995263] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[    4.997958] systemd[1]: Detected architecture arm.
[    5.006928] usb 1-1.2: New USB device found, idVendor=054c, idProduct=005d, bcdDevice= 0.01
[    5.006972] usb 1-1.2: New USB device strings: Mfr=3, Product=1, SerialNumber=0
[    5.006997] usb 1-1.2: Product: SCE USB Keyboard Hub
[    5.007019] usb 1-1.2: Manufacturer: Sony Computer Entertainment Inc.
[    5.010697] hub 1-1.2:1.0: USB hub found
[    5.011474] hub 1-1.2:1.0: 2 ports detected
[    5.025949] systemd[1]: Set hostname to <raspberrypi>.
[    5.331279] usb 1-1.2.1: new full-speed USB device number 5 using dwc_otg
[    5.467016] usb 1-1.2.1: New USB device found, idVendor=054c, idProduct=005c, bcdDevice= 0.01
[    5.467062] usb 1-1.2.1: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[    5.467088] usb 1-1.2.1: Product: SCE USB Keyboard
[    5.467111] usb 1-1.2.1: Manufacturer: Sony Computer Entertainment Inc.
[    5.477241] input: Sony Computer Entertainment Inc. SCE USB Keyboard as /devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:054C:005C.0001/input/input0
[    5.543324] hid-generic 0003:054C:005C.0001: input,hidraw0: USB HID v1.00 Keyboard [Sony Computer Entertainment Inc. SCE USB Keyboard] on usb-20980000.usb-1.2.1/input0
[    5.651268] usb 1-1.2.2: new low-speed USB device number 6 using dwc_otg
[    5.789990] usb 1-1.2.2: New USB device found, idVendor=054c, idProduct=0061, bcdDevice= 4.41
[    5.790037] usb 1-1.2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.790065] usb 1-1.2.2: Product: SCE USB MOUSE
[    5.790089] usb 1-1.2.2: Manufacturer: Sony Computer Entertainment Inc.
[    5.797736] input: Sony Computer Entertainment Inc. SCE USB MOUSE as /devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2.2/1-1.2.2:1.0/0003:054C:0061.0002/input/input1
[    5.802207] hid-generic 0003:054C:0061.0002: input,hidraw1: USB HID v1.00 Mouse [Sony Computer Entertainment Inc. SCE USB MOUSE] on usb-20980000.usb-1.2.2/input0
[    6.896089] uart-pl011 20201000.serial: no DMA platform data
[    8.683803] random: systemd: uninitialized urandom read (16 bytes read)
[    8.719524] random: systemd: uninitialized urandom read (16 bytes read)
[    8.721946] systemd[1]: Listening on udev Control Socket.
[    8.724770] random: systemd: uninitialized urandom read (16 bytes read)
[    8.726228] systemd[1]: Listening on Journal Audit Socket.
[    8.727747] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    8.730637] systemd[1]: Listening on Journal Socket.
[    8.733675] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[    8.752031] systemd[1]: Mounting Kernel Debug File System...
[    8.792544] systemd[1]: Starting Restore / save the current clock...
[    9.575924] i2c /dev entries driver
[   10.021421] systemd[1]: Started Load Kernel Modules.
[   10.051910] systemd[1]: Started Create list of required static device nodes for the current kernel.
[   10.054550] systemd[1]: Mounted POSIX Message Queue File System.
[   10.056856] systemd[1]: Mounted RPC Pipe File System.
[   10.104068] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[   10.183294] systemd[1]: Starting Apply Kernel Variables...
[   10.302591] systemd[1]: Mounting Kernel Configuration File System...
[   10.450274] systemd[1]: Starting File System Check on Root Device...
[   10.764777] systemd[1]: Mounted Kernel Configuration File System.
[   11.041841] systemd[1]: Started Apply Kernel Variables.
[   13.468261] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   14.243733] systemd-journald[94]: Received request to flush runtime journal from PID 1
[   17.984906] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[   18.012474] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[   18.012524] [vc_sm_connected_init]: start
[   18.032446] mc: Linux media interface: v0.10
[   18.035015] [vc_sm_connected_init]: installed successfully
[   18.220252] videodev: Linux video capture interface: v2.00
[   18.336821] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[   18.340766] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[   18.371522] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[   18.393969] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[   18.404664] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[   18.476595] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[   18.477691] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[   18.492772] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[   18.494626] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[   18.494702] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[   18.494754] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[   18.494801] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[   18.494874] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[   18.522130] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[   18.541739] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[   18.565912] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[   18.621280] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[   18.621390] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[   18.712186] bcm2835_audio bcm2835_audio: card created with 4 channels
[   18.734981] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[   18.735088] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[   18.767691] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[   18.767825] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[   18.801812] bcm2835_audio bcm2835_audio: card created with 4 channels
[   23.131266] random: crng init done
[   23.131307] random: 7 urandom warning(s) missed due to ratelimiting
[   35.105004] 8021q: 802.1Q VLAN Support v1.8
[   36.583948] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   37.937176] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   39.695221] SMSC LAN8700 usb-001:003:01: attached PHY driver [SMSC LAN8700] (mii_bus:phy_addr=usb-001:003:01, irq=POLL)
[   39.722562] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   39.725864] smsc95xx 1-1.1:1.0 eth0: Link is Down
[   40.207621] Adding 102396k swap on /var/swap.  Priority:-2 extents:1 across:102396k SSFS
[   41.773142] smsc95xx 1-1.1:1.0 eth0: Link is Up - 100Mbps/Full - flow control off
[   41.773248] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   43.864032] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net.ipv6.neigh.eth0.retrans_time - use net.ipv6.neigh.eth0.retrans_time_ms instead
[   53.440922] NET: Registered protocol family 3
[   53.765664] NET: Registered protocol family 5
[   80.027917] fuse: init (API version 7.32)

Lots and lots of information here, including some bit about the storage device (SD card) and the multimedia devices, which the other commands haven't seen.

Benchmark

Out of curiosity let's do a little benchmarking...

BogoMips

The BogoMips pseudo-benchmark (Wikipedia), is used by the Linux kernel to calibrate a wait loop. On ARM processors an alternative timer-delay approach may be used, and a BogoMips figure may be derived from the system timer instead.

In our case dmesg, /proc/cpuinfo and lscpu report a BogoMips result of 697.95, which is inline with the processor clock of 700 MHz.

Also see GitHub - vitalyvch/Bogo at BogoMIPS_v1.4 for a standalone BogoMips implementation.

OpenSSL

The OpenSSL cryptographic algorithm provides a tool providing a command-line interface to the library methods and one aspect of this provides a speed test. Since I'm mostly interested in older systems I'm going to use the common RSA and MD5 methods.

$ openssl speed md5
Doing md5 for 3s on 16 size blocks: 1427159 md5's in 2.87s
Doing md5 for 3s on 64 size blocks: 1001583 md5's in 2.87s
Doing md5 for 3s on 256 size blocks: 517624 md5's in 2.91s
Doing md5 for 3s on 1024 size blocks: 173893 md5's in 2.87s
Doing md5 for 3s on 8192 size blocks: 24923 md5's in 2.95s
Doing md5 for 3s on 16384 size blocks: 11757 md5's in 2.87s
OpenSSL 1.1.1d  10 Sep 2019
built on: Thu Mar 25 16:22:23 2021 UTC
options:bn(64,32) rc4(char) des(long) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -D__ARM_MAX_ARCH__=7 -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-GRrFMG/openssl-1.1.1d=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
md5               7956.29k    22334.95k    45536.68k    62044.05k    69209.90k    67117.31k
$ openssl speed rsa
Doing 512 bits private rsa's for 10s: 4364 512 bits private RSA's in 9.49s
Doing 512 bits public rsa's for 10s: 45534 512 bits public RSA's in 9.58s
Doing 1024 bits private rsa's for 10s: 797 1024 bits private RSA's in 9.62s
Doing 1024 bits public rsa's for 10s: 15538 1024 bits public RSA's in 9.63s
Doing 2048 bits private rsa's for 10s: 118 2048 bits private RSA's in 9.53s
Doing 2048 bits public rsa's for 10s: 4352 2048 bits public RSA's in 9.65s
Doing 3072 bits private rsa's for 10s: 39 3072 bits private RSA's in 9.78s
Doing 3072 bits public rsa's for 10s: 1952 3072 bits public RSA's in 9.43s
Doing 4096 bits private rsa's for 10s: 17 4096 bits private RSA's in 9.73s
Doing 4096 bits public rsa's for 10s: 1141 4096 bits public RSA's in 9.65s
Doing 7680 bits private rsa's for 10s: 3 7680 bits private RSA's in 10.75s
Doing 7680 bits public rsa's for 10s: 331 7680 bits public RSA's in 9.64s
Doing 15360 bits private rsa's for 10s: 1 15360 bits private RSA's in 27.57s
Doing 15360 bits public rsa's for 10s: 84 15360 bits public RSA's in 9.70s
OpenSSL 1.1.1d  10 Sep 2019
built on: Thu Mar 25 16:22:23 2021 UTC
options:bn(64,32) rc4(char) des(long) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -D__ARM_MAX_ARCH__=7 -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-GRrFMG/openssl-1.1.1d=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
                  sign    verify    sign/s verify/s
rsa  512 bits 0.002175s 0.000210s    459.9   4753.0
rsa 1024 bits 0.012070s 0.000620s     82.8   1613.5
rsa 2048 bits 0.080763s 0.002217s     12.4    451.0
rsa 3072 bits 0.250769s 0.004831s      4.0    207.0
rsa 4096 bits 0.572353s 0.008457s      1.7    118.2
rsa 7680 bits 3.583333s 0.029124s      0.3     34.3
rsa 15360 bits 27.570000s 0.115476s      0.0      8.7

Extracting the relevant figures for comparisons:

  • OpenSSL speed MD5 8,192 bytes: 69,209.90k
  • OpenSSL speed RSA 4,096 bytes sign/s: 1.7
  • OpenSSL speed RSA 4,096 bytes verify/s: 118.2

These look pretty healthy results, and should reflect computational workload performance.


No comments: