MikroTik & Network Setup4 min read

    ROS6 vs ROS7 compatibility

    Full compatibility guide for RouterOS 6 and RouterOS 7 with Jasiyo, including script differences, known limitations, and how to check your version.

    Check your RouterOS version

    In WinBox, go to System → Routerboard and look at the Current Firmware field. Alternatively, open a terminal and run:

    MikroTik Terminal
    :put [/system resource get version]

    If the version starts with 6. you're on ROS6. If it starts with 7. you're on ROS7.

    Always select the correct RouterOS version when adding your router in Jasiyo (Routers → Add Router → ROS Version). The wrong selection will cause the agent script to fail.

    Feature comparison

    FeatureROS6ROS7
    Phone-home agent✅ Supported✅ Supported
    JSON parsing (deserialize from=json)❌ Not available✅ Supported
    Script response formatScript-fragment patternJSON response
    PPPoE user management✅ Full support✅ Full support
    Hotspot user management✅ Full support✅ Full support
    ISP auto-setup script✅ Supported✅ Supported
    Script line length limit⚠️ 255 chars — agent handles automaticallyNo limit
    fetch tool HTTPS✅ Supported (with certificate)✅ Supported
    Bandwidth profile sync✅ Full support✅ Full support

    Key script differences

    The main difference between the two agent scripts is how they parse the response from Jasiyo's server.

    ROS7 — JSON parsing:

    ROS7 Agent (simplified)
    :local result [/tool fetch url=$url http-method=post http-data=$body output=user as-value]
    :local parsed [:deserialize from=json value=($result->"data")]
    :if ([:len ($parsed->"cmd")] > 0) do={ :execute ($parsed->"cmd") }

    ROS6 — Script-fragment pattern:

    ROS6 Agent (simplified)
    :local result [/tool fetch url=$url http-method=post http-data=$body output=user as-value]
    # ROS6 cannot deserialize JSON — server returns executable script fragment directly
    :execute ($result->"data")
    Never use the ROS7 agent script on a ROS6 device. The deserialize from=json command does not exist in ROS6 and will cause a script error.

    ROS6 specific notes

    • 255-character line limit — RouterOS 6 scripts have a 255-character maximum per line. Jasiyo's server automatically breaks commands into multiple lines when building ROS6-compatible scripts. You don't need to do anything.
    • Certificate issues — Some older ROS6 devices may have trouble validating HTTPS certificates. If the agent script times out, try adding check-certificate=no to the fetch command as a temporary workaround while you update the certificate store.
    • RB951 confirmed working — Jasiyo has been tested and verified on MikroTik RB951 running ROS6. If you're on similar hardware, the standard setup guide applies.