uzbek-plus/logs/b12/b12r/B12R-ROUTER-RESULT.md

41 lines
4 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.

# B12R — Wi-Fi → LTE router inside Alpine (2026-10-04) — **RAM VALIDATED**
## Pieces
- Kernel `7.2.7-aurora-b12` (/home/q/aurora-kbuild/out-b12, Image 1e8837fc): b10b5 production config + NETFILTER/NF_TABLES/NFT_NAT/NFT_MASQ/CONNTRACK/
NFT_REJECT/NFT_FIB_IPV4/NFT_LOG/LIMIT (+NET_INGRESS/EGRESS/CRC32C pulled in); same tree src-b10b5 (LBC supervisor v4 unchanged). Fragment linux/aurora-b12.config.
- p27 (Alpine): nftables 1.1.6-r1, dnsmasq 2.92_p2-r0 (+ libnftnl, libmnl, jansson, readline) from a local repo; `/usr/sbin/aurora-router up|down|status`,
`/etc/aurora/router.conf`, OpenRC `aurora-router` (need aurora-modem aurora-wifi; waits for START OK + AP ENABLED). **Not in any runlevel yet.**
- RAM image `b12/b12r/out/aurora-b12r.img` 228ebdc3 = kernel b12 + DTB e47762d1 + B9C cmdline + B12Q initramfs.
## Design (runtime only, state in /run/aurora-router)
LAN wlan0 192.168.77.1/24, DHCP .100–.199 1h, dnsmasq bound to wlan0 only (upstream = bearer DNS); default route `dev wwan0` added only if absent and removed on down;
ip_forward=1; nft table `inet aurora_router`: input — mgmt usb0 + lo accepted, wlan0 only DHCP/DNS/ping to 192.168.77.1 (everything else incl. 172.16.42.1 dropped),
wwan0 only established/related + ICMP errors; forward policy drop — wlan0→wwan0 accept, wwan0→wlan0 established only, wlan0↔usb0 drop; postrouting masquerade LAN→wwan0.
## RAM test normal1 (2026-10-04)
- Alpine on p27, PID1 Alpine init, kernel 7.2.7-aurora-b12, modem START OK 74.7 s, AP 78 s, `nft list tables` OK.
- Bug found + fixed: busybox `ip route show default` prints all routes → default route not added; now `ip route | grep ^default`.
- Board itself: default via wwan0, `nslookup ya.ru 192.168.77.1` OK, **apk update via https://mirror.yandex.ru/mirrors/alpine/v3.24 OK** (28553 pkgs).
- Operator note: Beeline currently answers foreign hosts with RST (8.8.8.8, dl-cdn/Fastly, neverssl) **with and without** our nft table → operator-side
whitelisting, not the router. Russian hosts (ya.ru, mirror.yandex.ru) work.
- Phone client (<MAC>): DHCPACK 192.168.77.199, ya.ru opened; forward LAN→WAN 8941 pkts/4.7 MB, WAN→LAN 14149 pkts/16.2 MB, masquerade 147 flows.
- Isolation: phone → http://172.16.42.1 → 10 packets dropped by `ip daddr != 192.168.77.1` (lan_in); http://172.16.42.2 never reached the board
(forward wlan0→usb0 counter 0 — rule present but not exercised by traffic). LTE→LAN default-deny counter 0 (CGNAT; not testable from outside).
- eMMC writes only p27. RAM used 55 MB.
## Persistent candidate (NOT written)
`b12/b12r/cache/cache-extlinux-b12r.img` **e85d862e** (B12Q recipe, kernel b12, label b12r). Emulator: S14 boots (kernel 1e8837fc 25159688 B, dtb e47762d1,
ramdisk 9ade7cff), S13 = live B12Q identical, F1/F3 revert. Write `b12/b12r/B12R-write.sh` (expects live B12Q 59272cd3), rollback `b12/b12r/B12R-rollback.sh` → B12Q.
After the write + first boot: `rc-update add aurora-router default` (p27 only) to make the router start on boot.
## Open
- DONE: apk repositories → mirror.yandex.ru (see end of file).
- No IPv6 for LAN; no MSS clamp (NFT_RT off; MTU 1500 both sides); dnsmasq runs as root; DNS query logging off.
## Persistent (2026-10-04, GO)
- HW EDL `B12R-write.sh`: **B12R_CACHE_WRITE_VERIFIED** — cache e85d862e (readback match), backup W/pre-cache.bin = B12Q 59272cd3, all other partitions unchanged.
- cold1 (no RESET): kernel 7.2.7-aurora-b12 #7, stage0 fsck clean + switch_root (1/3), BOOT OK 5.5 s, / = p27, modem START OK 77.0 s, ping 4/4, AP 81.5 s,
DISPLAY READY, charger CHARGING fault none, RW only disk flag + p27, writes only p27.
- Then `rc-update add aurora-router default` (p27) + start → ROUTER UP OK, default dev wwan0, table inet aurora_router. Autostart on the next boot not yet observed.
- (driver cold message still printed the old hash label "B12R 59272cd3" — cosmetic.)
- 2026-10-04: /etc/apk/repositories on p27 switched to https://mirror.yandex.ru/mirrors/alpine/v3.24/{main,community} (old file kept as /etc/apk/repositories.dl-cdn); apk update OK (28553 pkgs).