Weird SPI read behaviour

I think the later is the case… you need to write a 0xff:, command and response :

Because the data transfer is driven by serial clock generated by host controller, the host controller must continue to read data, send a 0xFF and get received byte, until a valid response is detected. The DI signal must be kept high during read transfer (send a 0xFF and get the received data).

I looked at the code for 2.0.5 (which is using Mbed) but in the end it is using the call spi_master_block_write() which handles works in

I did more work during the day and this is exactly what the Arduino SD-library does… sending 0xff