MikroTik RouterBoard RB951G-2HnD

Warning - Mikrotik has made some changes on the board and recently ordered units are no longer supported.
Note: https://forum.openwrt.org/t/mikrotik-rb951ui-2hnd-unsupported-nand/72052

NOTE - A work around by compiling openwrt manually can be found here.
Link: https://forum.openwrt.org/t/cant-flash-mikrotik-rb951g-2hnd/72050

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

For a very long time, the gigabit switch did not work properly in OpenWrt for some versions of the SoC (see History below).

As of March 2020, this is now fixed in master and in the 19.07 branch, and the fix is part of the 19.07.3 release.

Sister product: http://routerboard.com/RB951Ui-2HnD rb951ui

The RB951G-2HnD differs from its sister board RB951Ui-2HnD in that it has 5 * GigE instead of 5 * FE ports. The 5 GigE ports are provided via an AR8327 GigE switch chip that is also used in larger routers such as the RB2011-UiAS-2HnD-IN. The 5 FE ports on the RB951Ui-2HnD are inside the AR9344 SOC, they are unused/not-conneced on the RB951G-2hnd. The GigE ports from the AR8327 do not only have the GigE speed benefit, but that chip also has better feature support than the FE ports on the AR9344. For example port mirroring and counters. See swconfig CLI command and Luci configuration in OpenWrt).

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'

This section is kept for historical interest, it is no longer relevant starting from OpenWrt 19.07.3 (May 2020)

03/2020: The issue is finally fixed and will be part of OpenWrt 19.07.3
04/2018: https://forum.lede-project.org/t/mikrotik-rb951g-2hnd/8652 suggests that the patch is still needed.
11/2015: If you have a Rev 3 of AR9344, booting OpenWrt (eg: from initramfs) will not bring up the GigE ports correctly.

router# dmesg | grep AR9344
[    0.000000] SoC: Atheros AR9344 rev 3  

The new version (rev 3, requires patch) can apparently be distinguished from the old version (rev 2, works out-of-the-box) by the MAC address:

  • The old one starts with D4:CA:6D
  • The new one starts with 4C:5E:0C

If you happen to have rev 3, you need to compile and use a 14.07, 15.05 or trunk version of OpenWrt with the following patch applied:

The author of this wiki text recommends to use value 0x6f000000 instead of 0x3e000000 in the patch (throughput tests showed slightly higher values on the GigE ports with that value).

If after installing on a rev 2 device the switch seems to drop packets, you may be able to work around this by holding the reset button during power-on. This delays booting giving the switch more time to initialize. This issue is not noticed during a PXE boot, only after an install to flash.

Kernel module

A kernel module for OpenWRT 18.03.1 wich embeds the fixup code exists: https://github.com/fluciotto/openwrt-kmod-rb951g-2hnd-eth-fix/releases/download/18.03.1/rb951g-2hnd-eth-fix.ko

The source code is available here: https://github.com/fluciotto/openwrt-kmod-rb951g-2hnd-eth-fix

This kernel module permits to use the original (not patched) kernel from OpenWRT. The module can be transfered with the serial port of the router (soldering needed!).

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2024/02/12 08:58
  • by