Danctnix is the de-facto upstream for PineTab2 Arch Linux ARM images and
carries the bes2600 driver in-tree at drivers/staging/bes2600/ in
codeberg.org/DanctNIX/linux-pinetab2 (tag v6.19.10-danctnix1).
Same 6 commits as the Mobian series (staging-prep-series/), regenerated
with paths rooted at drivers/staging/bes2600/ so 'git am' applies
cleanly onto a fresh v6.19.10-danctnix1 clone with no path mangling.
Per-patch content is byte-identical to the Mobian series; the
commit-message bodies are preserved. checkpatch.pl --no-tree --strict
passes for all six.
UPSTREAM.md extended with a 'Near-term alt: danctnix linux-pinetab2
(codeberg)' section covering the submission route (codeberg fork +
PR, or Danct12-direct).
Signed-off-by: Markus Fritsche <fritsche.markus@gmail.com>
UPSTREAM.md captures the submission-ready state:
- patch-by-patch intent and testing status
- CW1200 lineage narrative
- branch-to-patch mapping on marfrit/bes2600-dkms
- submission routes (near-term Mobian MR, longer-term linux-wireless
RFC for drivers/staging/)
- known limitations left for follow-up
- recommended CC list for a future linux-wireless RFC
patches/staging-prep-series/ contains the linear 6-patch series with
cover letter, generated from the bes2600/staging-prep-series branch on
marfrit/bes2600-dkms (cherry-picked off mobian in dependency order).
All patches checkpatch.pl --no-tree --strict clean.
Branch mapping:
1/6 bes2600/factory-request-firmware (c1)
2/6 bes2600/factory-no-efuse-flag (c5, stacked on c1)
3/6 bes2600/factory-thread-dev (c1.1, stacked on c1+c5)
4/6 bes2600/pm-gate-on-handshake (c2, standalone)
5/6 bes2600/remove-chardev-user-interface (c3, standalone)
6/6 bes2600/enable-testmode (c4, standalone)
Total: 79 insertions, 549 deletions. Net -470 lines.
Signed-off-by: Markus Fritsche <fritsche.markus@gmail.com>
Fifth and (for now) final patch in the BESser staging-prep series.
enable-testmode/
0001-bes2600-enable-CONFIG_BES2600_TESTMODE-by-default-fi.patch
Flips the CONFIG_BES2600_TESTMODE Makefile default from n to y, which
exposes the mac80211 testmode_cmd surface (-> firmware
patch_wifi_testMode) through the standard nl80211 testmode interface.
This is the replacement path for the /dev/bes2600 signal/no-signal
switching that the preceding c3 patch removed.
Enabling the flag exposes accumulated bit-rot in the testmode code:
~41 calls to bes2600_info/err/warn/dbg/err_with_cond which have no
corresponding #define anywhere in-tree, plus 3 functions
(bes2600_start_stop_tsm, bes2600_get_tsm_params, bes2600_get_roam_delay)
with external linkage but no prototypes. Both classes of error are
fixed in the same commit:
- Add shim macros to bes_log.h rewiring bes2600_info() etc to the
existing bes_info() / bes_err() / bes_warn() / bes_devel() family,
ignoring the legacy BES2600_DBG_* subsystem-id first argument.
- Define BES2600_DBG_SBUS / _DOWNLOAD / _ITP / _TEST_MODE as 0
constants for documentation and grep-ability.
- Mark the 3 TSM / roam-delay helpers static (they are only called
from bes2600_testmode_cmd in the same file).
Verified on PineTab2 (BES2600WM + RK3566) running linux-pinetab2
6.19.10-danctnix1-1 + CONFIG_NL80211_TESTMODE=y:
- Module builds cleanly
- 'iw phy0' lists 'testmode' under Supported commands
- wifi stays associated post-reboot; bug #2 (PM handshake timeout)
and bug #3 (SDIO TX splat) counts remain 0 across the c1+c5+c2+c3+c4
stack
Signed-off-by: Markus Fritsche <fritsche.markus@gmail.com>
patches/ now mirrors the topic-branch structure on
marfrit/bes2600-dkms:
factory-series/ = bes2600/factory-no-efuse-flag (c1 + c5 stacked)
0001-*-request_firmware-*.patch = c1 (request_firmware() read path)
0002-*-STANDARD_FACTORY_EFUSE_FLAG-*.patch = c5 (default flag off)
pm-gate-on-handshake/ = bes2600/pm-gate-on-handshake (c2 standalone off mobian)
0001-*-gate-device-LP-mode-entry-*.patch = c2 (gate + ETIMEDOUT)
c1 + c5 are stacked because c5's fix depends on c1's rewrite of
factory_section_read_file() having been applied first (otherwise the
parse-fail error is masked).
c2 is standalone because bes_pwr.c is orthogonal to the factory/
request_firmware work; it can be submitted independently.
All three patches verified on PineTab2 (BES2600WM + RK3566) running
linux-pinetab2 6.19.10-danctnix1-1. Bug #1 (factory.txt read path),
bug #1.5 (parse fail), bug #2 (PM handshake timeout spam) all resolved
by this series. Bug #3 (SDIO TX WARN) is reduced to a single boot-time
event that does not cascade.
Signed-off-by: Markus Fritsche <fritsche.markus@gmail.com>
Regenerates patches/ as a proper series off marfrit/bes2600-dkms:mobian:
0001-bes2600-use-request_firmware-for-factory.txt-read.patch (c1)
0002-bes2600-default-STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch (c5)
c5 covers two changes in a single commit:
- Makefile: STANDARD_FACTORY_EFUSE_FLAG default flip from y to n
(the PineTab2 shipped factory.txt has no ##select_efuse_flag
section, so the driver was expecting 31 sscanf fields and failing
on the 30-field file).
- wsm.h: drop the #if defined(STANDARD_FACTORY_EFUSE_FLAG) guard
around the wsm_save_factory_txt_to_mcu() prototype. The function
definition in wsm.c and the call site in sta.c were always ungated,
so with the new flag default gcc -Werror=missing-prototypes would
otherwise break the build.
Both patches verified on PineTab2 (BES2600WM + RK3566) running
linux-pinetab2 6.19.10-danctnix1-1: post-reboot dmesg no longer shows
the factory-read or factory-parse error sequence.
Signed-off-by: Markus Fritsche <fritsche.markus@gmail.com>