# B8E — wlan0 up (B8E-1) + тестовый WPA2 AP (B8E-2), RAM only Дата: 2026-10-03. Выполнено на живой RAM-загрузке B8D (aurora-b8d.img 1c28d0a4, LTE START OK). WCNSS запускался в этой загрузке второй раз (после B8D stop) — поэтому `phy#1`/`wiphy 1` вместо phy0 (новый probe wcn36xx). eMMC/B7C cache не трогались: `/sys/block/mmcblk0/stat` writes 0 / sectors 0. Все бинарники и конфиги — только в `/tmp` (tmpfs). ## B8E-1 — `ip link set wlan0 up` | | Результат | |---|---| | WCNSS start | t=809.3 → up 809.4 → `WCNSS Version 1.5 1.2` 809.9 → `wcn36xx: mac address: ` 809.93 | | ip link up | rc=0, `wlan0: `, `iw dev`: type managed, **txpower 20.00 dBm** (было 0.00 при down) | | FW/RF | `wcn36xx: firmware WLAN version 'WCN v2.0 RadioPhy vUnknown with 19.2MHz XO' and CRM version 'CNSS-PR-1-4-2-c4-00084'`; `firmware API 1.5.1.2, 41 stations, 2 bssids` — **идентично JZ02** | | стабильность | Pronto running, crash/watchdog/fatal/wcn36xx-err = 0 через ~60 с и ~145 с после up; LTE ping 5/5 ×2; eMMC 0 | **B8E-1 = PASS.** XO 19.2 MHz подтверждён прошивкой (это исключает WCN3680/3660B с 48 MHz XO в upstream-данных); строка `RadioPhy vUnknown` модель Iris сама не называет → WCN3620 = наиболее вероятный, совпадает с JZ02, формально не доказан. ## B8E-2 — тестовый AP Пакеты: Alpine v3.24 aarch64 `hostapd 2.11-r4`, `libssl3`/`libcrypto3 3.5.9-r0`, `libnl3 3.11.0-r0` — все apk проверены: `C:` из APKINDEX == sha1 control-сегмента, `datahash` из .PKGINFO == sha256 data-сегмента. RAM-бандл `b8/b8e/bundle/` (SHA256SUMS), на плате `/tmp/b8e`, `LD_LIBRARY_PATH`. Конфиг: SSID `aurora-b8e`, ch 6, hw_mode g, 802.11n HT20, WMM, WPA2-PSK, CCMP only, без country (regdomain world). Пароль — одноразовый тестовый (только в `bundle/hostapd-b8e.conf`, при публикации вырезать). Без DHCP/NAT/bridge; на wlan0 только статический 192.168.50.1/24 для проверки канала; на телефоне вручную 192.168.50.2. | Критерий | Результат | |---|---| | AP поднят | `wlan0: AP-ENABLED`, `iw dev`: type AP, ssid aurora-b8e, ch 6 (2437 MHz) 20 MHz, 20 dBm. Единственное предупреждение `VLAN: SET_VLAN_NAME_TYPE_CMD failed` (VLAN не используется) | | SSID виден | телефон нашёл и подключился | | WPA2/CCMP | `AP-STA-CONNECTED` → `pairwise key handshake completed (RSN)` → `EAPOL-4WAY-HS-COMPLETED`, `authorized: yes` (оба подключения) | | данные по каналу | ping AP→телефон есть ответы (min 2 ms); HTTP с телефона на busybox httpd 192.168.50.1: 200/304, «открывается сразу, обновляется быстро» | | соединение держится | сессия 1: 351 с, завершена **телефоном** (deauth reason 3 — уходил к другому AP, подтверждено пользователем); сессия 2 (новый случайный MAC телефона): 436 с до остановки AP, 5 контрольных замеров без разрывов, tx failed 0, сигнал −26…−34 dBm, tx до MCS7 65 Mbit/s | | Pronto/LTE | Pronto running всё время, crash 0; LTE ping wwan0 OK на всех замерах, MM connected, BEARER_CONNECTED | | eMMC | writes 0 | **B8E-2 = PASS** по заданным критериям. ## Найденная особенность: доставка кадров спящему клиенту Ping AP→телефон (2 мин, экран включён): 65/120, avg 2.8 с, max 10.8 с; ответы приходят пачками с RTT, уменьшающимся ровно на 1000 мс (10856, 9856, 6855, …) → кадры для клиента в power save копятся и уходят, только когда клиент просыпается сам. В wcn36xx (7.2.7) нет `set_tim` и нет `AP_LINK_PS`; шаблон beacon с TIM отдаётся в FW только при BSS_CHANGED_BEACON → вероятно, TIM-бит для PS-станции не выставляется (гипотеза, не доказана). JZ02 использует такой же hostapd-конфиг (ch 6, HT, WPA2/CCMP, +country RU, SHORT-GI-20, ap_isolate) — без обходного пути. Практически: трафик, инициированный клиентом (HTTP), работает быстро. Риск для роутера — входящие без запроса пакеты (push, долгие idle-TCP) к спящему клиенту. Не блокер для B8F; отметить для B9 (возможны: `ap_max_inactivity`/`skip_inactivity_poll`, проверка `dtim_period`, или патч wcn36xx set_tim — отдельной задачей). ## Прочее - regulatory.db отсутствует → world `00` (ch 12–13 no-IR). JZ02 ставит `country_code=RU` + `ieee80211d=1`; без regdb это не меняет реальный regdomain ядра — решать при B8F/B9. - MAC AP: `` (lk DT, из eMMC serial) — стабилен. - После теста: hostapd и httpd остановлены, адрес снят, `wlan0` managed/UP, Pronto running. Плата — RAM-загрузка B8D. ## Цепочка ``` hardware → DT → remoteproc → wcnss.mdt → WCNSS_CTRL → NV → wcn36xx → phy → wlan0 up (FW 19.2 MHz XO) → hostapd AP WPA2/CCMP → телефон подключён, данные ходят, сессия держится PASS → persistent cache + автозапуск (B8F) — ждёт GO ``` ## Файлы `e1/` — e1-up.txt, mon-1/2; `e2/` — ap-start, mon-1..4, hold.txt, ping-phone.log, hostapd.log (ключи [REMOVED]), httpd.log, dmesg.full, stop.txt. Скрипты: `b8/b8e/e1-up.sh`, `b8/b8e/e1-mon.sh`, `b8/b8e/bundle/{ap-start,ap-mon,ap-stop}.sh`; пакеты `b8/b8e/dl/` (APK-SHA256SUMS, APKINDEX).