Je plakt het script in de terminal, de eerste regels rollen voorbij, en dan staat er een rode melding. Soms stopt het daar, soms loopt het door en heb je achteraf geen idee wat er wel en niet is uitgevoerd.
Dat laatste is het echte probleem, niet de foutmelding zelf. Een half toegepast script is lastiger dan geen script. De beste eerste actie is daarom bijna altijd: noteer de melding, reset het apparaat, los de oorzaak op en plak opnieuw op een leeg apparaat.
Het script is gemaakt voor een apparaat met fabrieksinstellingen. Staat er al een configuratie op, dan botsen de eerste regels met wat er is, en vanaf dat punt klopt de rest niet meer. Naast je script staat een rollback-script dat precies terugdraait wat het toevoegde, dus je kunt altijd terug.
De snelle controles, op volgorde
- Lees welke regel het is. De melding staat direct onder de regel die faalde. Zoek die regel op in het script; het commentaar erboven vertelt uit welk onderdeel hij komt.
- Stond het apparaat leeg?
/system reset-configuration no-defaults=yes skip-backup=yeszet het leeg; met de knop tijdens het opstarten gaat het ook. Twijfel je, kijk dan met/export hide-sensitivehoeveel er al staat. - Klopt het model?
/system resource printtoontboard-name. Heb je in de tool een ander model gekozen, dan staan er poortnamen in het script die dit apparaat niet heeft. - Klopt de versie? Dezelfde uitvoer toont
version. Sommige commando's bestaan pas vanaf een bepaalde versie. - Zijn de benodigde pakketten er?
/system package print. Wifi-regels vragen om het juiste wifi-pakket, containers om het container-pakket. - Is het script compleet aangekomen? Plak het in één keer, in de terminal, en niet in een script-venster. Bij twijfel: zet het als
.rsc-bestand in Files en voer het uit met/import file=naam.rsc. Dat is betrouwbaarder dan plakken over een trage verbinding.
De meldingen en wat ze betekenen
bad command name ...- Het menu bestaat niet op dit apparaat. Meestal ontbreekt er een pakket, of is de RouterOS-versie ouder dan het commando. Klassiek:
/interface wifiop een apparaat zonder het wifi-pakket, en op versies vóór 7.13 heette dat menu nog/interface wifiwave2. failure: already have such ...ofentry already exists- Het apparaat stond niet leeg. Reset en begin opnieuw.
input does not match any value of interface- De poort in het script bestaat niet op dit apparaat. Je hebt het verkeerde model gekozen, of een poort die alleen op de grotere variant zit.
no such item- Er wordt verwezen naar iets dat een eerdere regel had moeten maken. Er is dus eerder al iets misgegaan; scroll terug naar de eerste fout.
action failedbij hotspot, container, IPsec, fetch of e-mail- Dat zijn functies die device-mode kan blokkeren. Vrijgeven vraagt een fysieke bevestiging op het apparaat, dus dat kan een script niet zelf.
- Een fout op een regel die er raar uitziet
- Het script is onderweg beschadigd. Tekstverwerkers maken van rechte aanhalingstekens gekrulde en breken lange regels af. Kopieer altijd uit het downloadbestand of rechtstreeks uit de tool.
Wat de configurator hieraan doet
- In het onderdeel Systeem staat RouterOS-versie op het apparaat. Daarmee kies je tussen 7.21 of nieuwer, 7.17 tot en met 7.20, 7.15 of 7.16, 7.13 of 7.14, en ouder dan 7.13. Het script past zich daarop aan, want die versies verschillen op punten die er echt toe doen. Dit is het veld dat de meeste
bad command name-meldingen voorkomt. - Het gekozen model bepaalt de poortnamen. Kies het model dat je echt in handen hebt, dan kloppen
ether1tot en metetherNen de SFP-poorten. - Gebruikt je configuratie functies die device-mode kan blokkeren, dan is er in het onderdeel Systeem een geavanceerde optie om die regels niet in dit script te zetten maar in een script dat één keer bij de eerstvolgende start draait. De hulptekst zegt er eerlijk bij dat het apparaat tussen plakken en die herstart maar deels geconfigureerd is, en dat je dit voor een gewone router uit moet laten.
- Gebruik je containers, dan staat
/system device-mode update container=yesals eerste regel van dat onderdeel, met de mededeling dat je dat binnen vijf minuten fysiek moet bevestigen met de resetknop of door de stroom eraf en erop te halen. - Bij een apparaat waarvan wij het wifi-pakket niet konden bevestigen, zegt de tool vooraf: controleer dat het wifi-qcom pakket op dit apparaat is geïnstalleerd. Precies om deze foutmelding te voorkomen.
- Naast elk script staat een rollback-script dat terugdraait wat het toevoegde, en een overdrachtsblad voor in de klantmap.
De eerlijke grens
De tool draait in je browser en praat met niets. Hij weet niet welke versie er op je apparaat staat, welke pakketten erop zitten, of het leeg is, en of je model werkelijk het model is dat je hebt aangeklikt. Die vier dingen zijn samen de oorzaak van bijna elke plakfout, en ze zijn alle vier alleen op het apparaat zelf te controleren. Verder: een script is geen transactie. RouterOS voert regel voor regel uit en stopt niet netjes bij de eerste fout, dus na een mislukte poging is resetten sneller dan repareren.
Verder lezen: Het script gebruiken, Safe mode en Als er iets misgaat.