I know that site.But This problem is not from software. MAC or KSZ8721 ,It has a problem one of them. If the software is problematic, 100Mbit Full Duplex mode is not working fine. Does it work with 10MBit mode at Olimex kit?

I wondered if you have few minutes to check if theses 2 pins are not connected together on your Olimex board. On mine, there is a small wire below the chip that I found out when I soldered the chip out. I don't understand why we need to connect these 2 pins together, the datasheet provides no explanation.

Unfortunately I am on the road for another weeks and didn't pack in the Olimex board (I just have my IAR one).I am surprised that the Olimex diagram doesn't seem to correspond (http://www.olimex.com/dev/images/LPC2378-STK-sch.gif). This still shows the connection to pin 22.I wonder whether the trick was to connect pads 22 and 9 underneath the chip and remove pin 22?

Can anyone else with the board take a very close look at the pin/pad to see whether there is a secret wire underneath there? No idea why though...

I have (finally) checked my board using a magnifying glass but can't see any extra wires connected.This is not 100% because I did it without removing the device, but I looked hard and really didn't get the impression that there was something additionally soldered under the chip.

I've seen your message in the Sparkfun forum today, thank you very much your help !

Yes, I saw nothing as well on my board until I decided to remove the part. The best way would be to check with a simple multimeter (when I removed the part, I didn't know where to search). I've received no reply from Olimex unfortunately. I contacted a Micrel FAE (here in France) last week, I'll transmit the schematics. He told me that this part (KS8721) is very mature and he should send me some designs quickly.

Ah ah, it is interesting ! This means the board and the schematics are differents. I've some problems to receive packets correctly on my design (new PCB) which is based on the schematics (LPC2378-STK). The Micrel PHY is a KSZ8721BL set up in RMII mode as well. To get some boards working, I have to connect a strap between pin 9 & 22. If I remove it, I reveive no packet at all. However, some boards doesn't work even if I connect these pins together : an error from the status descriptors for each packet received (bad length or alignement error or CRC error). When I read the buffer, I have 12/13 first-bytes of a packet correctly (example for an ARP packet : 6 bytes broadcast (0xFF) followed by 6 bytes of my source MAC address (my computer) and then... dummy bytes...). No problem to send packets though, checked with ethereal.

I received an email from Micrel yesterday :

We think the problem may be due to the strap between pins 9 & 22.

For RMII mode (see datasheet) the E_CRS signal (on customer schematic)should connect to pin 9 RXDV/CRSDV and not pin 22 CRS. This needs to becorrected as we believe this is the cause of the receive errors(misalignment).

We suspect in the modification that you strapped pin 9 and pin 22together but also cut pin 22. Pins 9 & 22 are both outputs so you do notwant them connected together (you may be lucky in RMII but certainly wewould not advise connecting the two pins).

Well OK, but it doesn't work... why ? The schematics provided by Micrel attached to the email are all designed for MII (pin 22 and pin 9 are used separetly), not RMII...

To conclude : there is something wrong either in the datasheet or with this chip in RMII mode, or with my PCB design... no reply from Olimex too... I made a small test code to check EMAC. Does someone write another one for LPC2388/78 + Micrel PHY ?

Ok, I finally found something : I forced the pins TXD2, TXD3 and TXEN to the ground, put 2 pull-down 1K resistors (pin 11 = RX_ER and pin 9 = E_CRSDV) and disconnected pins 22 = E_CRS and pin 9 = E_CRSDV, leaving pin 22 floating. I also use a GPIO pin from the LPC to make a hard-reset (pin 48 = PHY_RST). In LPC side, I setup EMAC pins in the PINSEL register first and then apply a hard reset. I think the pull-down resistors helps to setup the straping options properly, I don't know...

Finally, my boards seems to work with these modifications

However, I've no explanation about the Olimex modifications... Mark, did you have any issue in Half duplex mode with your Olimex board ? The misalignement can be explained by this.