# 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//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/` | 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//extra/` | | Eventual mainline | (rewrite as drivers/staging/bes2600/) | `staging-bes2600` | linux-wireless mailing list RFC |