Hi everyone, I have been testing for a while now on the i.mx28 evk, and I noticed that almost all tftp transfers take some time before they actually start. It will show a 'T' as first character, then followed by '#' chars. After enabling some debug info, it appeared that it would always start by sending an ARP request, but this ARP message does not get sent actually (monitored with Wireshark). After 5 seconds the 2nd ARP request is sent (this does get traced by Wireshark) and also responded and from that point all goes well.
When tracing the code, it could see that fec_send is called for the 1st ARP request and also the return value indicates that sending should have been succeeded (fec_send: status 0xc00 index 0 ret 0). But no package is actually sent. My first guess would be that it has something to do with the TBD / DMA part. The fec_tbd_init also shows some note about a rare hardware condition regarding the WRAP bit (all in drivers/net/fec_mxc.c). Could it be that there is still another issue regarding the chip that causes this? If I do a tftp transfer from linux on the same board and in the same network, it does start immediately. =======================DEBUG LOG=========================== U-Boot > tftp versions.ini eth_halt: wait for stop regs eth_halt: done Trying FEC0 fec_init fec_tbd_init fec_mii_setspeed: mii_speed 0000003c fec_open: fec_open(dev) fec_open:Speed=100 TFTP blocksize = 1468, timeout = 5000 ms TFTP from server 192.168.0.100; our IP address is 192.168.0.109 Filename 'versions.ini'. Loading: send option "timeout 5" sending ARP for 192.168.0.100 ARP broadcast 1 fec_send: status 0xc00 index 0 ret 0 T send option "timeout 5" sending ARP for 192.168.0.100 ARP broadcast 1 fec_send: status 0x2c00 index 1 ret 0 Got ARP REPLY, set eth addr (00:0c:29:65:b4:8a) fec_send: status 0xc00 index 0 ret 0 received UDP (to=192.168.0.109, from=192.168.0.100, len=53) Got OACK: timeout 5 Blocksize ack: 1468, 1468 sending UDP to 192.168.0.100/00:0c:29:65:b4:8a fec_send: status 0x2c00 index 1 ret 0 received UDP (to=192.168.0.109, from=192.168.0.100, len=100) #sending UDP to 192.168.0.100/00:0c:29:65:b4:8a fec_send: status 0xc00 index 0 ret 0 0 Bytes/s done Bytes transferred = 68 (44 hex) eth_halt: wait for stop regs eth_halt: done U-Boot > ========================================================== Thanks in advance for any comments. Regards, Ruud _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot