I'm wondering if I can tie a digital output line from the Arduino (say pin 6) to the reset line of the shield, and force the output low for 50ms in my setup() function, to force reboot the shield. then initialize it.
I assume that the mini and the shield are now permenantly connected to your pcb; if not though, can you go back & retest them standalone? It rather sounds as though the cause is elsewhere in your system.
Do you guys think the htpc psu is not getting up to voltage quick enough and that's my problem? Would it be better for me to use a 7805 off the 12V rail and create my own 5V rail to work with?
delay(50); //wait for voltage to stabilize pinMode(7, OUTPUT); //pin connected to w5100 shield's reset digitalWrite(7, LOW); //pull line low for 100ms to reset ethernet shield delay(100); digitalWrite(7, HIGH); //set line high and now ignore pin the rest of the time