When I try to send an APDU, the APDU sent (as seen in pcscd -adf) is always prefixed with 0xff 0x00 0x00 0x00 & 3-4 bytes.

Is this supposed to be the case?

I have a USB reader here, so is ifdnfc any good for me?

ifdnfc-activate returns:

Could not find Wrapper driver for libnfc
Cannot find a smart card reader

what is wrong?

and, is libifdnfc.so purely for serial readers?

Thank you! You definitely helped me!

My firmware is 1.02, but it worked nonetheless. The confusion was obviously from the manufacturer's website:

Please do not use this version driver with older firmware of ACR122U reader (<= v2.04). It will cause the reader unresponsive.