Sanguino (AtMega 644p) + enc28j60

Recently I started playing with the Sanguino Arduino clone because it utilizes the AtMega 644p chip. The extra memory and pins have been ideal for my tinkering. However recently I have hit a rare brick wall that I cant seem to overcome. It seems that for some reason no matter what I do I cannot get my 644p chip to play nice with the ENC28J60. However if I use my Arduino Uno or duemilanove with the identical circuit it works like a charm.

I have been all over the libraries and examples for the ENC and I have made several variations of modification to the enc28j60.c to account for the new pinouts…

http://www.nuelectronics.com/download/projects/etherShield.zip

#define ENC28J60_CONTROL_CS 3
#define SPI_MOSI 5
#define SPI_MISO 6
#define SPI_SCK 7

As with any good geek I hate asking for help and love solving problems on my own, but after 2 weeks of evenings devoted to this I have officially thrown in the towel and need to ask for help. Its interesting to me that both the sanguine / ATmega 644p and ENC28J60 seem to be an ideal low cost paring, but there is no documentation I have been able to find for this combo anywhere online. So any input, thoughts and direction here would be super awesome and while im sure it’s something simple I am overlooking my vision is now so myopic I don’t believe I will see the answer unless it is right in front of my face.

T

Got a sketch to go along with it?
What do you have set up to map the pins to the SPI signals?
DIP 644, or surface mount?

My recollection is that the pins used by Sanguino are:
MOSI physical pin 6, = D5
MISO physical pin 7, = D6
SCK physical pin 8, = D7

So you seem to have that correct, SS (CS) can be any pin, I see you are using 3 vs the default physical pin 5, = D4.

What does it do, or not do?