Im I right in the assumption that if I want to flash OpenWRT on a Mikrotik RB912UAG-5HPnd, that the latest Image is 19.07.10 because it has not been ported to ath79 and generic images do not exist for ath79?
It looks like this, yes. There is, however, support for the RB912UAG-2HPnd in ath79, I don't know what the difference to yours is. However, porting should be pretty straight forward if the devices share some (most?) internals.
I just set up a Linux Mint and tried to compile OpenWRT myself.
To my surprise it works fine and is useable on the device. (The Image for the 2HPnd is working on the 5HPnd, even though it reports the wrong model in the overview page.)
Which raises the question: Why can't we have an autobuild for this device? On my old notebook it takes hourse for the compile to finish.
We can have a build: You need to fix the model number by adding a new device, create a shared dts and make sure that everything works. Then you can create a pull request and once it is accepted builds will show up.
Sorry, I misunderstood the question: I don't know why there is no build. You might want to raise this question on the mailing list, as it is more actively used for development purposes.
Note: It does not matter if someone runs LEDE, OpenWRT 19.07 or the newest OpenWRT. All builds are affected from this issue and could damage your device. Therefore they stopped building it.
My device can use either USB or mPCIe, not both at the same time.
In the old times there was an uci option system.usb_power_switch to toggle between those two. This is not the case anymore on newer OpenWRT builds.
The bigger question would be, does it make sense to leave PCI/ USB unpowered?
If not, and the default is reasonably expected to be on, defining it to be on in the DTS (e.g. via gpio-hog) would be sensible.
In the ar71xx target code, there was a switch in /etc/board.d/03_gpio_switches file.
I tried to compile an image with the same code in the file on the more mordern ath79 target.
#!/bin/sh
#
. /lib/functions/uci-defaults.sh
board_config_update
board=$(board_name)
case "$board" in
mikrotik,routerboard-912uag-2hpnd)
ucidef_add_gpio_switch "usb_power_switch" "USB Power Switch" "52"
;;
esac
board_config_flush
exit 0
... but I didn't know at the time, that the gpio system has changed with the new linux kernel. Now there are somehow two different entries what used to be one value (gpio 52, 0 ==> mPCIe off + USB on, 1 ==> mPCIe on + USB off)
So here I am with the /etc/rc.local workaround.
I dont know how to implement this properly now with a switch. It could be implemented as two uci settings entries though.