EmbeddedRelated.com
Forums

LPC2368 and DP83848 ethernet problem

Started by m_sonpal_e59 June 15, 2011
Hello, I am using LPC2368 with DP83848. I have acheived the loopback output via internal MAC. I can read all the byte sent through DMA buffer to MAC and looped back again from internal MAC.
The problem occurs when I try to loopback from PHY IC.

My reception configuration is interrupt based and I am not getting any Rx interrupt. Since during loopback via MAC, the Rx interrupt was generated,hence it seems that the transmission reception settings for MAC look to be fine and working.
The PHY configuration is as follows:
Auto negotiation is disabled.
Manual settings to PHY for 10Mbps Full Duplex mode.

I get the following outputs from the registers.

PHYCR = 0x0021; indicating PHY address = 01, LED config mode 1
BMCR = 0x2000; indicating loopback enabled, 10Mbps selected, full duplex selected
BMSR = 0x7849; indicating device capable of working in 100BASE-TX Full duplex/Half duplex, 10BASE-T Full/Half duplex, preamble suppression capable (default settings)
STS = 0x000F; indicating loopback status enabled, full duplex mode, 10Mbps mode enabled and valid link established.

I still dont get any RxDone interrupt indicating any frame received.

I tried to check PHY by using BIST mode provided by DP83848 with PHY loopback enabled which generates a random sequence in PSR9 mode.
After a short delay, I checked BIST status bit of PHYCR , I got a BIST Pass. Also,
CDCTRL1 = 0x0000; indicating no errors during random sequence in BIST mode.
Also, the interrupt was continuously being generated and there was a random sequence running on uart output

On checking the registers after BIST mode only one register changed from above.

PHYCR = 0x0321 (from 0x0021) ; indicating additional BIST start and Pass status bits set

BMCR = 0x4100, BMSR = 0x784D, STS = 0x000F ; same as above.

Is there any other diagnostic method to check the transmit and receive datapath. Any indications on oscilloscope. Please share your viewa. Please send in your suggestions asap.

An Engineer's Guide to the LPC2100 Series

Are you using one of the 3rd-party boards, IAR, Keil, or
your own board?

It seems that the link is established correctly. using
auto negotiation is easier that you can connect to PC over
LAN directly and use any speed, enable the broadcast bit in
MAC. Any broadcast packet should trigger a RX interrupt.

Find the EasyWeb, Nichelite, or any ethernet S/W example from
NXP's website, which configures both MAC and PHY, get an
ethernet traffic analyzer(ethereal) insteading using scope to
monitor the traffic.
http://ics.nxp.com/support/documents/microcontrollers/?scope=LPC2368

regards,
Tom
--- In l..., "m_sonpal_e59" wrote:
>
> Hello, I am using LPC2368 with DP83848. I have acheived the loopback output via internal MAC. I can read all the byte sent through DMA buffer to MAC and looped back again from internal MAC.
> The problem occurs when I try to loopback from PHY IC.
>
> My reception configuration is interrupt based and I am not getting any Rx interrupt. Since during loopback via MAC, the Rx interrupt was generated,hence it seems that the transmission reception settings for MAC look to be fine and working.
> The PHY configuration is as follows:
> Auto negotiation is disabled.
> Manual settings to PHY for 10Mbps Full Duplex mode.
>
> I get the following outputs from the registers.
>
> PHYCR = 0x0021; indicating PHY address = 01, LED config mode 1
> BMCR = 0x2000; indicating loopback enabled, 10Mbps selected, full duplex selected
> BMSR = 0x7849; indicating device capable of working in 100BASE-TX Full duplex/Half duplex, 10BASE-T Full/Half duplex, preamble suppression capable (default settings)
> STS = 0x000F; indicating loopback status enabled, full duplex mode, 10Mbps mode enabled and valid link established.
>
> I still dont get any RxDone interrupt indicating any frame received.
>
> I tried to check PHY by using BIST mode provided by DP83848 with PHY loopback enabled which generates a random sequence in PSR9 mode.
> After a short delay, I checked BIST status bit of PHYCR , I got a BIST Pass. Also,
> CDCTRL1 = 0x0000; indicating no errors during random sequence in BIST mode.
> Also, the interrupt was continuously being generated and there was a random sequence running on uart output
>
> On checking the registers after BIST mode only one register changed from above.
>
> PHYCR = 0x0321 (from 0x0021) ; indicating additional BIST start and Pass status bits set
>
> BMCR = 0x4100, BMSR = 0x784D, STS = 0x000F ; same as above.
>
> Is there any other diagnostic method to check the transmit and receive datapath. Any indications on oscilloscope. Please share your viewa. Please send in your suggestions asap.
>

--- In l..., "dtang" wrote:
> Find the EasyWeb, Nichelite, or any ethernet S/W example from
> NXP's website, which configures both MAC and PHY, get an
> ethernet traffic analyzer(ethereal) insteading using scope to
> monitor the traffic.
> http://ics.nxp.com/support/documents/microcontrollers/?scope=LPC2368
>
> regards,
> Tom
I have been using Wireshark for this kind of thing.

One point worth noting: if the monitoring PC is not part of the conversation and the network uses switches, a hub is required. It is also required if the project board has to get an IP address from a DHCP server and there is some desire to watch that occur.

In my case, my LPC2106 project needed to talk to a LaserJet via TCP. In order for the PC to watch the traffic, I needed to connect my project board and my PC to a hub and then connect the hub to my switched network.

I had tossed all my hubs years ago so I had a little shopping to do.

Richard

On 16 Jun 2011, at 19:52, rtstofer wrote:

> --- In l..., "dtang" wrote:
>> Find the EasyWeb, Nichelite, or any ethernet S/W example from
>> NXP's website, which configures both MAC and PHY, get an
>> ethernet traffic analyzer(ethereal) insteading using scope to
>> monitor the traffic.
>> http://ics.nxp.com/support/documents/microcontrollers/?scope=LPC2368
>>
>> regards,
>> Tom
> I have been using Wireshark for this kind of thing.
>
> One point worth noting: if the monitoring PC is not part of the conversation and the network uses switches, a hub is required. It is also required if the project board has to get an IP address from a DHCP server and there is some desire to watch that occur.

You do not need necessarily need a hub in this instance. One of the more interesting ways of doing this is by port mirroring on a switch that allows you to do it--a very nice feature. I'm sure all managed switches will allow you to do port mirroring.

-- Paul.

Thank you all for replying back. I am using Keil's standard Eval board MCB2000.
Tom, please note that I have not implemented any TCP/IP over my board.
I am still just trying to test my drivers by sending raw data from the physical layer and testing it by internal loopback feature of DP83848 PHY. I am expecting to get an output back from the PHY. I am totally a newbie to wireshark and need to know whether Wireshark indicates the reception of data from non TCP/IP implemented node...I reckon not... but please suggest if it does or any other software does.
I had already implemented drivers for another board which we are planning to use only for diagnostic purpose.But it doesn't support auto negotiation, hence I am trying to test without auto negotiation.

I am using the scope only for checking data transfer from my on-chip MAC to the PHY device DP83848 namely checking TX_EN, TX0 and TX1 signals and I get the right response. But after loopback there is no relevant output RX0, RX1 and CRS_DV signals.

I have a doubt for using PHY in Forced mode(non autonegotiation mode).
Is it enough that you just set the duplex mode and speed via BMCR or do I require set something else. Is this enough to establish a valid link.
--- In l..., "dtang" wrote:
>
> Are you using one of the 3rd-party boards, IAR, Keil, or
> your own board?
>
> It seems that the link is established correctly. using
> auto negotiation is easier that you can connect to PC over
> LAN directly and use any speed, enable the broadcast bit in
> MAC. Any broadcast packet should trigger a RX interrupt.
>
> Find the EasyWeb, Nichelite, or any ethernet S/W example from
> NXP's website, which configures both MAC and PHY, get an
> ethernet traffic analyzer(ethereal) insteading using scope to
> monitor the traffic.
> http://ics.nxp.com/support/documents/microcontrollers/?scope=LPC2368
>
> regards,
> Tom
> --- In l..., "m_sonpal_e59" wrote:
> >
> > Hello, I am using LPC2368 with DP83848. I have acheived the loopback output via internal MAC. I can read all the byte sent through DMA buffer to MAC and looped back again from internal MAC.
> > The problem occurs when I try to loopback from PHY IC.
> >
> > My reception configuration is interrupt based and I am not getting any Rx interrupt. Since during loopback via MAC, the Rx interrupt was generated,hence it seems that the transmission reception settings for MAC look to be fine and working.
> >
> >
> > The PHY configuration is as follows:
> > Auto negotiation is disabled.
> > Manual settings to PHY for 10Mbps Full Duplex mode.
> >
> > I get the following outputs from the registers.
> >
> > PHYCR = 0x0021; indicating PHY address = 01, LED config mode 1
> > BMCR = 0x2000; indicating loopback enabled, 10Mbps selected, full duplex selected
> > BMSR = 0x7849; indicating device capable of working in 100BASE-TX Full duplex/Half duplex, 10BASE-T Full/Half duplex, preamble suppression capable (default settings)
> > STS = 0x000F; indicating loopback status enabled, full duplex mode, 10Mbps mode enabled and valid link established.
> >
> > I still dont get any RxDone interrupt indicating any frame received.
> >
> > I tried to check PHY by using BIST mode provided by DP83848 with PHY loopback enabled which generates a random sequence in PSR9 mode.
> > After a short delay, I checked BIST status bit of PHYCR , I got a BIST Pass. Also,
> > CDCTRL1 = 0x0000; indicating no errors during random sequence in BIST mode.
> > Also, the interrupt was continuously being generated and there was a random sequence running on uart output
> >
> > On checking the registers after BIST mode only one register changed from above.
> >
> > PHYCR = 0x0321 (from 0x0021) ; indicating additional BIST start and Pass status bits set
> >
> > BMCR = 0x4100, BMSR = 0x784D, STS = 0x000F ; same as above.
> >
> > Is there any other diagnostic method to check the transmit and receive datapath. Any indications on oscilloscope. Please share your viewa. Please send in your suggestions asap.
>

Overall, you shouldn't spend too much debugging a known good
board on ethernet MAC and PHY. You shouldn't write a single
line of code for now.

Getting a dedicated PC, connect the board to PC directly, turn
off DHCP and force the IP address to 192.168.0.101 on PC, program
the EasyWEB example into the flash, the Keil Easyweb example
uses 192.168.0.100 I believe, download and run the wireshark
or ethereal traffic analyzer to monitor the communication between
the two.

Once you get the link established and interrupt fired, then,
single step into the code to see how MAC and PHY are initialized,
and check the capture of the traffic, analyze the 802.3 format,
the source, the destination, the data length, the payload, the
TCP header, the IP header. etc.

regards,
Tom
--- In l..., "Monish" wrote:
>
> Thank you all for replying back. I am using Keil's standard Eval board MCB2000.
> Tom, please note that I have not implemented any TCP/IP over my board.
> I am still just trying to test my drivers by sending raw data from the physical layer and testing it by internal loopback feature of DP83848 PHY. I am expecting to get an output back from the PHY. I am totally a newbie to wireshark and need to know whether Wireshark indicates the reception of data from non TCP/IP implemented node...I reckon not... but please suggest if it does or any other software does.
> I had already implemented drivers for another board which we are planning to use only for diagnostic purpose.But it doesn't support auto negotiation, hence I am trying to test without auto negotiation.
>
> I am using the scope only for checking data transfer from my on-chip MAC to the PHY device DP83848 namely checking TX_EN, TX0 and TX1 signals and I get the right response. But after loopback there is no relevant output RX0, RX1 and CRS_DV signals.
>
> I have a doubt for using PHY in Forced mode(non autonegotiation mode).
> Is it enough that you just set the duplex mode and speed via BMCR or do I require set something else. Is this enough to establish a valid link.
> --- In l..., "dtang" wrote:
> >
> > Are you using one of the 3rd-party boards, IAR, Keil, or
> > your own board?
> >
> > It seems that the link is established correctly. using
> > auto negotiation is easier that you can connect to PC over
> > LAN directly and use any speed, enable the broadcast bit in
> > MAC. Any broadcast packet should trigger a RX interrupt.
> >
> > Find the EasyWeb, Nichelite, or any ethernet S/W example from
> > NXP's website, which configures both MAC and PHY, get an
> > ethernet traffic analyzer(ethereal) insteading using scope to
> > monitor the traffic.
> > http://ics.nxp.com/support/documents/microcontrollers/?scope=LPC2368
> >
> > regards,
> > Tom
> >
> >
> > --- In l..., "m_sonpal_e59" wrote:
> > >
> > > Hello, I am using LPC2368 with DP83848. I have acheived the loopback output via internal MAC. I can read all the byte sent through DMA buffer to MAC and looped back again from internal MAC.
> > > The problem occurs when I try to loopback from PHY IC.
> > >
> > > My reception configuration is interrupt based and I am not getting any Rx interrupt. Since during loopback via MAC, the Rx interrupt was generated,hence it seems that the transmission reception settings for MAC look to be fine and working.
> > >
> > >
> > > The PHY configuration is as follows:
> > > Auto negotiation is disabled.
> > > Manual settings to PHY for 10Mbps Full Duplex mode.
> > >
> > > I get the following outputs from the registers.
> > >
> > > PHYCR = 0x0021; indicating PHY address = 01, LED config mode 1
> > > BMCR = 0x2000; indicating loopback enabled, 10Mbps selected, full duplex selected
> > > BMSR = 0x7849; indicating device capable of working in 100BASE-TX Full duplex/Half duplex, 10BASE-T Full/Half duplex, preamble suppression capable (default settings)
> > > STS = 0x000F; indicating loopback status enabled, full duplex mode, 10Mbps mode enabled and valid link established.
> > >
> > > I still dont get any RxDone interrupt indicating any frame received.
> > >
> > > I tried to check PHY by using BIST mode provided by DP83848 with PHY loopback enabled which generates a random sequence in PSR9 mode.
> > > After a short delay, I checked BIST status bit of PHYCR , I got a BIST Pass. Also,
> > > CDCTRL1 = 0x0000; indicating no errors during random sequence in BIST mode.
> > > Also, the interrupt was continuously being generated and there was a random sequence running on uart output
> > >
> > > On checking the registers after BIST mode only one register changed from above.
> > >
> > > PHYCR = 0x0321 (from 0x0021) ; indicating additional BIST start and Pass status bits set
> > >
> > > BMCR = 0x4100, BMSR = 0x784D, STS = 0x000F ; same as above.
> > >
> > > Is there any other diagnostic method to check the transmit and receive datapath. Any indications on oscilloscope. Please share your viewa. Please send in your suggestions asap.
> > >
>

Thank you all for the suggestions! I used Wireshark with my code and found my 802.3 packet to be transmitted to the PC seen over Wireshark.
I have certain queries which are holding my work back.

1. Can you send a frame from Wireshark to the board so that I can check my reception part. If not, please suggest any other utility which can be used to send raw 802.3 ethernet packet (no tcp/ip headers supported yet).

2. My current software uses auto negotiation. But I need to include compatibility with the devices that do not support auto negotiation.
Hence, I disabled auto negotiation and assigned 4 different combinations like 10Mbps Full/half duplex and 100Mbps Full/Half Duplex. Consequently, I chaged my PC NIC configuration to the respective configuration as reqd in each case. But in each of the 4 cases I couldnt get a valid link established and could not see any packet on Wireshark. Also, some time after start-up there was a Receive ISR executed.
How do I enable reliable configuration in Forced mode (non auto-negotiation mode)? Do I need to include some time delay of some seconds after assigning duplex and speed values. Please suggest if there is any tweak for DP83848. Any help would be appreciated. Thanks in advance

--- In l..., "Tom Tang" wrote:
>
> Overall, you shouldn't spend too much debugging a known good
> board on ethernet MAC and PHY. You shouldn't write a single
> line of code for now.
>
> Getting a dedicated PC, connect the board to PC directly, turn
> off DHCP and force the IP address to 192.168.0.101 on PC, program
> the EasyWEB example into the flash, the Keil Easyweb example
> uses 192.168.0.100 I believe, download and run the wireshark
> or ethereal traffic analyzer to monitor the communication between
> the two.
>
> Once you get the link established and interrupt fired, then,
> single step into the code to see how MAC and PHY are initialized,
> and check the capture of the traffic, analyze the 802.3 format,
> the source, the destination, the data length, the payload, the
> TCP header, the IP header. etc.
>
> regards,
> Tom
> --- In l..., "Monish" wrote:
> >
> > Thank you all for replying back. I am using Keil's standard Eval board MCB2000.
> > Tom, please note that I have not implemented any TCP/IP over my board.
> > I am still just trying to test my drivers by sending raw data from the physical layer and testing it by internal loopback feature of DP83848 PHY. I am expecting to get an output back from the PHY. I am totally a newbie to wireshark and need to know whether Wireshark indicates the reception of data from non TCP/IP implemented node...I reckon not... but please suggest if it does or any other software does.
> > I had already implemented drivers for another board which we are planning to use only for diagnostic purpose.But it doesn't support auto negotiation, hence I am trying to test without auto negotiation.
> >
> > I am using the scope only for checking data transfer from my on-chip MAC to the PHY device DP83848 namely checking TX_EN, TX0 and TX1 signals and I get the right response. But after loopback there is no relevant output RX0, RX1 and CRS_DV signals.
> >
> > I have a doubt for using PHY in Forced mode(non autonegotiation mode).
> > Is it enough that you just set the duplex mode and speed via BMCR or do I require set something else. Is this enough to establish a valid link.
> >
> >
> > --- In l..., "dtang" wrote:
> > >
> > > Are you using one of the 3rd-party boards, IAR, Keil, or
> > > your own board?
> > >
> > > It seems that the link is established correctly. using
> > > auto negotiation is easier that you can connect to PC over
> > > LAN directly and use any speed, enable the broadcast bit in
> > > MAC. Any broadcast packet should trigger a RX interrupt.
> > >
> > > Find the EasyWeb, Nichelite, or any ethernet S/W example from
> > > NXP's website, which configures both MAC and PHY, get an
> > > ethernet traffic analyzer(ethereal) insteading using scope to
> > > monitor the traffic.
> > > http://ics.nxp.com/support/documents/microcontrollers/?scope=LPC2368
> > >
> > > regards,
> > > Tom
> > >
> > >
> > > --- In l..., "m_sonpal_e59" wrote:
> > > >
> > > > Hello, I am using LPC2368 with DP83848. I have acheived the loopback output via internal MAC. I can read all the byte sent through DMA buffer to MAC and looped back again from internal MAC.
> > > > The problem occurs when I try to loopback from PHY IC.
> > > >
> > > > My reception configuration is interrupt based and I am not getting any Rx interrupt. Since during loopback via MAC, the Rx interrupt was generated,hence it seems that the transmission reception settings for MAC look to be fine and working.
> > > >
> > > >
> > > > The PHY configuration is as follows:
> > > > Auto negotiation is disabled.
> > > > Manual settings to PHY for 10Mbps Full Duplex mode.
> > > >
> > > > I get the following outputs from the registers.
> > > >
> > > > PHYCR = 0x0021; indicating PHY address = 01, LED config mode 1
> > > > BMCR = 0x2000; indicating loopback enabled, 10Mbps selected, full duplex selected
> > > > BMSR = 0x7849; indicating device capable of working in 100BASE-TX Full duplex/Half duplex, 10BASE-T Full/Half duplex, preamble suppression capable (default settings)
> > > > STS = 0x000F; indicating loopback status enabled, full duplex mode, 10Mbps mode enabled and valid link established.
> > > >
> > > > I still dont get any RxDone interrupt indicating any frame received.
> > > >
> > > > I tried to check PHY by using BIST mode provided by DP83848 with PHY loopback enabled which generates a random sequence in PSR9 mode.
> > > > After a short delay, I checked BIST status bit of PHYCR , I got a BIST Pass. Also,
> > > > CDCTRL1 = 0x0000; indicating no errors during random sequence in BIST mode.
> > > > Also, the interrupt was continuously being generated and there was a random sequence running on uart output
> > > >
> > > > On checking the registers after BIST mode only one register changed from above.
> > > >
> > > > PHYCR = 0x0321 (from 0x0021) ; indicating additional BIST start and Pass status bits set
> > > >
> > > > BMCR = 0x4100, BMSR = 0x784D, STS = 0x000F ; same as above.
> > > >
> > > > Is there any other diagnostic method to check the transmit and receive datapath. Any indications on oscilloscope. Please share your viewa. Please send in your suggestions asap.
> > > >
> > >
>
Hi

Wireshark cannot send packets , but a free package pktbuilder can to that.

www.colasoft.com/packet_builder/

Regards

Jean-Jacques

--- In l..., "Monish" wrote:
> Thank you all for the suggestions! I used Wireshark with my code and found my 802.3 packet to be transmitted to the PC seen over Wireshark.
> I have certain queries which are holding my work back.
>
> 1. Can you send a frame from Wireshark to the board so that I can check my reception part. If not, please suggest any other utility which can be used to send raw 802.3 ethernet packet (no tcp/ip headers supported yet).
>
> 2. My current software uses auto negotiation. But I need to include compatibility with the devices that do not support auto negotiation.
> Hence, I disabled auto negotiation and assigned 4 different combinations like 10Mbps Full/half duplex and 100Mbps Full/Half Duplex. Consequently, I chaged my PC NIC configuration to the respective configuration as reqd in each case. But in each of the 4 cases I couldnt get a valid link established and could not see any packet on Wireshark. Also, some time after start-up there was a Receive ISR executed.
> How do I enable reliable configuration in Forced mode (non auto-negotiation mode)? Do I need to include some time delay of some seconds after assigning duplex and speed values. Please suggest if there is any tweak for DP83848. Any help would be appreciated. Thanks in advance
>
> --- In l..., "Tom Tang" wrote:
> >
> > Overall, you shouldn't spend too much debugging a known good
> > board on ethernet MAC and PHY. You shouldn't write a single
> > line of code for now.
> >
> > Getting a dedicated PC, connect the board to PC directly, turn
> > off DHCP and force the IP address to 192.168.0.101 on PC, program
> > the EasyWEB example into the flash, the Keil Easyweb example
> > uses 192.168.0.100 I believe, download and run the wireshark
> > or ethereal traffic analyzer to monitor the communication between
> > the two.
> >
> > Once you get the link established and interrupt fired, then,
> > single step into the code to see how MAC and PHY are initialized,
> > and check the capture of the traffic, analyze the 802.3 format,
> > the source, the destination, the data length, the payload, the
> > TCP header, the IP header. etc.
> >
> > regards,
> > Tom
> >
> >
> > --- In l..., "Monish" wrote:
> > >
> > > Thank you all for replying back. I am using Keil's standard Eval board MCB2000.
> > > Tom, please note that I have not implemented any TCP/IP over my board.
> > > I am still just trying to test my drivers by sending raw data from the physical layer and testing it by internal loopback feature of DP83848 PHY. I am expecting to get an output back from the PHY. I am totally a newbie to wireshark and need to know whether Wireshark indicates the reception of data from non TCP/IP implemented node...I reckon not... but please suggest if it does or any other software does.
> > > I had already implemented drivers for another board which we are planning to use only for diagnostic purpose.But it doesn't support auto negotiation, hence I am trying to test without auto negotiation.
> > >
> > > I am using the scope only for checking data transfer from my on-chip MAC to the PHY device DP83848 namely checking TX_EN, TX0 and TX1 signals and I get the right response. But after loopback there is no relevant output RX0, RX1 and CRS_DV signals.
> > >
> > > I have a doubt for using PHY in Forced mode(non autonegotiation mode).
> > > Is it enough that you just set the duplex mode and speed via BMCR or do I require set something else. Is this enough to establish a valid link.
> > >
> > >
> > > --- In l..., "dtang" wrote:
> > > >
> > > > Are you using one of the 3rd-party boards, IAR, Keil, or
> > > > your own board?
> > > >
> > > > It seems that the link is established correctly. using
> > > > auto negotiation is easier that you can connect to PC over
> > > > LAN directly and use any speed, enable the broadcast bit in
> > > > MAC. Any broadcast packet should trigger a RX interrupt.
> > > >
> > > > Find the EasyWeb, Nichelite, or any ethernet S/W example from
> > > > NXP's website, which configures both MAC and PHY, get an
> > > > ethernet traffic analyzer(ethereal) insteading using scope to
> > > > monitor the traffic.
> > > > http://ics.nxp.com/support/documents/microcontrollers/?scope=LPC2368
> > > >
> > > > regards,
> > > > Tom
> > > >
> > > >
> > > > --- In l..., "m_sonpal_e59" wrote:
> > > > >
> > > > > Hello, I am using LPC2368 with DP83848. I have acheived the loopback output via internal MAC. I can read all the byte sent through DMA buffer to MAC and looped back again from internal MAC.
> > > > > The problem occurs when I try to loopback from PHY IC.
> > > > >
> > > > > My reception configuration is interrupt based and I am not getting any Rx interrupt. Since during loopback via MAC, the Rx interrupt was generated,hence it seems that the transmission reception settings for MAC look to be fine and working.
> > > > >
> > > > >
> > > > > The PHY configuration is as follows:
> > > > > Auto negotiation is disabled.
> > > > > Manual settings to PHY for 10Mbps Full Duplex mode.
> > > > >
> > > > > I get the following outputs from the registers.
> > > > >
> > > > > PHYCR = 0x0021; indicating PHY address = 01, LED config mode 1
> > > > > BMCR = 0x2000; indicating loopback enabled, 10Mbps selected, full duplex selected
> > > > > BMSR = 0x7849; indicating device capable of working in 100BASE-TX Full duplex/Half duplex, 10BASE-T Full/Half duplex, preamble suppression capable (default settings)
> > > > > STS = 0x000F; indicating loopback status enabled, full duplex mode, 10Mbps mode enabled and valid link established.
> > > > >
> > > > > I still dont get any RxDone interrupt indicating any frame received.
> > > > >
> > > > > I tried to check PHY by using BIST mode provided by DP83848 with PHY loopback enabled which generates a random sequence in PSR9 mode.
> > > > > After a short delay, I checked BIST status bit of PHYCR , I got a BIST Pass. Also,
> > > > > CDCTRL1 = 0x0000; indicating no errors during random sequence in BIST mode.
> > > > > Also, the interrupt was continuously being generated and there was a random sequence running on uart output
> > > > >
> > > > > On checking the registers after BIST mode only one register changed from above.
> > > > >
> > > > > PHYCR = 0x0321 (from 0x0021) ; indicating additional BIST start and Pass status bits set
> > > > >
> > > > > BMCR = 0x4100, BMSR = 0x784D, STS = 0x000F ; same as above.
> > > > >
> > > > > Is there any other diagnostic method to check the transmit and receive datapath. Any indications on oscilloscope. Please share your viewa. Please send in your suggestions asap.
> > > > >
> > > >
> > >
>