Add support for MikroTik RB5009UG

Oh sure. The modified RouterBOOT fully supports all of its old functions. Just added new.
The video that I posted above demonstrates the possibility of dual boot - both OpenWrt and RouterOS installed on the device at the same time.

Also, RouterBOOT can be easily replaced with the original at any time - by simply pressing the Upgrade Bootloader button in RouterOS.

Well, in the worst case, there is also a backup RouterBOOT which is activated by pressing the Reset button when the device is turned on. It remains in its original state.

1 Like

Awesome, thanks! I do suppose 1 GB of NAND is big enough to keep both around :smile:.

If you need a dual boot, then RouterOS occupies the entire NAND and OpenWrt - 15MB of NOR flash. To use NAND for OpenWrt - RouterOS will have to be erased.

1 Like

I have everything done for RB5009. It starts, flashes and works :upside_down_face:

5 Likes

@adron Great work! (You and @robimarko both of course.) Does SFP+ and 2,5G work for you?

1 Like

SFP will work, at least it did for me before.
My PCB for tracking down SFP pins is still being manufactured so that's gonna take some more time.

QCA8081 driver works as well after the fix for setting SGMII instead of SMII is included, I haven't tried this 5.10 branch as to be honest I cannot wait for 5.10 to be finally replaced with 5.15, its just a pain to do anything remotely new

1 Like

Do you have plans to submit the Amethyst SMI GPIO fix upstream? It's the only patch I need on top of 5.16.3 to make things work.

Also blue:hdr1 on &cp_gpio1 pin 4 - is that working for everyone else? Mine is always on no matter what I poke into brightness. blue:hdr2, green:user and green:sfp all work just fine.

hsgmii works on sfp+? and ethernet 2.5gb port works as well?

I haven't checked this yet.

@adron Does one need to be on the 7.2 RC1 or is any RouterOS OK? I see you circling the 7.2 RC1 in your video, but the RC's are at RC3 now. MikroTik offers 7.2 RC3 but by modifying the link from RC3 to RC1 I seem to be able to pull in RC1.

Your GitHub README says RC1 as well (just to make clear I didn't skip that).

The device can have any version of bootloader - when the specified commands are executed, it will be replaced with the appropriate one - 7.2RC1.

1 Like

I was following your commands on github to try it out and I get the following error on mine.

/system/routerboard/settings/set boot-device=ethernet
input does not match any value of boot-device

Mind you I am new to mikrotik. Also what port is tftp used on?

1 Like

TFTP server should listen on port 69, standard port.

1 Like

You want set boot-device=try-ethernet-once-then-nand and port 1 should be connected to your TFTP server.

1 Like

Is there a way to load OpenWrt onto the device without needing to solder? I have a CH341a programmer, so I can get by dumping and overwriting the flash. And I'm seeing RX/TX/GND/3.3V pins, two on each side of the board.

Already dumping the flash as we speak.

Also, is there a fixed TFTP server address RouterBOOT expects or should I pre-set that in RouterOS first? Since I haven't got serial I'd be going a bit blind here :slight_smile:.

1 Like

Serial won't really help you through the process as MikroTik completely disabled that on the RB5009UG if I'm not mistaken. The only thing one may do via serial is UART boot should it get completely bricked.

OK. How would one get the console then that adron's video is showing? From 0:16 he has Minicom open showing the boot loader. I'm a bit puzzled about that, can't find anything in the thread about that.

In my patched version of RouberBOOT the UART is works. The patch make necessary fixes for this.

#fix the UART
binay_patch 0x0144 "20 00 80 52  20 0c 01 b9  c0 03 5f d6"
binay_patch 0xB348 "1f 20 03 d5"

But you absolutely do not need UART to flash my OpenWrt assembly. Just follow the instructions and you'll be fine.

2 Likes

@adron Thanks! Is there a specific IP the TFTP server should be listening on? And should the ramdisk be named specifically? Or will RouterBOOT just take whatever it gets fed from wherever as long as it's in the same range as its own IP default?

Apologies for the questions, but I'm used to using a specific IP and file name when setting up a TFTP server with e.g. TP-Link and the likes...