Loop() not Executing on Photon with multiple SPI devices

I have an SD card in addition to the Ethernet shield.

I noticed that:

  1. If I start the SD card first, and the Ethernet next, both start but loop() does not run.

  2. If I start the Ethernet shield first, the SD card will not run with SPI_FULL_SPEED, or SPI_HALF_SPEED

  3. If I start the Ethernet shield first, the SD card will run with SPI_QUARTER_SPEED but then the loop() never starts.

I would appreciate the community’s help with this issue as I need to have both an SD card and Ethernet. I am considering switching to Xenons but it is not practical at the moment as I have a custom board.