[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [microblaze-uclinux] emaclite on petalinux.
I'm not familiar with emaclite IP core but I guess it's something in HW. Actually, I got an idea of my fix looking on emaclite driver in u-boot - they flush receive after each driver initialization. You'll probably need support from your HW folks to get root of this problem.
Verify yet another time that packets really hit your board's PHY and it's just driver who doesn't see them. Connect some sort of sniffer right before your board and see packets actually arriving. I'm especially interested see ARP requests - they are broadcast and shall be answered by board. However ARP requests are normally short (46 bytes) and some PHYs don't deal good with short packets.
You can try to define board's ARP statically (be sure that MAC address is correct because if it's not, board will drop packets unless in promiscuous mode). Then you shall see actual IP packets (pings) arriving and ping size you can adjust - make sure it's >= 64 bytes.
Leonid.
-----Original Message-----
From: owner-microblaze-uclinux@xxxxxxxxxxxxxx [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of Raul Camaras
Sent: Monday, April 16, 2007 5:47 AM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: AW: [microblaze-uclinux] emaclite on petalinux.
I am very positive that it is not a network issue, I tried it with a
direct cross-link cable...
I wrote in driver a printk, in RecvHandler, but nothing is received.
Where could be the problem between hardware and driver code?
-----Ursprüngliche Nachricht-----
Von: owner-microblaze-uclinux@xxxxxxxxxxxxxx
[mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] Im Auftrag von Leonid
Gesendet: Samstag, 14. April 2007 03:04
An: microblaze-uclinux@xxxxxxxxxxxxxx
Betreff: RE: [microblaze-uclinux] emaclite on petalinux.
Well, it worked for me... may be it depends on fpga version... are you
positive it's not some network issue, I mean, do ARP packets really
reach your board? If ARP fails for some reason, board becomes "visible"
for system only after it transmits something...
Leonid.
-----Original Message-----
From: owner-microblaze-uclinux@xxxxxxxxxxxxxx
[mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of Raul
Camaras
Sent: Friday, April 13, 2007 1:34 AM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: AW: [microblaze-uclinux] emaclite on petalinux.
Hi Leonid,
I have the same problem, I need to initiate transmit with i.e. ping.
Acually, the driver doesn't see any receive before.
I tried the solution you wrote here, in apapter.c, but it does not solve
the problem for me...
Any other ideas?
Thanks,
Raul Camaras
-----Ursprüngliche Nachricht-----
Von: owner-microblaze-uclinux@xxxxxxxxxxxxxx
[mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] Im Auftrag von Leonid
Gesendet: Freitag, 13. April 2007 02:09
An: microblaze-uclinux@xxxxxxxxxxxxxx
Betreff: [microblaze-uclinux] emaclite on petalinux.
Hi, John:
I have noticed (I'm using 2.4 uClinux) that my card using emaclite
doesn't response to ARPs, pings, etc... until I initiate some transmit
from uClinux shell (say, try to ping somebody).
Investigations showed that driver doesn't see any receive whatsoever
before this moment.
I figured out that it can be fixed by flushing receive in probe()
function in adapter.c right before set mac address:
if (XEmacLite_Initialize(&lp->EmacLite, cfg->DeviceId) !=
XST_SUCCESS) {
printk(KERN_ERR "%s: Could not initialize device.\n",
dev->name);
remove_head_dev();
return -ENODEV;
}
-> /* Flush Recieve */
-> XEmacLite_FlushReceive(&lp->EmacLite);
-> /* Copy MAC address in from descriptor table */
-> memcpy(dev->dev_addr, ether_table[index].macaddr,6);
->
/* Copy MAC address in from descriptor table */
XEmacLite_SetMacAddress(&lp->EmacLite,
ether_table[index].macaddr);
Memcopy I have also added fixes wrong ifconfig output which otherwise
shows interface HW address to be all zeroes.
Thanks,
Leonid.
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/