uzbek-plus/logs/b8/b8a/B8A-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

8.9 KiB
Raw Blame History

B8A — Wi-Fi / WCNSS read-only audit (Aurora JZ08AU, B7C)

Дата: 2026-10-02. Система: Linux 7.2.7-aurora-bam1 #5, DT model «JZ08AU Aurora (RAM boot BAM1)», cache = B7C, uptime 23 мин, LTE/bearer работают. Канал: telnet 172.16.42.1 через 480s.

Что было записано: только /tmp/b8a* на плате (tmpfs, RAM) и файлы в logs/b8/b8a/, b8/b8a/ локально. DT, kernel, eMMC, firmware, modem stack, B7C cache не трогались; модули не грузились; reboot не было; интерфейсы не создавались.

Таблица

Уровень Найдено Статус Примечание
Hardware MSM8916: встроенный WCNSS Pronto + внешний RF Iris (WCN36xx). Сток Android: wlan0 UP 192.168.100.1, MAC , hostapd + wcnss_service, phy0 на a000000.qcom,wcnss-wlan; WCNSS FW CNSS.PR.1.4.2.C4-00084 PASS (железо есть и работало) Точная модель Iris UNKNOWN: в стоковом DT стоит generic MTP-узел qcom,wcnss_wlan с qcom,has-autodetect-xo, без имени чипа. Косвенно: FW caps без DOT11AC → скорее не WCN3680; WCN3620 vs WCN3660 не различить ни по DT, ни по логам
DT /soc@0/remoteproc@a204000 = qcom,pronto-v2-pil,qcom,pronto, smd-edge pronto (edge 6, pid 4), wcnss (qcom,wcnss, WCNSS_CTRL) → wifi (qcom,wcnss-wlan, irq 145/146, local-mac-address от lk2nd по serial), bluetooth; smp2p-wcnss, smsm/wcnss@6, pinctrl wcss-wlan-default-state FAIL: status = "disabled" Отключено намеренно в нашем DTS (linux/dts/msm8916-jz08-aurora-bam1.dts:45). Также reserved-memory/wcnss disabled. Под iris нет compatible (upstream требует qcom,wcn3620/3660/3660b/3680, иначе «no matching compatible for iris»). Supplies vddxo/vddrfa/vddpa/vdddig/vddpx в узле есть
Память wcnss_mem dynamic 6 MiB в 0x86800000+128 MiB, disabled. Сток: peripheral_mem 0x8b600000 / 0x600000. Сейчас 0x8b600000–0x8e6fffff = System RAM, mba @0x8e700000 INFO wcnss.mdt слинкован на 0x8b600000 (сразу за mpss_mem 0x86800000+0x4e00000), все LOAD-сегменты RELOCATABLE → динамическое размещение допустимо, но стоковый адрес свободен и известен
remoteproc Только remoteproc0 = 4080000.remoteproc (MPSS, mba.mbn, running). Нет a204000.remoteproc ни в platform devices, ни в /sys/class/remoteproc FAIL: WLAN remoteproc не существует CONFIG_QCOM_WCNSS_PIL is not set (и DT disabled) → драйвера qcom-wcnss-pil/qcom-iris нет. MPSS не перепутан: remoteproc0 — модем
firmware /firmware/image/wcnss.mdt + b00,b01,b02,b04,b06,b09,b10,b11 (FAT modem p1, RO); fw path = /firmware/image; sha256 == firmware-fat/image PASS (есть) Upstream имя по умолчанию wcnss.mdt → совпадает с путём, копировать не нужно. /lib/firmware, /vendor/firmware отсутствуют
calibration / NV Требуется wlan/prima/WCNSS_qcom_wlan_nv.bin (wcnss_ctrl NVBIN_FILE). В rootfs нет. Сток: persist:/WCNSS_qcom_wlan_nv.bin 29816 B sha256 c6b71825…; system:/etc/firmware/wlan/prima/WCNSS_cfg.dat 11322 B 68e31b4b…; WCNSS_qcom_cfg.ini 9158 B 05588969… (prima-only) FAIL (отсутствует в rootfs) Источник найден: раздел persist (mmcblk0p24, не смонтирован) и локальный дамп partitions/persist.bin. Без NV wcnss_ctrl не скачает NV → wcn36xx не стартует. WCNSS_cfg.dat/cfg.ini нужны только prima, не upstream
kernel driver CONFIG_QCOM_WCNSS_CTRL=y (rpmsg driver qcom_wcnss_ctrl зарегистрирован, устройств нет); CONFIG_WLAN not set → нет wcn36xx; CONFIG_MODULES not set (всё только built-in) FAIL lsmod пуст (ядро без модулей), /lib/modules нет. RPMSG_QCOM_SMD, QCOM_SMEM/SMP2P/SMSM, QCOM_SYSMON, MDT_LOADER, SCM = y (база готова)
cfg80211 / mac80211 CONFIG_CFG80211 not set, MAC80211 нет; CONFIG_WIRELESS=y, RFKILL=y FAIL Нет /sys/class/ieee80211, /proc/net/wireless; regulatory db не нужен до cfg80211
userland iw, rfkill, ethtool, hostapd, wpa_supplicant — absent FAIL (позже) Нужны для B8 AP-этапа, не сейчас
wlan interface ip link: lo, sit0, usb0, wwan0–7. wlan0 нет, rfkill пуст FAIL Следствие всего выше

dmesg (303 строки, весь буфер с 0 с): ни одной строки wlan/wcnss/pronto/iris/cfg80211/firmware-load для WLAN. Это не «ошибка», а отсутствие попытки: узел disabled + драйвера нет. Первая реальная точка обрыва — DT status="disabled", сразу за ней (неявно, т.к. до неё не доходит) — отсутствие QCOM_WCNSS_PIL в ядре. Ошибки в dmesg вида qcom-smsm mboxes, psci PC mode, qseecom untested — старые, к WLAN не относятся.

Цепочка

hardware  Pronto + Iris WCN36xx (модель Iris UNKNOWN)            PASS  (сток Android: wlan0 AP работал)
→ DT      remoteproc@a204000 / smd-edge pronto / wifi / iris     FAIL  status=disabled; iris без compatible; wcnss_mem disabled
→ remoteproc  qcom_wcnss (pronto-v2) + qcom_iris                 FAIL  CONFIG_QCOM_WCNSS_PIL=n → нет устройства remoteproc
→ firmware    /firmware/image/wcnss.mdt+b*                       PASS  на месте, имя совпадает с upstream default
→ NV          wlan/prima/WCNSS_qcom_wlan_nv.bin                  FAIL  нет в rootfs; источник = persist (p24)
→ ctrl        qcom_wcnss_ctrl (rpmsg WCNSS_CTRL)                 built-in, нет канала
→ driver      wcn36xx                                            FAIL  CONFIG_WLAN=n
→ phy         cfg80211 / mac80211                                FAIL  CONFIG_CFG80211=n
→ wlan0                                                          FAIL

Реально дошли до: hardware (доказан стоком) + DT-описание присутствует, но выключено. Firmware-блобы уже на месте. Цепочка в Linux не начинается вообще — ни одного probe-попытки WCNSS.

Предлагаемый ОДИН следующий шаг — B8B (ждёт GO)

B8B: RAM-only проверка только Pronto remoteproc (без Wi-Fi стека). Отдельный RAM-образ (RESET-held power-on → fastboot boot, eMMC и B7C cache не трогаются):

  • kernel: +CONFIG_QCOM_WCNSS_PIL=y (только это; cfg80211/wcn36xx — нет);
  • DT: &wcnss okay, &wcnss_mem okay с фиксированным стоковым reg = <0x8b600000 0x600000>, &wcnss_iris compatible (гипотеза qcom,wcn3620 — 2.4 GHz-only, по FW caps без 11ac; регуляторы как в стоке);
  • firmware: существующий /firmware/image/wcnss.mdt (ничего не копировать), NV пока не добавлять.

Критерий PASS: remoteproc1 = a204000 running, появился rpmsg-канал WCNSS_CTRL на edge pronto, wcnss_ctrl получил version-ответ (версия FW в dmesg), ожидаемая ошибка только Failed to load nv file … (это и есть следующая граница). Параллельно MPSS/LTE/bearer не должны пострадать (проверка как в B7C).

Открытый вопрос, влияющий на B8B: точная модель Iris (WCN3620 vs WCN3660/3660B). Самый надёжный read-only способ — маркировка чипа на плате (фото) — если есть возможность, это стоит сделать до B8B.

Файлы

  • b8a-dt.txt — DT (повторный прогон b8/b8a/b8a-dt.sh: busybox find не входит в симлинк /proc/device-tree без /)
  • b8a-kconfig.txt (+ config.full = /proc/config.gz)
  • b8a-modules.txt, b8a-firmware.txt, b8a-remoteproc.txt, b8a-net.txt
  • b8a-dmesg.txt (+ dmesg.full)
  • b8a-stock-ref.txt — host-side: стоковый DT/Android/UART, хэши NV/cfg, wcnss.mdt program headers
  • скрипты: b8/b8a/b8a-audit.sh (на плате выполнена версия 671b9b0a… с багом пути DT; в файле уже исправлено), b8/b8a/b8a-dt.sh