STM32F407 SPI voltages are low and the clock signal behaves unexpectedly
So I have been developing my custom board, based on the STM32F407VE chip, and have encountered an issue with the SPI1 bus. I was trying to set up an SD card module on the bus, using the SdFat library by Bill Greiman. I specified the CS pin to be PA4, which is the default CS for the SPI1 bus. Below is the connection diagram, as well as the chip's SPI1 bus pinout for reference. 
The SD card fails to initialize, in particular, SPI library throws a timeout right here.
// initialize card and send host supports SDHC if SD2
arg = type() == SD_CARD_TYPE_SD2 ? 0X40000000 : 0;
timeout.set(SD_INIT_TIMEOUT);
while (cardAcmd(ACMD41, arg) != R1_READY_STATE)
{
// check for timeout
if (timeout.timedOut())
{
//Serial.println("timeout");
error(SD_CARD_ERROR_ACMD41);
goto fail;
}
}The voltages on the SPI pins are very low, below 2V, although everything on the board is running on 3.3V. However, the I2C buses and other peripherals operate just fine, so power supply related issues seem unlikely.
Also, the clock signal looks not how a clock signal should look like.
At first, I thought I might be running it too fast, and attempted to lower the clock speed:
SPI.setClockDivider(255);But it doesn't seem to even work. It doesn't seem to affect the frequency of the SPI clock signal at all.
I will be happy to provide any additional details, and grateful for any help in getting this thing to return a true.
SD.begin(SD_CS_PIN)