Arduino UNO Rev3 with Protoshield and Ethernet shield?

Hi everyone -
New to Arduino, and have a question about connecting shields.
Here’s what I’ve got (in the order stacked, top to bottom)
Seeed Ethernet shield ARD124B2P
Seeed ProtoShield STR104B2P
Arduino Uno Rev3

What’s going on is this-
When I stack just the Ethernet board on top of the Arduino, everything works -
I can load the demo sketch for Web server, configured for my network, and everything’s fine.
A webpage is available, showing the values of the analog sensors, just as advertised.

When I stack the ProtoShield in between, the Ethernet board lights up, acts normal, and I have link state on the switchport it’s plugged into.
But no DHCP address is obtained (even from a lease the unit was given moments earlier)

The only pins that aren’t connected through when the Ethernet board is mounted on top of the Protoshield are the ISP pins.
But I can’t figure out what the reasoning behind no DHCP is -
I can remove the Protoshield and put the Ethernet board back directly on the UNO
and things will immediately work.
The moment the Proto is between, the Ethernet board looks like everything is normal, but it won’t work.

I’ve checked with a meter, and all the pins on the Proto are connecting straight through, no shorts to other pins, etc.

Is it allowable to stack other shelds on top of the Protoshield?
The Ethernet board doesn’t have female connectors, so I cannot simply put it in the middle and put the Protoshield on top.

By the way, there isn’t anything assembled (yet) on the Protoshield, other than the LEDs and the reset switch. I plan to put a couple of 7805 voltage regulators on some pins, but I
had wanted to re-test the Ethernet board, so the Proto is left as simple as possible.

Does anyone know what’s going wrong here?

Thanks for helping out a first- timer…

Update on this -

I’ve proven once again that this only happens when the Protoshield is stacked in.

I also can clarify that I’m getting the famed “Server is at” message
whenever the Proto is stacked in, but never when it’s not.

Per some discussions on the above message about that error message coming up when
powering only off USB and not having enough current, I went and found a 9vDC 1amp wall wart
power supply with the correct plug.
No joy, however - and the USB port sometimes doesn’t work (makes the error USB sound)
when the power supply is in line)

so I don’t think my problem is power, or least it’s not solved with an external power supply.

I’m wondering about the ICSP 6-pin connector.
Due to the offset of pins, layout of the Protoshield, etc
that header does not connect through from the UNO to the Ethernet board.
It does, of course, when they are the only two boards stacked.

But I don’t find anything in documentation that says the Ethernet board must have the ICSP connector connected through,
or that the pins on the ICSP header are required to make the Ethernet board work.

I don’t know how I’d do that, since the connectors are not in line with each other…

I looked at my Ethernet shield, and by default, the jumpers are set so the board expects D11, D12, and D13 to connect through the ICSP connector. To get them to be connected on the other pins, place a solder blob on the left side of the three jumpers on the Ethernet board.

Unfortunately, the part included with the proto board, the 6 pin header, can not be used to connect to the UNO and allow a shield to plug into that. (The pins are too short.) A wire wrap version of that 6 pin header may have worked.

Note: The proto board I have, version 1.0. The design is defective. The header that D10 through D13 go through are offset incorrectly to allow proper connection to an added shield. I had to mount the two headers on that side of the board at an angle to get a standard shield to plug into the top of the proto board.