I want to know if beta4 os is safe to use now. Cos have been hearing lot of bad stuff about this os. Pls I need advice
it’s beta, beta means unstable test version. please wait until Release Candidate status.
Do we have a choice if you want to be able for ROS to recognize a “N” wireless card?
-tp
4.0 is already RC - you’ll soon have a choice )))
Damnation… I was going to bed…
How to resist? … I’m going to upgrade..
and how was upgrade? ))
Fine, problems wrote on this forum was solved.
But I found other script problems.. ![]()
- Strange global variables behavior
- different result of route “get” sentence
:put [/ip route get 0]
.id=*30000001;dst-address=0.0.0.0/0;gateway=213.205.52.18;gateway-status=213.205
.52.18 reachable pppoe-out1;distance=1;scope=30;target-scope=10;active=true;dyna
mic=true;static=true;disabled=false
no “direct” interface field ![]()
As a software developer I could imagine an interface name array visit and substring search…
But off course… Mikrotik script language and environment was not born for this kind of task ![]()
Trying to implement this “bad style” substring search …
I found this doesn’t work too ![]()
[admin@Scinty433] > :put [/ip route get 0 gateway-status]
213.205.XX.XX reachable pppoe-out1
[admin@Scinty433] > :put [:find [/ip route get 0 gateway-status] "pppoe-out1"]
[admin@Scinty433] > :put [:find [/ip route get 0 gateway-status] pppoe-out1]
[admin@Scinty433] > :put [:find [/ip route get 0 gateway-status] 213]
[admin@Scinty433] >
hmmm… for some reason, you should use
:put [:find [:tostr [/ip route get 0 gateway-status]] "pppoe-out1"]
(checked with 3.28 + routing-test)
Usefull suggestion to demonstrate another V4.0 bug ![]()
It works on terminal:
[admin@Scinty433] > :put [:tostr [:find [:tostr [/ip route get 0 gateway-status]
] [:tostr [/int get 5 name]]]]
24
the same line will stop script execution
verified with “raw” :log info debug trace
Another time, bug is dued by strange variable behavior.
:local rt
:foreach rt in=[/ip route find dst-address=0.0.0.0/0 active=yes] do={:log info $rt}
:log info [/ip route get $rt gateway-status]
The bug is present both if $rt token is declared local or global
do={:log info $rt}
WORK and variable is correctly set.
:log info [/ip route get $rt gateway-status]
DOESN’T WORK
if I instead use:
:log info [/ip route get 0 gateway-status]
IT WORK
![]()
my difficult on V3 script running was dued to :foreach sentence.
It destroy local variable used as index.
http://forum.mikrotik.com/t/v4-0-rc1-script-bug-variable-scope-lifetime-foreach/31720/1
absolutely no. it’s so in v3 too =)