uzbek-plus/logs/b8/b8e/B8E-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

6.3 KiB
Raw Blame History

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).

Результат
WCNSS start t=809.3 → up 809.4 → WCNSS Version 1.5 1.2 809.9 → wcn36xx: mac address: <MAC> 809.93
ip link up rc=0, wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP>, 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: <MAC> (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).