Skip to content
MikroTik RouterOS Docs

RouterBOARD Firmware and Boot Settings

For the impatient: check if your firmware needs upgrading and upgrade it.

# Check firmware versions
/system/routerboard/print
# If upgrade-firmware differs from current-firmware:
/system/routerboard/upgrade
# Confirm with 'y', then reboot:
/system/reboot

Verify after reboot:

/system/routerboard/print
# current-firmware should now match the previous upgrade-firmware

What this does: The RouterBOARD menu (/system/routerboard) manages your device’s bootloader firmware (RouterBOOT), boot device selection, serial console settings, hardware button behaviors, and security features.

When to use this:

  • After RouterOS upgrades (to update bootloader firmware)
  • Configuring boot behavior for recovery scenarios
  • Enabling protected boot mode for high-security deployments
  • Customizing reset/mode button actions
  • Troubleshooting boot issues or performing Netinstall recovery

Prerequisites:

  • Physical RouterBOARD hardware (not CHR or x86)
  • RouterOS installed and accessible
  • Physical access recommended for recovery scenarios

Hardware Only

This feature applies only to MikroTik RouterBOARD hardware. Cloud Hosted Router (CHR) and x86 installations do not have RouterBOARD settings.

View current device information and firmware versions:

/system/routerboard/print

Expected output:

routerboard: yes
model: RB5009UG+S+IN
serial-number: XXXXXXXXXXXXXX
firmware-type: ipq8070
current-firmware: 7.15
upgrade-firmware: 7.16

Key indicators:

  • current-firmware: Active bootloader version
  • upgrade-firmware: Latest available (from RouterOS package)
  • If they differ, an upgrade is available

If upgrade-firmware shows a newer version:

/system/routerboard/upgrade

When prompted, confirm with y.

Critical: The upgrade is staged but not applied until you reboot:

/system/reboot

After reboot, confirm the upgrade succeeded:

/system/routerboard/print

Expected: current-firmware now matches the previous upgrade-firmware value.

Automatically upgrade RouterBOOT firmware after each RouterOS upgrade:

/system/routerboard/settings/set auto-upgrade=yes
/system/routerboard/settings/print

Shows boot device, delays, serial settings, and protection status.

Create a script that toggles WiFi when the mode button is pressed:

Step 1: Create the script

/system/script/add name=toggle-wifi source={
:local wlan [/interface/wireless/find name=wlan1]
:if ([/interface/wireless/get $wlan disabled]) do={
/interface/wireless/enable $wlan
:log info "WiFi enabled via mode button"
} else={
/interface/wireless/disable $wlan
:log info "WiFi disabled via mode button"
}
}

Step 2: Assign to mode button

/system/routerboard/mode-button/set enabled=yes hold-time=3s..5s on-event=toggle-wifi

The button must be held 3-5 seconds to trigger the script.

For device recovery or reinstallation:

Method 1: Reset Button (Most Common)

  1. Disconnect power
  2. Hold reset button
  3. Apply power while holding
  4. Release when LED indicates Etherboot mode (usually solid or flashing pattern)

Method 2: RouterOS Command (Pre-configured)

/system/routerboard/settings/set boot-device=try-ethernet-once-then-nand
/system/reboot

Method 3: Serial Console

  1. Connect serial cable (115200 baud default)
  2. Power on device
  3. Press Ctrl+E repeatedly until “trying bootp protocol” appears

High-security mode that disables Netinstall and RouterBOOT console access:

/system/routerboard/settings/set protected-routerboot=enabled

Starting v7.1: You must press the reset or mode button within 60 seconds to confirm.

Make the emergency reformat timing difficult to guess:

/system/routerboard/settings/set reformat-hold-button=60s reformat-hold-button-max=65s

This requires holding the reset button exactly 60-65 seconds for emergency reset.

Allow Netinstall without physical button press:

/system/routerboard/settings/set preboot-etherboot=10s preboot-etherboot-server=192.168.88.2

The device will search for Netinstall for 10 seconds at each boot, only accepting from the specified server.

Change baud rate for serial console access:

/system/routerboard/settings/set baud-rate=9600

Common rates: 9600, 19200, 38400, 57600, 115200 (default)

Prevent custom scripts from running on reset button (keeps factory reset):

/system/routerboard/reset-button/set enabled=no hold-time=0s..1m on-event=""

Confirm your RouterBOARD configuration is correct:

/system/routerboard/print

Expected: routerboard: yes, correct model, firmware versions displayed.

/system/routerboard/settings/print

Expected: Boot device, protection status, and serial settings as configured.

/system/routerboard/mode-button/print
/system/routerboard/reset-button/print

Expected: Enabled status and assigned scripts if configured.

Connect via serial (115200 8N1) and confirm console responds.

SymptomCauseSolution
Firmware shows upgraded but current-firmware unchangedReboot not performed after upgradeReboot with /system/reboot
Device unresponsive after remote firmware upgradeSome devices hang during bootloader updateWait several minutes; have physical access for recovery
Cannot access device after enabling protected RouterBOOTForgot RouterOS passwordOnly option is emergency reformat (destroys config)
Netinstall not detecting deviceMultiple causesSee Netinstall troubleshooting below
Device always tries network bootboot-device set to ethernetUse serial console to change boot-device setting
Device extremely slow after firmware upgradeCPU frequency reset to minimumRestore cpu-frequency: /system/routerboard/settings/set cpu-frequency=<nominal>
Firmware upgrade fails or shows old versionOld firmware files in /fileDelete old firmware files before upgrade
No RouterBOARD menuNot physical RouterBOARD hardwareCHR and x86 don’t have RouterBOARD settings

If Netinstall doesn’t detect your device:

  1. Disable other network interfaces on PC - Only the interface connected to the router should be active
  2. Connect directly - No switches between PC and router
  3. Verify Etherboot mode - Check LED pattern matches documentation
  4. Check protected RouterBOOT - If enabled, Netinstall won’t work
  5. Disable DHCP clients - Other DHCP clients on the network can interfere
  6. Try different USB adapter - Some USB network adapters cause link flap issues

After upgrade command, before reboot:

/system/routerboard/print
# upgrade-firmware should show the new version staged

Common Mistakes

  • Forgetting to reboot after firmware upgrade - The upgrade isn’t applied until reboot
  • Remote firmware upgrades without physical access - If something goes wrong, you need physical access to recover
  • Enabling protected RouterBOOT without documenting password - No password = bricked device
  • Setting boot-device to ethernet permanently - Device won’t boot from NAND; use try-ethernet-once-then-nand instead
  • Upgrading firmware before RouterOS - Always upgrade RouterOS first, then firmware
  • Overclocking beyond nominal values - May void warranty and cause instability
ValueDescription
nand-if-fail-then-ethernetBoot from NAND, fallback to Etherboot if NAND fails
nand-onlyBoot from NAND exclusively, no network fallback
try-ethernet-once-then-nandSingle Etherboot attempt, then boot from NAND
ethernetNetwork boot (Etherboot) only
flash-bootFlashfig configuration mode
flash-boot-once-then-nandSingle Flashfig boot, then NAND
PropertyTypeDescription
routerboardyes/noWhether device is genuine RouterBOARD hardware
modelstringDevice model name
serial-numberstringUnique device identifier
current-firmwarestringCurrently active RouterBOOT version
factory-firmwarestringRouterBOOT version shipped with device
upgrade-firmwarestringLatest available RouterBOOT (from RouterOS package)
firmware-typestringDevice-specific firmware type identifier
PropertyTypeDefaultDescription
auto-upgradeyes/nonoAuto-upgrade firmware after RouterOS upgrade
boot-delaytime2sTime to wait for keypress during boot
boot-deviceenumnand-if-fail-then-ethernetPrimary boot source selection
boot-protocolbootp/dhcpbootpProtocol for network boot
baud-rateinteger115200Serial console speed (bits/sec)
silent-bootyes/nonoDisable boot beep sounds
protected-routerbootenabled/disableddisabledDisable Etherboot and console access
reformat-hold-buttontime20sButton hold time for emergency reset (5s-300s)
reformat-hold-button-maxtime10mMaximum hold time window (15s-600s)
preboot-etherboottime/disableddisabledPre-boot Netinstall search window (v7.9+)
cpu-frequencyintegermodel-dependentCPU clock speed (MHz)
memory-frequencyintegermodel-dependentRAM clock speed (MHz)

Button Properties (/system/routerboard/mode-button, /system/routerboard/reset-button)

Section titled “Button Properties (/system/routerboard/mode-button, /system/routerboard/reset-button)”
PropertyTypeDefaultDescription
enabledyes/nonoEnable custom button behavior
hold-timemin..max-Required press duration (e.g., 3s..5s)
on-eventscript name-Script to execute on button press
ButtonAvailable On
Mode buttoncAP, hEX, CRS3xx, CCR, hAP series
Reset buttonMost RouterBOARD devices
WPS buttonD53, C53, S53, H53 series only