Compare commits

...
Author SHA1 Message Date
kurogeek 6d131cc727 flake: bump cnx-network so Kea waits for its VLAN sockets
f98226b -> 4146f2c. kea-dhcp4-server started before networkd had
addressed vlan-lan/vlan-mgmt on stellio and ran with no socket on :67;
Kea now requires every configured socket and retries the bind while
networkd catches up.
2026-09-18 10:10:49 +00:00
kurogeek 8a2d67c7a0 flake: bump cnx-network for the wifi bridge enslave fix
60aac6e -> f98226b. Wireless BSS .network files now match on
WLANInterfaceType=ap so networkd enslaves the radios to br0 only once
hostapd has switched them to AP mode; on stellio (mt798x-wmac) the
earlier one-shot enslave failed in station mode and wifi clients never
reached Kea. Also picks up the assertion that no supplicant owns the
radios.
2026-09-18 09:41:47 +00:00
kurogeek c8f17c2aab router: stellio wifi APs on wlan0/wlan1
One dual-band SSID "WhiteHouse" on lan (replaces the liminix router's
WhiteHouse/WhiteHouse-5), WPA3 transition, WiFi 6, old channels 2/36,
country TH. Band mapping wlan0=2g/wlan1=5g assumed from mt7986 phy
order; verify with `iw phy`.
2026-09-18 06:19:24 +00:00
kurogeek 0b35b6da6e router: stellio lan1 (2.5G) as untagged mgmt port 2026-09-18 06:19:24 +00:00
kurogeek 0db9ea384a router: stellio lan5 as pre-cutover staging uplink
DHCP client into the old white-house LAN, SSH only, no VLAN membership.
lan5 goes back to accessPorts.lan5 = "mgmt" at cutover.
2026-09-18 06:19:24 +00:00
2 changed files with 39 additions and 12 deletions
Generated
+4 -4
View File
@@ -181,11 +181,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1789610252, "lastModified": 1789726083,
"narHash": "sha256-k8rD1LMf17vAf+fS9lVC4Yp0C6ok5mYVtfZAsKC6Wy8=", "narHash": "sha256-oxlp99L8KXYDdzroS+QeqhQyFigVHp44D6aVFsifpe0=",
"ref": "clanService-router-ai", "ref": "clanService-router-ai",
"rev": "60aac6efb277a12c24fde29eb77422b3c3519df4", "rev": "4146f2c878b104d96d25575be553378ae276f6e0",
"revCount": 194, "revCount": 198,
"type": "git", "type": "git",
"url": "https://git.b4l.co.th/B4L/cnx-network-clan" "url": "https://git.b4l.co.th/B4L/cnx-network-clan"
}, },
+35 -8
View File
@@ -32,23 +32,50 @@ in
# device tree in matthew-hardware: eth1 = the 2.5G "WAN" port, lan1 = the # device tree in matthew-hardware: eth1 = the 2.5G "WAN" port, lan1 = the
# 2.5G LAN port, lan2-lan5 = the 1G LAN ports (DSA on the MT7531 switch). # 2.5G LAN port, lan2-lan5 = the 1G LAN ports (DSA on the MT7531 switch).
roles.default.machines.stellio.settings = { roles.default.machines.stellio.settings = {
site = "w"; site = "white-house";
siteId = 1; siteId = 8;
# PPPoE on the ISP's VLAN 10, as on the liminix router it replaces # PPPoE on the ISP's VLAN 10, as on the liminix router it replaces
# (routers/white-house); set to null if the ISP runs PPPoE untagged. # (routers/white-house); set to null if the ISP runs PPPoE untagged.
wan.interface = "eth1"; wan.interface = "end1";
wan.vlanId = 10; wan.vlanId = 10;
# 2.5G port carries all VLANs tagged (towards a managed switch / AP). # lan1 (2.5G): untagged mgmt port for on-site recovery. lan2-lan4 (1G):
trunkPorts = [ "lan1" ]; # untagged client ports on lan. lan5 is the pre-cutover staging uplink:
# 1G ports: untagged client ports on lan, and one always-available # DHCP client into the old LAN (routers/white-house), SSH only, no VLAN
# untagged mgmt port for on-site recovery. # membership; set stagingPort = null at cutover.
accessPorts = { accessPorts = {
lan1 = "mgmt";
lan2 = "lan"; lan2 = "lan";
lan3 = "lan"; lan3 = "lan";
lan4 = "lan"; lan4 = "lan";
lan5 = "mgmt"; };
stagingPort = "lan5";
# Both MT7976 radios broadcast the site SSID (same name and passphrase
# as the liminix router's "WhiteHouse"/"WhiteHouse-5", merged into one
# dual-band SSID) as an untagged access port on lan. Passphrase is the
# `wifi-WhiteHouse-passphrase` vars prompt. Channels as on the old
# router. Check the band mapping with `iw phy` (mt7986: phy0/wlan0 =
# 2.4 GHz, phy1/wlan1 = 5 GHz).
wifi = {
enable = true;
countryCode = "TH";
networks.WhiteHouse.vlan = "lan";
radios = {
wlan0 = {
band = "2g";
channel = 2;
wifi6 = true;
networks = [ "WhiteHouse" ];
};
wlan1 = {
band = "5g";
channel = 36;
wifi6 = true;
networks = [ "WhiteHouse" ];
};
};
}; };
# 10.1.<id>.0/24, router .1, DHCP pool .100-.199. # 10.1.<id>.0/24, router .1, DHCP pool .100-.199.