D405 - The console answered the sysctl probe, and it says 12.40
measured - 2026-08-30
The sysctl section written for the hardware handover (the sibling
probe's 135-sysctl) ran on a target console - PS5, system
software 12.400.009, CFI-1116A - and the results were
already sitting in data/hardware/ps5-imports.txt when this
went looking. The probe was the right instrument and the answers were
waiting.
What it settled
| knob | answer | what it closes |
|---|---|---|
kern.osrelease |
0.0-prototype |
D397 - the value zftpd reads |
kern.ostype |
FreeBSD |
the platform naming its own lineage |
kern.version |
r226974/releases/12.40 Nov 27 2025 |
the firmware, stated outright |
hw.ncpu |
16 | a core count that was invented |
hw.pagesize |
0x4000 |
16 KiB, assumed everywhere, now confirmed |
machdep.tsc_freq |
0x5f25_9b8e |
the counter frequency, by a third route |
hw.physmem |
refused, not approved | some knobs are gatekept, not absent |
kern.osrelease is the one that mattered, and it is not
what the guessing would have produced. It is 0.0-prototype
- a development tag, not a version number. zftpd reads it,
tries to parse a version out of it, finds none, and reports detection
failed. So the payload was behaving correctly all along against a value
nothing here knew, and D397 was right to refuse rather than invent a
plausible 9.00 that would have sent it somewhere else.
machdep.tsc_freq answering 0x5f25_9b8e is
worth its own line: the time stamp counter, the process-time counter,
and now a named sysctl all report the same frequency by three
independent paths. A value measured three ways is a different thing from
one measured once.
The version reconciliation
An earlier reading had this console at 13.09, from
sceKernelGetSystemSwVersion. Both are true and they are
different numbers: kern.version says the system
software is 12.40, while the SDK/kernel version that other call
reports is 13.09. The platform keeps them apart, so this project must
too - the firmware a payload branches on (D403) is the one it reads from
call 649, and which of the two that is remains a question for the
137-kernelcall probe, not yet run.
What was implemented
sysctlbyname now answers the measured strings
(kern.osrelease from the configurable machine,
kern.ostype as the platform's own constant) and the
measured integers (hw.ncpu, hw.pagesize,
machdep.tsc_freq) each at the byte width the platform uses
- a width that is part of the answer, since a caller reading four bytes
of an eight-byte value reads a different number. The values are pinned
as a test that names which observation it contradicts if changed.
The 12.40 profile
The user's console is the reference target. Its measured profile is
firmware = 0x1240,
kernel-release = "0.0-prototype", generation PS5, kind CEX.
The default machine still refuses both (an unconfigured orbistoun does
not claim to be a specific console, D397), so this is a configuration to
apply rather than a default to assume - which is what makes it a
measurement of one machine rather than a fact about all of them.