User Tools

Site Tools


Mikrotik RouterBoard RB951G-2HnD


CPU CPU Speed RAM (MB) NAND (MB) Serial Flash Ethernet Switch PoE port Wireless USB UART JTAG
AR9344 600 MHz 128 (2x W9751G6KB-25) 128 (1x TC58DVG02D5TA00-ND) MX25L512E Atheros AR8327 (10M/100M/1000M) 1-in (2000mA) (7w) AR9344-DC3A 1x 2.0 1x onboard 1x onboard

Download OpenWRT image

The 951G-2HnD is supported starting with OpenWRT 14.07.

wget -c
wget -c
wget -c
ln -s openwrt-ar71xx-mikrotik-DefaultNoWifi-rootfs.tar.gz openwrt-ar71xx-mikrotik-rootfs.tar.gz

Installing OpenWRT is a two-stage process. First netboot the router via DHCP/TFTP to OpenWRT initramfs running in RAM. From that OpenWRT download/install OpenWRT kernel and filesystem onto NAND Flash. That second stage overwrites the MikroTik OS (RouterOS) in NAND Flash, but it does not touch the MikroTik Bootloader.

Netboot RG951G to OpenWrt in RAM

Connect port 1 (WAN port) to a network with a DHCP/TFTP server. Connect a PC to port 2..5 or WLAN. Log into RouterOS and set router to boot from ethernet once with DHCP:

  1. System → Routerboard → Settings → Boot device: Try ethernet once then NAND
  2. System → Routerboard → Settings → Force Backup Booter (Checked / Enabled !IMPORTANT)
  3. System → Routerboard → Settings → Boot protocol: DHCP

Copy openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf to your TFTP server location. Set up your DHCP server to point to your TFTP server as the next-server and to that file as the bootfile (see below how to use dnsmasq as DHCP+TFTP as an example). Reboot RG951G. If it netboots into OpenWRT, wireless LED will stay off. Otherwise, manually netboot RB951G:

  1. Unplug RB951G power jack
  2. Hold reset button
  3. Plug power jack
  4. Observe ACT LED.
  5. It first goes on continuously. Then it flashes. Then it goes on continuously. Then it goes off continuously. This will take 15..20 seconds. Then a beep sounds (5 seconds later).
  6. Release reset button.

When successfull, You should be able to ping If netbooting fails, reset RG951G to factory condition and try again: Same as netbooting, but release reset button when ACT flashed, then wait a minute or so until double-beep, then RouterOS is up and running.

How to use dnsmasq as DHCP + TFTP server

Copy openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf to /tftp/ Create script: nano /tftp/

ifconfig eth0 up
dnsmasq -i eth0 --dhcp-range=, \
--dhcp-boot=openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf \
--enable-tftp --tftp-root=/home/user/mikrotik/trunk/bin/ar71xx/ -d -u test -p0 -K --log-dhcp --bootp-dynamic

Run script Reboot RB951G as described above

Flash OpenWRT to Mikrotik via wget2nand

Copy openwrt-ar71xx-mikrotik-vmlinux-lzma.elf and openwrt-ar71xx-mikrotik-rootfs.tar.gz to a HTTP/HTTPs server reachable from the RB951G (Port 1/Wan or Port2..5). Connect to the router via telnet to (or Uart if you soldered a serial console). Example:

root@OpenWrt:/# wget2nand


Serial console

If you solder the UART pins on the board, you can enable the serial console, adding this line to /etc/inittab:

ttyS0::askfirst:/bin/ash --login
Example VLAN configuration for switch ports

In /etc/config/network, add these lines to enable the switch, and create 2 vlan interfaces (eth1.11 and eth1.12). The first for ports 5 and 4, and the later for ports 3 and 2. Port 1 on the router is eth0.

config switch 'eth1'
      option enable '1'
      option enable_vlan '1'
config switch_vlan
      option device 'eth1'
      option vlan '11'
      option vid '11'
      option ports '0t 1 2'
config switch_vlan
      option device 'eth1'
      option vlan '12'
      option vid '12'
      option ports '0t 3 4'

Flash OpenWRT to Mikrotik manually

If wget2nand encounters problems, perform its steps manually from shell:

Please see script for more details, this may not be the best setup if wget2nand does not work. [ | wget2nand]

root@OpenWrt:/# passwd
root@OpenWrt:/# mtd erase /dev/mtd1
root@OpenWrt:/# mtd erase /dev/mtd2
root@OpenWrt:/# mkdir /mnt/kernel
root@OpenWrt:/# mkdir /mnt/rootfs
root@OpenWrt:/# mount /dev/mtdblock1 /mnt/kernel
root@OpenWrt:/# mount /dev/mtdblock2 /mnt/rootfs

Copy kernel & rootfs to RB951G

$ scp bin/ar71xx/openwrt-ar71xx-mikrotik-vmlinux-lzma.elf root@
$ scp bin/ar71xx/openwrt-ar71xx-mikrotik-DefaultNoWifi-rootfs.tar.gz root@

Flash kernel & rootfs

root@OpenWrt:/# mv /tmp/openwrt-ar71xx-nand-vmlinux-lzma.elf /mnt/kernel/kernel
root@OpenWrt:/# chmod +x /mnt/kernel/kernel
root@OpenWrt:/# umount /mnt/kernel
root@OpenWrt:/# cd /mnt/rootfs
root@OpenWrt:/# tar -xvzf /tmp/openwrt-ar71xx-mikrotik-DefaultNoWifi-rootfs.tar.gz
root@OpenWrt:/# cd /
root@OpenWrt:/# umount /mnt/rootfs
root@OpenWrt:/# sync


Compile OpenWRT yourself

This section was written before the rb951G was supported by released OpenWRT images. You only need this section if you plan to not use those supported images.

$ mkdir /home/user/mikrotik/
$ cd /home/user/mikrotik/
$ svn co -r 39392 svn://
$ cd /home/user/mikrotik/trunk
$ wget -c -O OpenWrt-Devel-ar71xx-Add-support-for-MikroTik-RB951Ui-2HnD.patch
$ patch -u -p0 < OpenWrt-Devel-ar71xx-Add-support-for-MikroTik-RB951Ui-2HnD.patch

Configure image for booting from RAM

$ make menuconfig
$ make kernel_menuconfig

Target = AR7XXX Subtarget = Mikrotik device with NAND flash Target Images = ramdisk

$ make V=s

Configure image for booting from NAND

$ make menuconfig

Target = AR7XXX Subtarget = Mikrotik device with NAND flash Target Images = tar.gz

$ make V=s

After compiling your image, go back to the section for Booting to OepnWrt in RAM. If your image predates 14.07, you may also need to install the WiFi driver (Install kmod-ath9k).


Helpfull info: (HowTo on Russian)

Sister Board:


Board Layout Images

toh/mikrotik/rb951g_2hnd.txt · Last modified: 2015/08/11 17:44 by databeille