# B8D — минимальный Linux Wi-Fi stack: wcn36xx → phy0 → wlan0 (RAM test, wlan0 не поднимался) Дата: 2026-10-03. Прогон c1: cold power-on с RESET → lk1st fastboot → `fastboot boot b8/b8d/out/aurora-b8d.img` (1c28d0a4…). eMMC/B7C cache/MPSS/DT/NV/Iris не менялись. Без подключения к сетям, без scan, без AP/hostapd/DHCP/NAT. ## Сборка Kernel: дерево `/home/q/aurora-kbuild/out-b8d` от out-b8b, фрагмент `linux/aurora-b8d.config`. Фактический diff `.config` (`linux/ramboot-b8d.config.diff`): `WLAN, CFG80211, MAC80211, WLAN_VENDOR_ATH, WCN36XX = y` (явно); `CFG80211_DEFAULT_PS, CFG80211_CRDA_SUPPORT, CFG80211_REQUIRE_SIGNED_REGDB, CFG80211_USE_KERNEL_REGDB_KEYS` (defaults); `MAC80211_HAS_RC, MAC80211_RC_MINSTREL, RC_DEFAULT_MINSTREL, RC_DEFAULT="minstrel_ht"` (defaults); `CRYPTO_LIB_ARC4`, `SYSTEM_DATA_VERIFICATION` (select); `WLAN_VENDOR_*` (только меню, без драйверов). CRYPTO AES/CCM/GCM/CMAC уже были. RFKILL уже был `=y`. `QCOM_WCNSS_PIL`, `QCOM_WCNSS_CTRL` сохранены. Набор = JZ02 (там WCN36XX=m). Image.gz 98bdefc1…, image_size 0x1760000. DTB = B8B без изменений (cc74b57d). initramfs = B8C (B7C + NV c6b71825) + `iw 6.17-r0`, `libnl-3`/`libnl-genl-3 3.11.0-r0` (Alpine v3.24 aarch64; index C: == JZ02 `/lib/apk/db/installed`, бинарники sha256 == JZ02). Скрипт `b8/b8d/build-b8d.sh`. ## Результат c1 | Критерий PASS | Результат | |---|---| | LTE baseline | `START OK in 77.8s`, bearer, ping OK | | /firmware + NV | wcnss.mdt загружен, NV-ошибок 0 | | Pronto stable | running с t=135.5 до ручного stop t=595 (~7.7 мин), crash/watchdog/fatal = 0 на всех 6 замерах | | wcn36xx probe | t=136.18 `wcn36xx: mac address: ` (через 24 мс после `WCNSS Version 1.5 1.2`); ошибок wcn36xx 0 | | phy0 | `/sys/class/ieee80211/phy0` → `…/WCNSS_CTRL…/a204000.remoteproc:smd-edge:wcnss:wifi/ieee80211/phy0` | | wlan0 | `wlan0` drv=wcn36xx, managed, DOWN (как и требовалось), `iw dev`: phy#0 / wlan0 / type managed | | iw phy | см. ниже — реальные возможности, только 2.4 GHz | | MAC | ``, `addr_assign_type=0` (permanent, из DT `local-mac-address`) | | rfkill | `rfkill0 phy0 wlan soft=0 hard=0` | | LTE/bearer | ping wwan0 непрерывно ~8 мин: **491/491, без потерь**; после stop MM connected/LTE, BEARER_CONNECTED | | watchdog/recovery | нет | | eMMC writes | `w=0 s=0` | **B8D = PASS.** ### iw phy (phy0) - interface modes: IBSS, **managed**, **AP**, AP/VLAN, monitor; interface combinations не поддерживаются (одна vif). - Band 1 (2.4 GHz) only: HT20/HT40, SGI20/40, RX Greenfield, L-SIG TXOP, MCS 0–7 (1×1), HT max 72 Mbps, AMPDU 64K; каналы 1–11 (20 dBm), 12–14 `no IR` (regdomain world). - ciphers: WEP40/104, TKIP, CCMP-128. WoWLAN magic packet / GTK rekey. Device supports SAE with AUTHENTICATE. - 5 GHz band нет. **Не считать это независимым доказательством WCN3620**: wcn36xx решает про 5 GHz по compatible Iris из DT. ### rpmsg/SMD pronto `WCNSS_CTRL` (qcom_wcnss_ctrl), `WLAN_CTRL` (без rpmsg-драйвера: wcn36xx открывает его через wcnss_ctrl), `APPS_RIVA_CTRL/DATA`, `APPS_RIVA_BT_ACL/CMD`, `APPS_RIVA_ANT_CMD/DATA`, `APPS_FM`, `IPCRTR` (qrtr), `sys_mon` (sysmon). Как в B8C. ## Сравнение с JZ02 (read-only) | | JZ02 | Aurora B8D | |---|---|---| | WCNSS FW | `Version 1.5 1.2` | `Version 1.5 1.2` | | probe | `wcn36xx: mac address: ` сразу после WCNSS_CTRL | `wcn36xx: mac address: ` через 24 мс после WCNSS_CTRL | | MAC источник | lk2nd DT, `02:` locally administered | то же (lk1st/lk2nd из eMMC serial ) | | regdb | `failed to load regulatory.db` | то же | | FW WLAN/RF version | `WCN v2.0 RadioPhy vUnknown with 19.2MHz XO`, API 1.5.1.2 | **не получено** — печатается при ifup (wlan0 up), который в B8D запрещён | | wlan0 | up, regdomain RU | down | ## Замечания / открытые вопросы 1. `cfg80211: failed to load regulatory.db` — regdomain world `00` (каналы 12–13 no-IR). Для AP в RU понадобится regulatory.db (+ подписи; `REQUIRE_SIGNED_REGDB=y`) или явная настройка — вопрос следующего этапа. 2. Строка FW `WCN v2.0 … XO` (и подтверждение XO 19.2 MHz/Iris) появится только при `ip link set wlan0 up` — не делалось. 3. MAC: стабильный и детерминированный (из серийника eMMC), но locally administered `02:…`; стоковый Android использовал `` (источник не установлен — вероятно, стоковый prima/NV). Пока это не блокер. 4. rmtfs `writes_logged` 0→1 при работе WCNSS — третий раз подряд (B8B/B8C/B8D), только RAM-буфер, eMMC 0. 5. stop → `timeout waiting for ssctl service` (как B8B/B8C), WCNSS offline, LTE не задет. ## Цепочка после B8D ``` hardware → DT → remoteproc → wcnss.mdt → WCNSS_CTRL → NV → wcn36xx probe → phy0 → wlan0 (managed, down) PASS → ifup / FW start / scan / AP — не делалось (ждёт GO) ``` ## Файлы `c1/` — host-actions, pre/post (вкл. wifi/rfkill/iw reg/dmesg80211), start, iw-phy.txt, mon-1..6, stop, ping.log, dmesg-pre-stop.full, dmesg.full, uart.log; `c1.console`. Скрипты `b8/b8d/build-b8d.sh`, `b8/b8d/b8d-boot.sh`; `b8/b8d/dl/` (apk + APK-SHA256SUMS + APKINDEX); `b8/b8d/out/` (SHA256SUMS, config-b8d). `linux/aurora-b8d.config`, `linux/ramboot-b8d.config.diff`.