OK, that makes it almost certain that the uboot on emmc is somehow wrong
When booting, bootrom search order is SPI, emmc, SD
First uboot found will be one used, all others ignored
So, booting from SD, the emmc uboot will be found 1st, it (emmc uboot) will search
in uboots search order,, (SD, nvme, usb, emmc) looking for boot.scr or extlinux.conf
Again, 1st one found is the one used
You can easily test this, disable emmc with switch or remove, mrfix will almost certainly boot
If so, then and if the mrfix is updated, put that uboot on emmc
In short, do switch dance OR bind command, save emmc mbr (1st sector, 512 B),
dd 1st 16MB of SD -> emmc, restore emmc mbr
And, BTW, the long press doesn't work if "bad" uboot is still there, in this case on emmc
--edit-- this is actually fairly easy doing this way
>every time I try dd I somehow managed to mess it up & it doesn't boot.
lsblk,, there should be mmcblk1 and mmcblk2,, boot0 and boot1 are on emmc, you ONLY use /dev/mmcblkN,,, N=1 OR 2
as root, sudo
dd if=/dev/EMMC of=~/mbr.emmc count=1 (ls -l ~/mbr.emmc shows 512 byte file)
dd if=/dev/SD of=/dev/EMMC bs=1M count=16
dd if=~/mbr.emmc of=/dev/EMMC
EMMC and SD replaced by appropriate mmcblkN
When booting, bootrom search order is SPI, emmc, SD
First uboot found will be one used, all others ignored
So, booting from SD, the emmc uboot will be found 1st, it (emmc uboot) will search
in uboots search order,, (SD, nvme, usb, emmc) looking for boot.scr or extlinux.conf
Again, 1st one found is the one used
You can easily test this, disable emmc with switch or remove, mrfix will almost certainly boot
If so, then and if the mrfix is updated, put that uboot on emmc
In short, do switch dance OR bind command, save emmc mbr (1st sector, 512 B),
dd 1st 16MB of SD -> emmc, restore emmc mbr
And, BTW, the long press doesn't work if "bad" uboot is still there, in this case on emmc
--edit-- this is actually fairly easy doing this way
>every time I try dd I somehow managed to mess it up & it doesn't boot.
lsblk,, there should be mmcblk1 and mmcblk2,, boot0 and boot1 are on emmc, you ONLY use /dev/mmcblkN,,, N=1 OR 2
as root, sudo
dd if=/dev/EMMC of=~/mbr.emmc count=1 (ls -l ~/mbr.emmc shows 512 byte file)
dd if=/dev/SD of=/dev/EMMC bs=1M count=16
dd if=~/mbr.emmc of=/dev/EMMC
EMMC and SD replaced by appropriate mmcblkN