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>
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
# 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 |
|
||||
Reference in New Issue
Block a user