Files
besser/notes/source-map.md
T
test0r e580126d84 Initial: BESser umbrella for BES2600 driver mainlining
Sets up the BES2600 mainlining work tree with:

- README: project overview, hardware target, driver lineage
  (CW1200 -> Bestechnic -> arjan-vlek -> Mobian/danctnix), patch series
  status, repo map, build/deploy workflow.

- patches/: c1 patch generated by git format-patch from
  marfrit/bes2600-dkms branch bes2600/factory-request-firmware
  (checkpatch.pl --no-tree --strict: 0 errors / 0 warnings / 0 checks).

- scripts/: build-bes2600-on-ohm.sh, deploy-c1-to-ohm.sh,
  backup-ohm-kernel.sh - reproducible build + deploy + backup.

- fw-analysis/: per-blob strings.txt + fnnames.txt extracted from the
  4 firmware blobs pulled from ohm 2026-04-21. Source binaries NOT
  committed (Bestechnic-proprietary).

- notes/: observed-bugs.md (4 known bug surfaces with file:line +
  patch-series cross-reference), source-map.md (every public driver
  source variant + their canonical role).

Companion work tree: marfrit/bes2600-dkms (Mobian DKMS fork) at
git.reauktion.de.

Signed-off-by: Markus Fritsche <fritsche.markus@gmail.com>
2026-04-22 10:13:23 +02:00

3.9 KiB

BES2600 driver source map

Inventory of every public driver source variant we found (2026-04-21), their relationships, and where each fits in the patch workflow.

The trees

TuxThePenguin0 — pre-removal Android-provenance snapshot

  • URL: gitlab.com/TuxThePenguin0/bes2600
  • Files: 53, flat layout (no subdir)
  • HEAD: 5316ef0 Merge branch 'master' into 'master' (2023-07-14)
  • Provenance markers (Android-only files):
    • bes2600_cfgvendor.c/.h — Android nl80211 vendor-cmd HAL interface
    • bes2600_driver_mode.h — Android normal/factory/cali mode switch
    • bes2600_log.c/.h — Android-style ALOGx logger
  • Use: reference for "what was originally shipped before community cleanup"

arjan-vlek — historical home (sources removed)

  • URL: gitlab.com/arjanvlek/bes2600
  • master tip: 3230fbd Simplify README.md (2024-10) — README only
  • Sources removed in e5055a3 "Removed sources from main branch" (2024-10)
  • Pre-removal tip: a184728 Merge branch 'checkpatch-fixes' into 'master' (same SHA as TuxThePenguin0's history point)

Mobian DKMS — active maintained, primary PR target

  • URL upstream: salsa.debian.org/Mobian-team/devices/bes2600-dkms
  • Our fork: git.reauktion.de/marfrit/bes2600-dkms
  • Default branch: mobian
  • Files: 61 (Debian packaging layout: Makefile.dkms at root + bes2600/* source + debian/)
  • HEAD: fe73571 d/control: Fix packagename of fw dependency (2025-12)
  • Adds Kconfig, Makefile, bes_pwr.c, itp.c, bes_log.h, bes_nl80211_testmode_msg.h over TuxThePenguin0
  • Drops Android-provenance files (cfgvendor, driver_mode, ALOG-style logger)
  • PR mechanism: salsa.debian.org merge requests

danctnix in-kernel

  • URL: codeberg.org/DanctNIX/linux-pinetab2
  • Tag: v6.19.10-danctnix1 matches the running kernel on ohm
  • Path: drivers/staging/bes2600/ (54 files)
  • Adds bes2600_btuart.c (Dang Huynh, 2025) + h4_recv.h (Intel mainline copy) + wifi_testmode_cmd.c
  • Same factory.c / bes_pwr.c / bes2600_sdio.c content as Mobian (verified 0-hunk diffs)
  • Use: build target for in-kernel deployment via /lib/modules/<ver>/extra/

CW1200 mainline — ancestor

  • URL: github.com/torvalds/linux/tree/master/drivers/net/wireless/st/cw1200
  • 27 files, mainline-quality staging-cleaned
  • Same author (Dmitry Tarnyagin / ST-Ericsson)
  • Reference for upstream patterns; some BES2600 bugs may already be fixed in CW1200

OpenHarmony device_soc_bestechnic — Chinese-ecosystem reference

  • URL: gitee.com/openharmony/device_soc_bestechnic
  • Apache-2.0 (CANNOT direct-copy to GPL kernel)
  • LiteOS-M + HDF framework, not Linux driver
  • Use: register-level reference, firmware interaction protocol docs

Firmware mirrors (binary blobs only)

  • github.com/Herrie82/bes2600-firmware — 2 blobs (boot + sdio main), v0.3.5_2023.0209
  • gitlab.com/pine64-org/bes2600-firmware — same blobs
  • On ohm: 5 files at /lib/firmware/bes2600/ (adds btrf + nosignal variants + bes2600_factory.txt)

Filename-level set diff

43 driver C/H files common across TuxThePenguin0 + Mobian + danctnix (the CW1200-descended shared core).

File Status
bes2600_cfgvendor.c/.h TuxThePenguin0 only (Android HAL)
bes2600_driver_mode.h TuxThePenguin0 only
bes2600_log.c/.h TuxThePenguin0 (renamed → bes_log.h in Mobian + danctnix)
dkms.conf, Kconfig Mobian only
bes2600_btuart.c, h4_recv.h danctnix only (BT integrated in same dir)

Workflow

Goal Tree Branch PR via
Per-patch dev marfrit/bes2600-dkms bes2600/<name> salsa MR to upstream Mobian
Live test on ohm ~/bes2600-build/ (tar from danctnix tree, builds against linux-pinetab2-headers) none install to /lib/modules/<ver>/extra/
Eventual mainline (rewrite as drivers/staging/bes2600/) staging-bes2600 linux-wireless mailing list RFC