9 years, 11 months ago.

K64F + Ethernet class not recognized in mbed compiler

Hello,

The Ethernet class in the mbed compiler is not recognized for the K64F. However, it does work with the LPC4088.

There are basically two major issues and one minor issue regarding the K64F and Ethernet.

1. The K64F init(); will hang indefinitely if no Ethernet cable is connected or DHCP server not found. There should be a timeout for init(); and return with error.

A "partial" workaround for this bug would be to first check to see if a valid Ethernet physical link is established. If not, you can skip over Ethernet initialization and continue. Which brings me to item 2.

2. The mbed compiler does not recognize the "Ethernet" class with the K64F. This is where you could check to see if the Ethernet Phy is linked or not. See my other question on this topic: http://mbed.org/questions/3686/class-Ethernet-broken/

3. connect(); must have a value e.g. connect(10000); otherwise connect will hang indefinitely. The default of 15000 is not working.

I have updated to the latest mbed-src and all issues are still present.

The LPC4088 works fine. init(); does timeout if no Ethernet cable is connected and compiles the Ethernet class just fine.

help please,

...kevin

I'll look at the 2nd, that one can be done without k64f board, which I dont have at the moment.

posted by Martin Kojtal 14 Jun 2014

Any update on this?

...kevin

posted by Kevin Braun 27 Jun 2014

I have only checked why it does not recognized Ethernet class and it's because K64F was implemented differently, without supporting mbed Ethernet class.

posted by Martin Kojtal 04 Sep 2014

Should have been an easy fix....

posted by Kevin Braun 04 Sep 2014

So Martin,

I have more information on Ethernet initialization hangs with no cable attached.

From a cold start with a valid Ethernet connection running DHCP, the K64F gets a valid IP address within milliseconds.

From a cold start with NO Ethernet connection running DHCP, the K64F sits in init() for 63 seconds, returns a "0", (indicating init() was successful), then hangs forever in connect(10000).

posted by Kevin Braun 05 Sep 2014
Be the first to answer this question.

Assigned to Kevin Braun 9 years, 8 months ago.

This means that the question has been accepted and is being worked on.