Patch I closes besser#1 — the wsm_generic_confirm 0x0007 dmesg storm.
One-line guard in bes2600_hw_scan() refuses the 5 GHz iteration of
mac80211's per-band hw_scan loop with -EOPNOTSUPP, so the firmware
never sees the scan request that would be rejected with status 2 →
-EINVAL cascade. Phase 7 verified 2026-05-18 on ohm running pkgrel=2:
Pattern A 14.3/h → 0/h over 30-min window, no WARN/BUG, single-band
2.4 GHz scans still return BSSes cleanly.
Two flavors imported (scan-filter-5ghz and scan-filter-5ghz-danctnix)
matching the convention of other bes2600 series — the code path
doesn't touch timer APIs so the two are byte-identical for now;
flavor separation is kept to preserve consistency in ohm.yaml.
The arm64 scs-arm-neon-build-fix series is a build-environment
workaround: GCC 15.2.1 strictly validates that -fsanitize=shadow-
call-stack requires -ffixed-x18, and arm_neon.h's #pragma target/
push/pop blocks lose x18 fixing inside the wrapped section. The
Makefile tweak re-adds -ffixed-x18 explicitly for xor-neon.o. It's
a no-op when SCS is off (current pkgrel=2 ohm config) and unblocks
SCS=y once GCC upstream is fixed.
ohm.yaml gains a CONFIG_SHADOW_CALL_STACK=n config override with a
pointer to besser#20 (the re-enable tracking issue) so future
manifest-driven kconfig generation honors the workaround without
silently dropping it.
Source-of-truth commit for Patch I:
marfrit/bes2600-dkms branch bes2600/scan-filter-5ghz sha 093a503
PKGBUILD-side (already deployed to ohm via pkgrel=2):
marfrit/besser branch claude-noether-14 sha ae175f9
Refs: besser#1 (closed), besser#20, kernel-agent#5
Adds fleet/ohm.yaml referencing the bes2600 series mirrored in #2 →
patches/driver/bes2600/. Establishes the manifest shape for ohm
(PineTab2 / RK3566 + BES2600).
Includes list defaults to the -danctnix sibling variants (ohm runs the
DanctNIX kernel base), 17 series total. The pure-mainline non-danctnix
variants are NOT included — they exist for vanilla consumers that ohm
doesn't currently have.
What's NOT in this commit (blockers for #5 full closure):
1. PKGBUILD migration to marfrit-packages/arch/linux-pinetab2-danctnix-besser/
PENDING the kernel-agent template renderer (b2sum regen, pkgrel
bump, cumulative-patch generation per build job).
2. Cumulative-patch ordering field (apply_order). Current order on
boltzmann is A,B,C v3,F,G,D,E,C2,c5.x,c6.x,c7,H — NOT alphabetical.
Need explicit apply_order: [...] in this manifest before
ka-promote can replace the hand-managed cumulative.
3. Config-by-manifest. The .config still lives next to the existing
boltzmann PKGBUILD. Migrate when kconfig-by-manifest lands.
4. Orphan retirement (~/src/besser/danctnix-besser-pkgbuild/ on
boltzmann). Surface to fourier campaign for working-state
migration BEFORE deletion. See besser #17 for the regression
that the orphan caused.
All four blockers documented as TODO at the bottom of fleet/ohm.yaml.
Issue #5 stays OPEN pending these.
Generated-by: Claude Opus 4.7 <claude@reauktion.de>