uzbek-plus/logs/b4a/b4a.sh
q 105bef466a Project Aurora: mainline ARM64 Linux on JZ08AU (MSM8916) LTE modem
Sanitized research log, build/reproducibility docs, DTS, kernel configs,
patches, initramfs sources, bootchain migration plans and test logs.
B5 direct boot PASS; B6 modem lifecycle in progress.
No dumps, NV/EFS, vendor firmware or device identifiers included.
2026-09-30 17:23:18 +03:00

31 lines
2.2 KiB
Bash

#!/bin/sh
# B4a: exactly ONE state-changing QMI command (--dms-set-operating-mode=online); everything else is GET.
# No scan, no registration command, no bearer, no BAM-DMUX. Output -> /tmp/b4a-*.txt (RAM).
D=/dev/wwan0qmi0; Q="qmicli -p -d $D"
g() { echo "### $(cat /proc/uptime | cut -d' ' -f1) $*"; timeout 30 $Q "$@" 2>&1; echo "### rc=$?"; }
nv() { for want in modemst1 modemst2 fsg fsc persist; do for p in /sys/class/block/mmcblk0p*; do
[ "$(sed -n 's/^PARTNAME=//p' $p/uevent)" = "$want" ] && echo "$want $(sha256sum /dev/$(basename $p) | cut -d' ' -f1)"; done; done; }
# 1. safety snapshot
{ g --dms-get-operating-mode; g --uim-get-card-status; g --nas-get-serving-system; g --nas-get-system-info
g --nas-get-signal-info; g --nas-get-system-selection-preference; } > /tmp/b4a-pre.txt
nv > /tmp/b4a-nv-before.txt; cat /sys/block/mmcblk0/stat > /tmp/b4a-stat-before.txt
wc -l < /tmp/rmtfs.log > /tmp/b4a-rmtfs-offset.txt; cp /tmp/rmtfs.log /tmp/b4a-rmtfs-before.log
# 2. the single SET
{ echo "### $(cat /proc/uptime | cut -d' ' -f1) SET --dms-set-operating-mode=online"; timeout 30 $Q --dms-set-operating-mode=online 2>&1; echo "### rc=$?"; } > /tmp/b4a-set.txt
grep -q "^### rc=0" /tmp/b4a-set.txt || { echo "SET FAILED - STOP" >> /tmp/b4a-set.txt; echo B4A-STOPPED; exit 1; }
# 3. confirm
g --dms-get-operating-mode > /tmp/b4a-mode-after.txt
# 4. passive observation (~120 s, GET only)
: > /tmp/b4a-obs.txt; t0=$(cut -d. -f1 /proc/uptime)
while [ $(( $(cut -d. -f1 /proc/uptime) - t0 )) -lt 120 ]; do
{ g --nas-get-serving-system; g --nas-get-system-info; g --nas-get-signal-info; } >> /tmp/b4a-obs.txt
sleep 3
done
# 5. final one-shot GETs + NV after
{ g --dms-get-operating-mode; g --uim-get-card-status; g --nas-get-home-network; g --nas-get-rf-band-info
g --nas-get-cell-location-info; g --nas-get-serving-system; g --nas-get-signal-info; } > /tmp/b4a-final.txt
nv > /tmp/b4a-nv-after.txt; cat /sys/block/mmcblk0/stat > /tmp/b4a-stat-after.txt
cat /sys/class/remoteproc/remoteproc0/state > /tmp/b4a-rproc.txt
tail -n +$(( $(cat /tmp/b4a-rmtfs-offset.txt) + 1 )) /tmp/rmtfs.log > /tmp/b4a-rmtfs-delta.log
cmp -s /tmp/b4a-nv-before.txt /tmp/b4a-nv-after.txt && echo "NV BEFORE==AFTER" > /tmp/b4a-nv-result.txt || echo "NV DIFFERENT" > /tmp/b4a-nv-result.txt
echo B4A-DONE