uzbek-plus/logs/b8/b8d/B8D-RESULT.md
q dddc11e57b B8: Wi-Fi (WCNSS/Pronto + wcn36xx + hostapd test AP) and persistent B8F cache
B8A audit, B8B Pronto remoteproc (fixed wcnss_mem 0x8b600000), B8C stock NV
(fixes Pronto startup watchdog), B8D cfg80211/mac80211/wcn36xx -> phy0/wlan0,
B8E wlan0 up + WPA2/CCMP test AP, B8F eMMC cache 857c9c30 with aurora-wifi
autostart: 3/3 class-A cold boots, AP up 76-94 s after power-on, LTE unaffected.
PSK, NV and PSK-bearing images are not published.
2026-10-02 22:55:20 +03:00

83 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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: <MAC>` (через 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 | `<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: <MAC>` сразу после WCNSS_CTRL | `wcn36xx: mac address: <MAC>` через 24 мс после WCNSS_CTRL |
| MAC источник | lk2nd DT, `02:` locally administered | то же (lk1st/lk2nd из eMMC serial <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 использовал
`<MAC>` (источник не установлен — вероятно, стоковый 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`.