Hi,
I am in the middle of porting a project I developed using an XC2 board to a custom board that uses a LAN8710a. I seem to be having a few problems and was wondering if there is any programming diferences between the two chips. I used the ethernet schematic for the AVB as my basis for my design.
The LAN8710a seems to be working as when I plug the network cable in I get a link and activity light but nothing seems to happen as far as the code goes :-)
I have only just started debugging and thought I could reach out to see if there is something simple I am missing before I start messing up my code debugging :-)
I put in a few print lines in on the http_event handler and nothing seems to be happening. I unplug the cable and I dont see an if_up or if_down event or any event for that matter.
Any assistance on where I should start looking would be great. I guess I need to see if the Mii interface is working but up unitil now I have not had to spend any time looking at that code.
Thanks in advance
Matt
Programming differences between LAN8710a and LAN8700
-
- Active Member
- Posts: 50
- Joined: Sat Feb 13, 2010 12:04 pm
-
- XCore Legend
- Posts: 1274
- Joined: Thu Dec 10, 2009 10:20 pm
Hi Matt
It might be easier to start of a bit lower level with just the ethernet examples and pinging rather than jumping into the TCP/IP stack and http on top. There is also a basic ethernet example in the Programming XC book section 6.5 Case Study: Ethernet MII which explains basic low level operation of the MII interface to the LAN8710a, you can get in there on the recieve code (6.5.2 MII Receive) and see if frames are coming through for example.
regards
Al
It might be easier to start of a bit lower level with just the ethernet examples and pinging rather than jumping into the TCP/IP stack and http on top. There is also a basic ethernet example in the Programming XC book section 6.5 Case Study: Ethernet MII which explains basic low level operation of the MII interface to the LAN8710a, you can get in there on the recieve code (6.5.2 MII Receive) and see if frames are coming through for example.
regards
Al
-
- Respected Member
- Posts: 279
- Joined: Fri Dec 11, 2009 1:34 pm
Hi Matt,
It sounds like you can't read the 8710a registers via SMI because the PHY address is wrong. The address is configured by pins PHYAD[0..2] on the PHY itself.
If you've copied the AVB schematic then the address should be set to 0. You'll need to update your software because I think the XC-2 used a different address.
It sounds like you can't read the 8710a registers via SMI because the PHY address is wrong. The address is configured by pins PHYAD[0..2] on the PHY itself.
If you've copied the AVB schematic then the address should be set to 0. You'll need to update your software because I think the XC-2 used a different address.
-
- Active Member
- Posts: 50
- Joined: Sat Feb 13, 2010 12:04 pm
Thanks for the reply guys.
I think I need a little of both suggestions.
Firstly the PHY_ADDRESS did need to be set to 0. So now I am getting the if_up and down_events.
But
I still am not getting any data events and I can not ping the box so I will have to do some investigation as to what is going on there. Will report back when I figure it out for others that find themselves with the same porting issue.
Kind Regards
Matt
I think I need a little of both suggestions.
Firstly the PHY_ADDRESS did need to be set to 0. So now I am getting the if_up and down_events.
But
I still am not getting any data events and I can not ping the box so I will have to do some investigation as to what is going on there. Will report back when I figure it out for others that find themselves with the same porting issue.
Kind Regards
Matt