Adding OpenWrt support for Mikrotik hAP ac 3 [RBD53iG-5HacD2Hn]

So we are buyed hAP AC 3 with robimarco, and he will start working soon, when device is delivered.

We are waiting news from robimarco

2 Likes

It just arrived recently, I took it apart and made an SPI-NOR dump.

Now I am tracing UART pins on the header and then I will modify the SPI-NOR dump to enable UART so that work can start.

1 Like

Got UART enabled and working.
Now, I will dump the DTB and NAND and then start on OpenWrt.

1 Like

Excellent, very fast delivery)

Support is slowly coming along.

Had to modify the hard config once again to allow downgrading the RouterBoot to 6.46.6 as that is below the factory 6.47.2 in which the DHCP booting is broken.

So far got the basics working:

  • UART
  • SPI-NOR
  • NAND
  • Most of the LEDs
  • Buttons
  • USB
  • Ethernet
  • WLAN calibration and MAC-s (Still need to extract the original BDF-s)
1 Like

We need downgrade RouterBoot to 6.46.6?

So far yes, as DHCP no longer works for me in newer RouterBoots.
I am now rooting the ROS to see where the hell is the kernel loaded from.
Ok, so its the same as RB450Gx4 they use UBI volumes on NAND and then pack the kernel in UBIFS

Where you can find 6.46.6 version? On the mikrotik website 6.45.9 and then next 6.46.7.
Nevermind, it's to early to think about RouterBoot i'm think

There are on Mikrotik site in download archive

Yeap, find in Stable release tree

Some more progress, got BDF-s extracted.
Without proper BDF-s WLAN was around 5 times worse.

Most of the things are working, I am now working on packaging and how to pernamently flash.
This uses a uncommon layout in which a UBI volumes for kernel and rootfs are used, but kernel is also kept in compressed UBIFS.

I tried without UBIFS and RouterBoot really does not like that.

Ok, so I did some digging and testing.
It appears that RouterBoot does not require kernel and rootfs to be separated with partitions but only UBI volumes.
It also does not care if the kernel is named "kernel" or "Kernel" like in ROS images.
All it cares about is that the kernel is packed in UBIFS, without UBIFS it won't boot the kernel at all, so I manually packed the kernel in UBIFS per what stock kernel is packed and ubinized it and that boots.

So, we just gotta find a way to pack the kernel in UBIFS in OpenWrt buildroot directly.

2 Likes

Big work, many thx, very interesting and waiting next news

OK, so a little update.
The weekend was mostly spent on figuring out how to permanently flash the image as there is no support for the method MikroTik uses on these NAND devices.

Unforunately, its still hit and miss.

You can check the RB450Gx4 thread for some details:

Ok, finally got the sysupgrade working so it can be flashed pernamently.
Now, its mostly complete, but still gotta figure out the WLAN and ETH generic LED-s as there is only one WLAN LED.

For those willing to do some testing my branch is here:

3 Likes

Good news, many tnx for your wokr. Wich wersion of RouterBoot we need to install 6.46.6?

Now I can't test the firmware, my PC has gone to a better world, in 5 days a new laptop with Ryzen 7 will arrive )

Potentially newer RouterBoots will also work, they just dont work for me.

Hey! Can you give me some basic instructions on how to build and test the firmware? I am completely new to this but I am eager to have openwrt instead of routerOS!

:slight_smile:

It is built like any other OpenWrt image, clone the tree, select the board and build.
OpenWrt has docs on that already.

For installation there are instructions in the commit message:

Please note that this is not finished and that you may be stuck in bootloop,

Ok thanks!! I will wait and keep monitoring this thread then :slight_smile: