D503 - Seven hardware claims from data already in hand, and nine more non-claims
measured - 2026-09-03
Working the outstanding queue after D502 rather than waiting for a capture.
OUTSTANDING 95 -> 69 OPAQUE 39 -> 58 CLAIMED +7
sceSysmoduleLoadModule:
nine identifiers the probe chose, and two answers it got
Eighteen entries, and reading obSCEne's check settled both halves at once:
int rc = sceSysmoduleLoadModule(venc_modules[i].id);
obs_report_measure("106-encoder/sysmodule-load", venc_modules[i].name, "id",
(uint64_t)venc_modules[i].id, "id");The nine :id records are
venc_modules[i].id reported back unchanged - the
probe's own constant, which no platform behaviour could alter. D497's
family exactly, so they are opaque. They remain worth having beside the
return codes; they are not claims about orbistoun.
The nine :rc records are real, and they split:
| answered | |
|---|---|
VENC (0xa0), VIDEOREC (0x81) |
0x0 |
| the other seven | 0x805a1000 |
Two are claimed. orbistoun answers 0 to
every identifier by design (D125 - every library a title imports is
resolved before the guest runs), so it already agrees with the console
on those two, and now says so under a test.
Seven are not, and the reason in the queue was wrong. It read "orbistoun has a sysmodule shim that refuses everything"; the shim refuses nothing. The real blocker is that matching the refusals would mean refusing seven identifiers because one capture, taken at one application category, was refused them - and obSCEne's D301 records that category deciding an unrelated call. A capture at a different category is what says whether this belongs to the module or to the asker. That question is now written in the entry instead of a false statement about our own code.
110-modules/load:
the paths were recoverable
Four entries said "needs the check's exact path reproduced to
claim it". The paths are in obSCEne's own
obs_module_quantity table beside the subjects that name
them, in order: /system/common/lib/libSceLibcInternal.sprx,
/system/common/lib/libSceSysmodule.sprx,
libkernel.prx, libkernel.sprx. All four now
claimed.
Two of the four cannot detect a wrong path, and that was
checked rather than assumed. Misspelling
libSceSysmodule.sprx leaves the test passing: an
unrecognised path falls through to the same 0x8002_0002 the
firmware directories answer. So for the /system/ entries
this pins the answer and not the route - the caveat the neighbouring
firmware-directory test already records, now recorded here too. The
libkernel entries answer 0x2001 and do fail on
a wrong path, which is the break this was watched failing on.
kern.hostname:
D447's own argument, applied to a knob it had not reached
The console answered one byte - a NUL and nothing before it. The entry said orbistoun "could answer it once the knob is wired", and D447 already states why it should:
the knob exists on the console, so refusing it says "no such name" - false - where an empty NUL-terminated string says "exists, no value", which is exactly true.
Wired to an empty string. The width is the claim and the
content is not - a hostname is a per-machine setting, and
orbistoun has none to report, which is the state the measured console
was in. Watched failing by answering "orbistoun"
instead.
The other seven 135-sysctl entries stay:
hw.model and kern.version measure non-empty
per-machine strings, so an empty answer would not match;
hw.machine would need amd64 confirmed rather
than assumed; kern.osrevision,
kern.sdk_version and hw.availpages are values
orbistoun does not source, which D397 settles as
refuse-rather-than-invent.
What this says about the queue
Twenty-six entries moved in a day with no new capture: ten that were never claimable, nine that were the probe's own input, and seven that only needed somebody to read the check. None of it needed hardware, and one of the reasons in the queue was factually wrong about our own code - which is the argument for working a queue rather than counting it.