diff --git a/src/models.c b/src/models.c index ec27ccd..f17076b 100644 --- a/src/models.c +++ b/src/models.c @@ -1,30 +1,30 @@ /* * openuf - models.c * - * Descriptores de hardware para los modelos emulados. + * Hardware descriptors for the emulated models. * - * ── Por qué U6 InWall como modelo principal ───────────────────────── + * —— Why U6 In-Wall was chosen as the default model ———————————————— * - * Se elige U6 IW porque: - * • 5 puertos GbE (eth0-eth4) → cubre la mayoría de routers OpenWrt - * con 4 LAN + 1 WAN convertidos a puertos independientes - * • WiFi 6 (802.11ax) en 2.4 GHz y 5 GHz - * • Sin PoE uplink (el router alimenta por adaptador) - * • Firmware string reconocido por UniFi Network 7.x+ + * U6 In-Wall was selected because: + * • 5 Gigabit Ethernet ports (eth0–eth4) → covers the majority of OpenWrt routers + * with 4 LAN ports + 1 WAN port configured as independent interfaces + * • WiFi 6 (802.11ax) on both 2.4 GHz and 5 GHz bands + * • No PoE uplink (the router is powered by a power adapter) + * • Firmware identifier recognized by UniFi Network 7.x+ * - * Los 5 puertos se mapean así en un router típico OpenWrt: - * eth0 → Puerto 1 (WAN físico, reconfigurado como LAN) - * eth1 → Puerto 2 - * eth2 → Puerto 3 - * eth3 → Puerto 4 - * eth4 → Puerto 5 (o CPU en SoCs sin eth4 físico) + * The five ports are mapped as follows on a typical OpenWrt router: + * eth0 → Port 1 (physical WAN port, reconfigured as LAN) + * eth1 → Port 2 + * eth2 → Port 3 + * eth3 → Port 4 + * eth4 → Port 5 (or the CPU port on SoCs without a physical eth4 interface) */ #include "ufmodel.h" #include /* ═══════════════════════════════════════════════════════════════════ - U6 InWall — 5 puertos GbE + WiFi 6 (2.4+5 GHz) + U6 InWall — 5 ports GbE + WiFi 6 (2.4+5 GHz) ═══════════════════════════════════════════════════════════════════ */ static const uf_radio_t u6iw_radios[] = { /* name radio ch ht min max nss pwr caps ant he */ @@ -32,7 +32,7 @@ static const uf_radio_t u6iw_radios[] = { { "wifi1", "na", 36, "HT80", 5, 23, 2, 20, 7, 0, true }, }; -/* 5 puertos: puerto 0 es uplink, 1-4 son LAN */ +/* 5 ports: port 0 as uplink, port 1-4 as LAN */ static const uf_port_t u6iw_ports[] = { /* ifname name idx poe_caps media speed up uplink duplex */ { "eth0", "eth0", 0, 255, "GE", 1000, false, true, true }, @@ -73,7 +73,7 @@ const uf_model_t model_u6inwall = { }; /* ═══════════════════════════════════════════════════════════════════ - U6 Lite — 1 puerto GbE + WiFi 6 (2.4+5 GHz) + U6 Lite — 1 port GbE + WiFi 6 (2.4+5 GHz) ═══════════════════════════════════════════════════════════════════ */ static const uf_radio_t u6lite_radios[] = { { "wifi0", "ng", 6, "HT40", 5, 23, 2, 20, 4, 0, true }, @@ -98,7 +98,7 @@ const uf_model_t model_u6lite = { }; /* ═══════════════════════════════════════════════════════════════════ - UAP Gen 1 — 1 puerto Fast Ethernet + WiFi N 2.4 GHz + UAP Gen 1 — 1 port Fast Ethernet + WiFi N 2.4 GHz ═══════════════════════════════════════════════════════════════════ */ static const uf_radio_t uapg1_radios[] = { { "wifi0", "ng", 6, "HT20", 5, 23, 2, 20, 4, 0, false }, @@ -142,7 +142,7 @@ const uf_model_t model_uapg1lr = { }; /* ═══════════════════════════════════════════════════════════════════ - UAP AC LR — 1 puerto GbE + WiFi AC dual-band + UAP AC LR — 1 port GbE + WiFi AC dual-band ═══════════════════════════════════════════════════════════════════ */ static const uf_radio_t uapg2aclr_radios[] = { { "wifi0", "ng", 6, "HT40", 5, 23, 2, 20, 4, 0, false }, @@ -187,7 +187,7 @@ const uf_model_t *ufmodel_find(const char *name) !strcasecmp(name, m->platform)) return m; } - /* Aliases de configuración */ + /* Configuration aliases */ if (!strcasecmp(name, "u6-inwall") || !strcasecmp(name, "u6iw")) return &model_u6inwall; if (!strcasecmp(name, "u6-lite")) return &model_u6lite;