no tak tu máme aktualizaci. Dorazil mi "hAP ax S". On už nemá device mod "basic" ale rovnou "home" takže scheduler je zakázaný. Takže script pro přepnutí device-mode nefunguje a nefunguje ani když ve scriptu je nějaká další konfigurace scheduleru. Já chci scheduler protože ve scriptu máme nějaké věci který přidávají scheduler. No ale po asi 10+ hodinách různého zkoušení a podobných kravin jsem dospěl k řešení.
:if ( [/system device-mode get mode] != "advanced" ) do={
/blink duration=1h;
:do { /system routerboard reset-button set enabled=yes on-event=":delay 100ms; /system reset-configuration skip-backup=yes;" } on-error={ };
:do { /system routerboard mode-button set enabled=yes on-event=":delay 100ms; /system reset-configuration skip-backup=yes;" } on-error={ };
:execute { /system device-mode update mode=advanced routerboard=yes activation-timeout=1h; };
/system identity set name="PRESS BUTTON";
/log error "PRESS BUTTON";
/quit;
}
# custom config
tento script jsem vložil před každý náš default konfigurační script. Ten nacpu netinstallem do zařízení a čekám až nabootuje. Zatím klasika.
Po bootu se spustí default script a víše uvedený script zkontroluje zda device-mode je advanced a pokud není tak se provede. Nastaví tlačítka, nastaví se device-mode ale už na pozadí pomocí execute aby neblokoval dokončení scriptu a bez scheduleru který v device-mode=home není dostupný, nastaví identitu a hlavně zastaví další provádění scriptu (quit) protože dál není nic potřeba. Ve winboxu se objeví zařízení s identitou "PRESS BUTTON". Když tam je tak vím že mám udělat co píše. Stisknu tlačítko reset nebo mode když ho zařízení má a nebo power off/on protože to je vestavěná funkce na přepnutí device-mode. Provede se normální přepnutí device-mode a zařízení se samo restartuje.
Po bootu se ale nic nespustí. Zařízení zůstane ve stavu v jakém bylo před stiskem tlačítka ale už máme device-mode na advanced a především máme nastavená tlačítka. Můžu se přihlásit winboxem a provést z nabídky reset konfigurace a nebo stisknu reset nebo mode tlačítko která jsou aktuálně naprogramována na reset konfigurace. Tím dojde k běžnému resetu a teprve teď se znovu spustí defaultní konfigurace. Ale teď už víše uvedená část scriptu uvidí že device-mode už je advanced a jeho obsah se neprovede a nezastaví další spouštění konfigurace ale pokračuje dál do custom kodů.
A tak může cvičená opice provést běžný netinstall s custom scriptem a pak jenom 2x máčknout s nějakým časovým odstupem tlačítko nebo mačkat podle toho co říká winbox v neighbors v identitě routeru.
Malé upozornění k "hAP ax S". Když mám spuštěný netinstall a provedu reset zařízení tak se to nějak poštěká, netinstall začne vytěžovat jádro na PC na cca 50% a zasekne se bootování zařízení které je v resetu. Předpokládám, že zařízení chce načíst konfiguraci přes flashfig což je podobné jako netinstall ale zkouší to při každém resetu. Při normál bootu ne a to se nezasekne. Řešením je ukončit v PC při resetování netinstall. hAP AX2 nic takového ale nezpůsobí. Neděje se to ale vždy.
Úplně jiný příběh je když "hAP ax S" při každém resetu vygeneruje supout s hláškou "Automatic supout.rif file generated due to service malfunction, please contact MikroTik support and supply the generated file" a to i s originálním konfigem od výrobce.