Dietpi + Rockpro64 + PCIe sata card raid/drive errors

If you are using the Dietpi 9.02 + RockPro64 + pine64 ROCKPro64 PCIe To Dual SATA-III Interface Card, you will not be able to create a raid or use zfs or btrfs on both drives as a single volume.
From the zfs side you will be able to create a pool but as soon as it is initialized you will get a drive failed error and not be able to recover it without some hassle and it will happen again anyway.
The same goes for btrfs, you can combine the two drives into one volume but then on first write you get errors and finally a failed drive.
From a raid perspective, using mdadm as described in the Dietpi blog, you can get a little further as it initialized the raid but there were many errors as in “failed command: READ FPDMA QUEUED” and then finally if you start using your new raid it will fail and tell you one disk is bad.

What a pita, do not throw out those disks because they are fine and so is your rockpro64. It is not your power supply either, I tested that aspect by hooking everything up to an ATX power supply. It may be the controller or more probably some linux kernel problem.

Anyway the solution… Yes there is a solution, hurray.

You need to put the following line in the /boot/dietpiEnv.txt

extraargs=libata.force=3.0

Thats it, you are done. Reboot and Start using your two sata disks however you want zfs, btrfs, raid and all is well.

Unfortunatly I believe we are using half the speed we could be getting but at least it works.

Not sure but maybe this needs to be included in the rockpro64 image by default but then again what if it is only the controller from pine64 as I have not tested any other pcie controllers.