# Telekom sagemcom F@st 5655v2 router
A router a gyári beállításokkal kíválóan működik. A gondok nálam akkor kezdődtek amikor a valós használati körülményeimhez próbáltam beállítani.
A gyári beállításban a router a **192.168.1.1**-es IP címen üzemel. A DHCP szerver a **192.068.1.100-200** tartományban oszt IP címet a hálózati eszközöknek.
Az első dolgom volt, hogy az IP címet, és a DHCP pool-t átállítottam a **10.0.0.1** és **10.0.0.100-250** címre és tartományra.
A beállítások mentése után a kívánt módon működött az eszköz, mígnem a GUEST Wifi lehetőséget szerettem volna kipróbálni.
A DHCP beállítások oldalon van egy figyelmeztető üzenet, miszerint a DHCP pool beállításánál ügyeljünk arra, hogy a *192.168.2.0/24* IP tartomány a GUEST WLAN részére van fenntartva, ezért más tartományt válasszunk.
Ezt tudomásul vettem, majd bekapcsoltam a GUEST Wifi-t és beállítottam az SSID-t és a titkosítást.
Majd az egyik mobil eszközzel csatlakoztam a Guest hálózatra.
A csatlakozás után az eszköz jelezte, hogy bizony ezen a kapcsolaton keresztül az internet nem elérhető.
A GUEST DHCP-n keresztül a 192.168.2.5-ös IP címet kapta a csatlakozott eszköz, DNS szerver címet a 192.168.1.1-el, átjárónak pedig a 192.168.2.1-et.
A GUEST Wifi ezekkel a beállításokkal nem működik. Viszont a GUEST hálózat, és a hozzá tartozó DHCP pool nem konfigurálható, mivel nincs hozzá konfigurációs felület.
A router típusra rákeresve az alábbi repot találtam
https://github.com/wuseman/SAGEMCOM-FAST-5370e-TELIA
Az itt található leírás alapján, a router webes felületét megnyitva, a konzolban elérhető a JS objektum, amin keresztül a webes konfigurációs alkalmazás hozzáfér a router tulajdonságaihoz és módosítani is tudja azokat.
A tulajdonságokat lekérdező getter függvény a
```
$.xmo.getValuesTree("*");
```
Ahol a paraméterben átadott útvonal a tulajdonság-fában a lekérdezni kívánt tulajdonság elérési útját adja meg.
A gyökér elem a Device.
```
$.xmo.getValuesTree("Device");
```
A fenti parancsot kiadva a teljes fa struktúrát megkapjuk.
Egy konkrét elem címzésénél, ha a fában tömb elemre kell hivatkozni, ott vagy az elem alias nevével, vagy az uid azonosítójával lehet a tömb elemet kijelölni.
Pl
`Elem[@uid='1']`
vagy
`Elem[Alias='Aliasnev']`
A GUEST LAN konfiguráláshoz először az interface ip címét kellett beállítani, ami a fában a `Device/IP/Interfaces/Interface[Alias='IP_BR_GUEST']/IPv4Addresses/IPv4Address[Alias='IP_BR_GUEST_ADDRESS']/IPAddress` útvonalon található.
```
> $.xmo.getValuesTree("Device/IP/Interfaces/Interface[Alias='IP_BR_GUEST']/IPv4Addresses/IPv4Address[Alias='IP_BR_GUEST_ADDRESS']/IPAddress");
< "192.168.2.1"
```
(Ha a getter-t olyan útvonallal hívjuk meg ami nem található a tulajdonság-fában, akkor hibaüzenetet kapunk. XMO getValue action error: "Unknown path"
A következőben leírtakra nem biztatok senki, mert egy esetleges rossz beállítás a router működőképtelenségét okozhatja!
Miután megvan a helyes elérési út, a setter függvénnyel módosíthatjuk az értéket.
Ehhez a $.xmo hegyes végét hasznájuk! 😊
```
$.xmo.setValuesTree("10.0.1.1","Device/IP/Interfaces/Interface[Alias='IP_BR_GUEST']/IPv4Addresses/IPv4Address[Alias='IP_BR_GUEST_ADDRESS']/IPAddress");
```
A setter első paramétere az érték, a második pedig a módosítandó ág.
A módosítás sikerességét a getter lefuttatásával ellenőrizhetjük vissza.
Ha olyan paramétert próbálunk módosítani ami nem lehetséges, akkor a webes alkalmazás ki is léptet.
A GUEST LAN DHCP pool konfigurálásához az alábbi módosításokat eszközöltem:
```
$.xmo.setValuesTree("10.0.0.1","Device/DHCPv4/Server/Pools/Pool[Alias='GUEST_POOL']/DNSServers");
$.xmo.setValuesTree("10.0.1.1","Device/DHCPv4/Server/Pools/Pool[Alias='GUEST_POOL']/IPRouters");
$.xmo.setValuesTree("10.0.1.2","Device/DHCPv4/Server/Pools/Pool[Alias='GUEST_POOL']/MinAddress");
$.xmo.setValuesTree("10.0.1.254","Device/DHCPv4/Server/Pools/Pool[Alias='GUEST_POOL']/MaxAddress");
```
Érdekes lehet még a Device/Hosts/Hosts útvonal alatt lévő eszközlistában az eszközhöz tartozó UserHostName tulajdonság. Ezt lehetséges módosítani is, ellentétben a HostName tulajdonsággal.
A módosítás után az eszközt a UserHostName.home címen tudjuk elérni.