RB931-2nD (hAP mini) snapshot install

Hello everyone,

I am having a compatibility problem installing the firmware (forcing it results in an infinite reboot loop). I followed the instructions from here:

  1. https://openwrt.org/toh/hwdata/mikrotik/mikrotik_rb931-2nd_hap_mini
  2. https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=c2d2647c099679d64c8d5ef5260ba0f9d4c8f2ba

The two snapshot images were downloaded today.:

  1. openwrt-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin
  2. openwrt-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin

Some steps:

root@OpenWrt:~# sysupgrade /tmp/fw.bin
Device unknown not supported by this image
Supported devices: rb-750-r2 rb-750up-r2 rb-750p-pbr2 rb-911-2hn rb-911-5hn rb-931-2nd rb-941-2nd rb-951ui-2nd rb-952ui-5ac2nd rb-962uigs-5hact2hnt rb-lhg-5nd rb-map-2nd rb-mapl-2nd rb-wap-2nd rb-wapr-2nd
Image check 'fwtool_check_image' failed.
root@OpenWrt:~# cat /var/sysinfo/board_name
unknown
root@OpenWrt:~# cat /var/sysinfo/model
MikroTik RouterBOARD 931-2nD r2

Thibaut, the developer who committed the code reports a different output for his device:

root@hAPmini:~# cat /var/sysinfo/model 
MikroTik RouterBOARD 931-2nD

i.e. no "r2" in the model name.

Any ideas what the next step would be?

Thank you!

In case it helps someone, although not a perfect fix, the install managed to complete properly by "faking" board_name:

root@OpenWrt:~# cat /tmp/sysinfo/board_name 
unknown
root@OpenWrt:~# echo "rb-931-2nd" > /tmp/sysinfo/board_name
root@OpenWrt:~# cat /tmp/sysinfo/board_name 
rb-931-2nd
root@OpenWrt:~# cat /var/sysinfo/board_name 
rb-931-2nd

After this, sysupgrade does not complain anymore and the board seems to flash correctly.

1 Like

(Moved to the For Developers section.)

@mircea, you may wish to create a bug report.

I created the bug report.

1 Like

Mircea, can you show your setting after installing openwrt? Wan port isn't work by default

This is the bug report I made:
https://bugs.openwrt.org/index.php?do=details&task_id=1985

This task was closed as not being a bug, with the following comment:
"MikroTik RouterBOARD 931-2nD" is supported, but "MikroTik RouterBOARD 931-2nD r2" isn't.

Although the steps I gave above make the system bootable, there are other configurations which depend on the board being detected correctly. Unfortunately, as far as I can tell, these happen while the system is booting and it seems that it is too late to just simply modify the board identifier string after the boot has completed.

Therefore, what I did was to download the source tree, add three lines and compile a new kernel. (If you have never done this, it takes some effort, at first.)

This is the change:

file: target/linux/ar71xx/base-files/lib/ar71xx.sh

        *"RouterBOARD 931-2nD")
                name="rb-931-2nd"
                ;;
+       *"RouterBOARD 931-2nD r2")
+               name="rb-931-2nd"
+               ;;

Basically, this makes the "931-2nD r2" to be detected the same as "931-2nD".

After this, everything I tried was working, but I did not do any extensive tests to verify 100% correct functionality.

That is not a proper way to do it at all as r2 version could be significantly different that first version

@robimarko
I'm facing same issue. Can you help on it.
Able to boot router with initramfs image, but not able to do sysupgrade.

Without dmesg and logread I cant advise you

@robimarko
tftp-boot-dmesg: https://pastebin.com/raw/vXRLWd5Q
logread: https://pastebin.com/raw/RSc0jZUM

When I do sysupgrade I see something weird in dmesg,
dmesg after unsuccessful sysupgrade: https://pastebin.com/raw/PXUXDB99

Let me know if you need more things.
I opened hardware and verified that flash is w25q128jvsm, from dmesg I don't think this flash related issue which you solved earlier.

Hmm, is this snapshot or your custom build?
It looks that memory paging crashes the kernel

Nothing special in customization, just on yesterday's top commit I've just enabled luci and coova-chilli additionally.
Do you think that could be as issue?
Should I try snapshot?
But in snapshot there will be no handling of 'r2' model so that's why I built this build.

Hm, why dont you for testing then remove everything than default packages and try that?