Hi all,
i have a project with lpc2468 c and SMSC LAN8700 phy device
sometimes when my firmware send a frame on the ethernet,
this one is not sent on the bus.
everything seems to be correct, i mean i can see the eth_TX_EN signal to
high level,
i even have the TX_DONE interrupt, but my frame is not seen on the bus.
i am in MII mode, my c is running at 72MHz
when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
problem occurs,
the synchronisation is not perfect (not compliant whith IEEE MII
specication)
but i have no idea if this is really the cause of my problem or not.
Does anyone allready got same kind of problem, or any idea on how to find
where the problem come from?
thanks in advance for your help
Laurent
[LPC2468]ethernet transmission problem
Started by ●December 8, 2010
Reply by ●December 8, 20102010-12-08
Hi,
what do you mean on the bus? Try to use wireshark and packeth to check
sending/receiving frames.
Regards,
Kuba
2010/12/8 laurent vaudoit
> Hi all,
> i have a project with lpc2468 c and SMSC LAN8700 phy device
> sometimes when my firmware send a frame on the ethernet,
> this one is not sent on the bus.
> everything seems to be correct, i mean i can see the eth_TX_EN signal to
> high level,
> i even have the TX_DONE interrupt, but my frame is not seen on the bus.
>
> i am in MII mode, my c is running at 72MHz
>
> when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
> problem occurs,
> the synchronisation is not perfect (not compliant whith IEEE MII
> specication)
> but i have no idea if this is really the cause of my problem or not.
>
> Does anyone allready got same kind of problem, or any idea on how to find
> where the problem come from?
>
> thanks in advance for your help
>
> Laurent
>
>
>
--
Pozdrawiam,
Kuba
http://www.jdorzak.pl
what do you mean on the bus? Try to use wireshark and packeth to check
sending/receiving frames.
Regards,
Kuba
2010/12/8 laurent vaudoit
> Hi all,
> i have a project with lpc2468 c and SMSC LAN8700 phy device
> sometimes when my firmware send a frame on the ethernet,
> this one is not sent on the bus.
> everything seems to be correct, i mean i can see the eth_TX_EN signal to
> high level,
> i even have the TX_DONE interrupt, but my frame is not seen on the bus.
>
> i am in MII mode, my c is running at 72MHz
>
> when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
> problem occurs,
> the synchronisation is not perfect (not compliant whith IEEE MII
> specication)
> but i have no idea if this is really the cause of my problem or not.
>
> Does anyone allready got same kind of problem, or any idea on how to find
> where the problem come from?
>
> thanks in advance for your help
>
> Laurent
>
>
>
--
Pozdrawiam,
Kuba
http://www.jdorzak.pl
Reply by ●December 8, 20102010-12-08
hi
i allready use wireshark to spy ethernet bus.
and when everything is ok, i'm able to sse the frame on wireshark,
and when i have the problem, no frame is seen on the spy
Regards
Laurent
On Wed, Dec 8, 2010 at 6:25 PM, Kuba Dorzak wrote:
> Hi,
> what do you mean on the bus? Try to use wireshark and packeth to check
> sending/receiving frames.
>
> Regards,
> Kuba
>
> 2010/12/8 laurent vaudoit
>>
>> Hi all,
>> i have a project with lpc2468 c and SMSC LAN8700 phy device
>> sometimes when my firmware send a frame on the ethernet,
>> this one is not sent on the bus.
>> everything seems to be correct, i mean i can see the eth_TX_EN signal to
>> high level,
>> i even have the TX_DONE interrupt, but my frame is not seen on the bus.
>>
>> i am in MII mode, my c is running at 72MHz
>>
>> when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
>> problem occurs,
>> the synchronisation is not perfect (not compliant whith IEEE MII
>> specication)
>> but i have no idea if this is really the cause of my problem or not.
>>
>> Does anyone allready got same kind of problem, or any idea on how to find
>> where the problem come from?
>>
>> thanks in advance for your help
>>
>> Laurent
> --
> Pozdrawiam,
> Kuba
> http://www.jdorzak.pl
>
>
>
i allready use wireshark to spy ethernet bus.
and when everything is ok, i'm able to sse the frame on wireshark,
and when i have the problem, no frame is seen on the spy
Regards
Laurent
On Wed, Dec 8, 2010 at 6:25 PM, Kuba Dorzak wrote:
> Hi,
> what do you mean on the bus? Try to use wireshark and packeth to check
> sending/receiving frames.
>
> Regards,
> Kuba
>
> 2010/12/8 laurent vaudoit
>>
>> Hi all,
>> i have a project with lpc2468 c and SMSC LAN8700 phy device
>> sometimes when my firmware send a frame on the ethernet,
>> this one is not sent on the bus.
>> everything seems to be correct, i mean i can see the eth_TX_EN signal to
>> high level,
>> i even have the TX_DONE interrupt, but my frame is not seen on the bus.
>>
>> i am in MII mode, my c is running at 72MHz
>>
>> when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
>> problem occurs,
>> the synchronisation is not perfect (not compliant whith IEEE MII
>> specication)
>> but i have no idea if this is really the cause of my problem or not.
>>
>> Does anyone allready got same kind of problem, or any idea on how to find
>> where the problem come from?
>>
>> thanks in advance for your help
>>
>> Laurent
> --
> Pozdrawiam,
> Kuba
> http://www.jdorzak.pl
>
>
>
Reply by ●December 8, 20102010-12-08
Working on my LPC2478+Micrel+examplary code from NXP site I had a problem
with interrupts- I'd reccomend you at the beginning not to use interrupts,
just polling. If from time to time you lost a frame- try to debug your
function which sends the frames to see what exactly is going on. With
Packeth you can check in debugging mode how's your EMAC receives frames.
Regards,
Kuba
2010/12/8 laurent vaudoit
> hi
> i allready use wireshark to spy ethernet bus.
> and when everything is ok, i'm able to sse the frame on wireshark,
> and when i have the problem, no frame is seen on the spy
>
> Regards
> Laurent
> On Wed, Dec 8, 2010 at 6:25 PM, Kuba Dorzak wrote:
>
>> Hi,
>> what do you mean on the bus? Try to use wireshark and packeth to check
>> sending/receiving frames.
>>
>> Regards,
>> Kuba
>>
>> 2010/12/8 laurent vaudoit
>>>
>>> Hi all,
>>> i have a project with lpc2468 c and SMSC LAN8700 phy device
>>> sometimes when my firmware send a frame on the ethernet,
>>> this one is not sent on the bus.
>>> everything seems to be correct, i mean i can see the eth_TX_EN signal to
>>> high level,
>>> i even have the TX_DONE interrupt, but my frame is not seen on the bus.
>>>
>>> i am in MII mode, my c is running at 72MHz
>>>
>>> when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
>>> problem occurs,
>>> the synchronisation is not perfect (not compliant whith IEEE MII
>>> specication)
>>> but i have no idea if this is really the cause of my problem or not.
>>>
>>> Does anyone allready got same kind of problem, or any idea on how to find
>>> where the problem come from?
>>>
>>> thanks in advance for your help
>>>
>>> Laurent
>>>
>>>
>> --
>> Pozdrawiam,
>> Kuba
>> http://www.jdorzak.pl
>
>
--
Pozdrawiam,
Kuba
http://www.jdorzak.pl
with interrupts- I'd reccomend you at the beginning not to use interrupts,
just polling. If from time to time you lost a frame- try to debug your
function which sends the frames to see what exactly is going on. With
Packeth you can check in debugging mode how's your EMAC receives frames.
Regards,
Kuba
2010/12/8 laurent vaudoit
> hi
> i allready use wireshark to spy ethernet bus.
> and when everything is ok, i'm able to sse the frame on wireshark,
> and when i have the problem, no frame is seen on the spy
>
> Regards
> Laurent
> On Wed, Dec 8, 2010 at 6:25 PM, Kuba Dorzak wrote:
>
>> Hi,
>> what do you mean on the bus? Try to use wireshark and packeth to check
>> sending/receiving frames.
>>
>> Regards,
>> Kuba
>>
>> 2010/12/8 laurent vaudoit
>>>
>>> Hi all,
>>> i have a project with lpc2468 c and SMSC LAN8700 phy device
>>> sometimes when my firmware send a frame on the ethernet,
>>> this one is not sent on the bus.
>>> everything seems to be correct, i mean i can see the eth_TX_EN signal to
>>> high level,
>>> i even have the TX_DONE interrupt, but my frame is not seen on the bus.
>>>
>>> i am in MII mode, my c is running at 72MHz
>>>
>>> when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
>>> problem occurs,
>>> the synchronisation is not perfect (not compliant whith IEEE MII
>>> specication)
>>> but i have no idea if this is really the cause of my problem or not.
>>>
>>> Does anyone allready got same kind of problem, or any idea on how to find
>>> where the problem come from?
>>>
>>> thanks in advance for your help
>>>
>>> Laurent
>>>
>>>
>> --
>> Pozdrawiam,
>> Kuba
>> http://www.jdorzak.pl
>
>
--
Pozdrawiam,
Kuba
http://www.jdorzak.pl
Reply by ●December 9, 20102010-12-09
i spend some time analysing the problem, and the problem is not coming from
the interruption, or even from the stack ethernet i use (nichestack)
the problem seems to come from the communication on the MII interface with
the phy driver
i have some weird synchronisation when the frame is not sent, between TX_CLK
and TXD[] signals.
Regards
Laurent
On Wed, Dec 8, 2010 at 9:49 PM, Kuba Dorzak wrote:
> Working on my LPC2478+Micrel+examplary code from NXP site I had a problem
> with interrupts- I'd reccomend you at the beginning not to use interrupts,
> just polling. If from time to time you lost a frame- try to debug your
> function which sends the frames to see what exactly is going on. With
> Packeth you can check in debugging mode how's your EMAC receives frames.
> Regards,
> Kuba
>
> 2010/12/8 laurent vaudoit > hi
>> i allready use wireshark to spy ethernet bus.
>> and when everything is ok, i'm able to sse the frame on wireshark,
>> and when i have the problem, no frame is seen on the spy
>>
>> Regards
>> Laurent
>> On Wed, Dec 8, 2010 at 6:25 PM, Kuba Dorzak wrote:
>>
>>>
>>>
>>> Hi,
>>> what do you mean on the bus? Try to use wireshark and packeth to check
>>> sending/receiving frames.
>>>
>>> Regards,
>>> Kuba
>>>
>>> 2010/12/8 laurent vaudoit
>>>
>>>
>>>>
>>>> Hi all,
>>>> i have a project with lpc2468 c and SMSC LAN8700 phy device
>>>> sometimes when my firmware send a frame on the ethernet,
>>>> this one is not sent on the bus.
>>>> everything seems to be correct, i mean i can see the eth_TX_EN signal to
>>>> high level,
>>>> i even have the TX_DONE interrupt, but my frame is not seen on the bus.
>>>>
>>>> i am in MII mode, my c is running at 72MHz
>>>>
>>>> when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
>>>> problem occurs,
>>>> the synchronisation is not perfect (not compliant whith IEEE MII
>>>> specication)
>>>> but i have no idea if this is really the cause of my problem or not.
>>>>
>>>> Does anyone allready got same kind of problem, or any idea on how to
>>>> find where the problem come from?
>>>>
>>>> thanks in advance for your help
>>>>
>>>> Laurent
>>>>
>>>>
>>>
>>>
>>> --
>>> Pozdrawiam,
>>> Kuba
>>> http://www.jdorzak.pl
>>>
>> --
> Pozdrawiam,
> Kuba
> http://www.jdorzak.pl
>
>
>
the interruption, or even from the stack ethernet i use (nichestack)
the problem seems to come from the communication on the MII interface with
the phy driver
i have some weird synchronisation when the frame is not sent, between TX_CLK
and TXD[] signals.
Regards
Laurent
On Wed, Dec 8, 2010 at 9:49 PM, Kuba Dorzak wrote:
> Working on my LPC2478+Micrel+examplary code from NXP site I had a problem
> with interrupts- I'd reccomend you at the beginning not to use interrupts,
> just polling. If from time to time you lost a frame- try to debug your
> function which sends the frames to see what exactly is going on. With
> Packeth you can check in debugging mode how's your EMAC receives frames.
> Regards,
> Kuba
>
> 2010/12/8 laurent vaudoit > hi
>> i allready use wireshark to spy ethernet bus.
>> and when everything is ok, i'm able to sse the frame on wireshark,
>> and when i have the problem, no frame is seen on the spy
>>
>> Regards
>> Laurent
>> On Wed, Dec 8, 2010 at 6:25 PM, Kuba Dorzak wrote:
>>
>>>
>>>
>>> Hi,
>>> what do you mean on the bus? Try to use wireshark and packeth to check
>>> sending/receiving frames.
>>>
>>> Regards,
>>> Kuba
>>>
>>> 2010/12/8 laurent vaudoit
>>>
>>>
>>>>
>>>> Hi all,
>>>> i have a project with lpc2468 c and SMSC LAN8700 phy device
>>>> sometimes when my firmware send a frame on the ethernet,
>>>> this one is not sent on the bus.
>>>> everything seems to be correct, i mean i can see the eth_TX_EN signal to
>>>> high level,
>>>> i even have the TX_DONE interrupt, but my frame is not seen on the bus.
>>>>
>>>> i am in MII mode, my c is running at 72MHz
>>>>
>>>> when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
>>>> problem occurs,
>>>> the synchronisation is not perfect (not compliant whith IEEE MII
>>>> specication)
>>>> but i have no idea if this is really the cause of my problem or not.
>>>>
>>>> Does anyone allready got same kind of problem, or any idea on how to
>>>> find where the problem come from?
>>>>
>>>> thanks in advance for your help
>>>>
>>>> Laurent
>>>>
>>>>
>>>
>>>
>>> --
>>> Pozdrawiam,
>>> Kuba
>>> http://www.jdorzak.pl
>>>
>> --
> Pozdrawiam,
> Kuba
> http://www.jdorzak.pl
>
>
>
Reply by ●December 9, 20102010-12-09
So check the MII coniguration- maybe NicheLite uses RMII. You can also check
if your hardware supports MII coniguration- I know that you mentioned that
you use TXD[0..3], which is for MII, but for example, on one Olimex board
RMII is implemented but on schematic they use RXD[0..3], what is confusing.
If I were you I'd try to do the following things:
1) put the NicheLite away for a moment
2) get your PHY datasheet
3) adapt the code from NXP site to work on your hardware (their code allows
you to choose between MII/RMII)
4) check whether the comunication on the lowest level is ok (without IP,
TCP, apps)
If you do this, than you'll easier change the Nichelite EMAC layer.
Good luck,
Kuba
2010/12/9 laurent vaudoit
> i spend some time analysing the problem, and the problem is not coming from
> the interruption, or even from the stack ethernet i use (nichestack)
> the problem seems to come from the communication on the MII interface with
> the phy driver
> i have some weird synchronisation when the frame is not sent, between
> TX_CLK and TXD[] signals.
>
> Regards
> Laurent
> On Wed, Dec 8, 2010 at 9:49 PM, Kuba Dorzak wrote:
>
>> Working on my LPC2478+Micrel+examplary code from NXP site I had a problem
>> with interrupts- I'd reccomend you at the beginning not to use interrupts,
>> just polling. If from time to time you lost a frame- try to debug your
>> function which sends the frames to see what exactly is going on. With
>> Packeth you can check in debugging mode how's your EMAC receives frames.
>> Regards,
>> Kuba
>>
>> 2010/12/8 laurent vaudoit
>>
>>>
>>>
>>> hi
>>> i allready use wireshark to spy ethernet bus.
>>> and when everything is ok, i'm able to sse the frame on wireshark,
>>> and when i have the problem, no frame is seen on the spy
>>>
>>> Regards
>>> Laurent
>>>
>>>
>>> On Wed, Dec 8, 2010 at 6:25 PM, Kuba Dorzak wrote:
>>>
>>>>
>>>>
>>>> Hi,
>>>> what do you mean on the bus? Try to use wireshark and packeth to check
>>>> sending/receiving frames.
>>>>
>>>> Regards,
>>>> Kuba
>>>>
>>>> 2010/12/8 laurent vaudoit
>>>>
>>>>
>>>>>
>>>>> Hi all,
>>>>> i have a project with lpc2468 c and SMSC LAN8700 phy device
>>>>> sometimes when my firmware send a frame on the ethernet,
>>>>> this one is not sent on the bus.
>>>>> everything seems to be correct, i mean i can see the eth_TX_EN signal
>>>>> to high level,
>>>>> i even have the TX_DONE interrupt, but my frame is not seen on the bus.
>>>>>
>>>>> i am in MII mode, my c is running at 72MHz
>>>>>
>>>>> when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
>>>>> problem occurs,
>>>>> the synchronisation is not perfect (not compliant whith IEEE MII
>>>>> specication)
>>>>> but i have no idea if this is really the cause of my problem or not.
>>>>>
>>>>> Does anyone allready got same kind of problem, or any idea on how to
>>>>> find where the problem come from?
>>>>>
>>>>> thanks in advance for your help
>>>>>
>>>>> Laurent
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Pozdrawiam,
>>>> Kuba
>>>> http://www.jdorzak.pl
>>>>
>>>>
>>
>
--
Pozdrawiam,
Kuba
http://www.jdorzak.pl
if your hardware supports MII coniguration- I know that you mentioned that
you use TXD[0..3], which is for MII, but for example, on one Olimex board
RMII is implemented but on schematic they use RXD[0..3], what is confusing.
If I were you I'd try to do the following things:
1) put the NicheLite away for a moment
2) get your PHY datasheet
3) adapt the code from NXP site to work on your hardware (their code allows
you to choose between MII/RMII)
4) check whether the comunication on the lowest level is ok (without IP,
TCP, apps)
If you do this, than you'll easier change the Nichelite EMAC layer.
Good luck,
Kuba
2010/12/9 laurent vaudoit
> i spend some time analysing the problem, and the problem is not coming from
> the interruption, or even from the stack ethernet i use (nichestack)
> the problem seems to come from the communication on the MII interface with
> the phy driver
> i have some weird synchronisation when the frame is not sent, between
> TX_CLK and TXD[] signals.
>
> Regards
> Laurent
> On Wed, Dec 8, 2010 at 9:49 PM, Kuba Dorzak wrote:
>
>> Working on my LPC2478+Micrel+examplary code from NXP site I had a problem
>> with interrupts- I'd reccomend you at the beginning not to use interrupts,
>> just polling. If from time to time you lost a frame- try to debug your
>> function which sends the frames to see what exactly is going on. With
>> Packeth you can check in debugging mode how's your EMAC receives frames.
>> Regards,
>> Kuba
>>
>> 2010/12/8 laurent vaudoit
>>
>>>
>>>
>>> hi
>>> i allready use wireshark to spy ethernet bus.
>>> and when everything is ok, i'm able to sse the frame on wireshark,
>>> and when i have the problem, no frame is seen on the spy
>>>
>>> Regards
>>> Laurent
>>>
>>>
>>> On Wed, Dec 8, 2010 at 6:25 PM, Kuba Dorzak wrote:
>>>
>>>>
>>>>
>>>> Hi,
>>>> what do you mean on the bus? Try to use wireshark and packeth to check
>>>> sending/receiving frames.
>>>>
>>>> Regards,
>>>> Kuba
>>>>
>>>> 2010/12/8 laurent vaudoit
>>>>
>>>>
>>>>>
>>>>> Hi all,
>>>>> i have a project with lpc2468 c and SMSC LAN8700 phy device
>>>>> sometimes when my firmware send a frame on the ethernet,
>>>>> this one is not sent on the bus.
>>>>> everything seems to be correct, i mean i can see the eth_TX_EN signal
>>>>> to high level,
>>>>> i even have the TX_DONE interrupt, but my frame is not seen on the bus.
>>>>>
>>>>> i am in MII mode, my c is running at 72MHz
>>>>>
>>>>> when i analyse the signals TXD[0..3] and TX_CLK, it seems that when the
>>>>> problem occurs,
>>>>> the synchronisation is not perfect (not compliant whith IEEE MII
>>>>> specication)
>>>>> but i have no idea if this is really the cause of my problem or not.
>>>>>
>>>>> Does anyone allready got same kind of problem, or any idea on how to
>>>>> find where the problem come from?
>>>>>
>>>>> thanks in advance for your help
>>>>>
>>>>> Laurent
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Pozdrawiam,
>>>> Kuba
>>>> http://www.jdorzak.pl
>>>>
>>>>
>>
>
--
Pozdrawiam,
Kuba
http://www.jdorzak.pl
Reply by ●December 9, 20102010-12-09
>> from the stack ethernet i use (nichestack)
I tried using Nichelite and it had major problems. I wrote my own LPC2468 driver for their stack, but the source of the problems lies deep in their code. Cannot be fixed. I could show you the problems in their code exactly, but would take too much time here. I switched over to lwIP and it performs 1000% better, and it is free..
Chris.
I tried using Nichelite and it had major problems. I wrote my own LPC2468 driver for their stack, but the source of the problems lies deep in their code. Cannot be fixed. I could show you the problems in their code exactly, but would take too much time here. I switched over to lwIP and it performs 1000% better, and it is free..
Chris.
Reply by ●December 9, 20102010-12-09
Yeah, right now I am working on LWIP (LPC2478+Sourcery) I wrote the driver,
but I have a mistake somwhere as the stack claims that the devices (PC and
uc directly connected) are from different subnetworks and quit the packet on
IP level. ARP works fine.
Kuba
2010/12/9 Chris
> >> from the stack ethernet i use (nichestack)
>
> I tried using Nichelite and it had major problems. I wrote my own LPC2468
> driver for their stack, but the source of the problems lies deep in their
> code. Cannot be fixed. I could show you the problems in their code
> exactly, but would take too much time here. I switched over to lwIP and
> it performs 1000% better, and it is free..
>
> Chris.
>
>
>
--
Pozdrawiam,
Kuba
http://www.jdorzak.pl
but I have a mistake somwhere as the stack claims that the devices (PC and
uc directly connected) are from different subnetworks and quit the packet on
IP level. ARP works fine.
Kuba
2010/12/9 Chris
> >> from the stack ethernet i use (nichestack)
>
> I tried using Nichelite and it had major problems. I wrote my own LPC2468
> driver for their stack, but the source of the problems lies deep in their
> code. Cannot be fixed. I could show you the problems in their code
> exactly, but would take too much time here. I switched over to lwIP and
> it performs 1000% better, and it is free..
>
> Chris.
>
>
>
--
Pozdrawiam,
Kuba
http://www.jdorzak.pl