[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [microblaze-uclinux]apparent timeout problems with tftp



Hi John,

Your patch worked. Before I applied the patch I did the experiment of removing my Linksys SD205 switch and connecting the board directly. This also worked indicating some kind of half-duplex/duplex problem existed before the patch.

Also thanks to Leonid.

Larry


-----Original Message-----
From: owner-microblaze-uclinux@xxxxxxxxxxxxxx on behalf of John Williams
Sent: Thu 3/29/2007 3:49 PM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: Re: [microblaze-uclinux]apparent timeout problems with tftp
 
Hi Leonid, Larry,

Can you please try the attached patch?  It actually does nothing to the 
ethernet/ethernetlite drivers, but rather just adds instruction and 
datacache support to u-boot.

I found this totally fixed the tftp issues i was seeing here. 
Previously there were lots of timeouts, now it's a lovely clean 
download, every time.

Apply it at patchlevel -p1 from the petalinux-dist/u-boot directory:

$ cd ${PETALINUX}/software/petalinux-dist/u-boot
$ patch -p1 < petalinux-u-boot-cache.patch

Rebuild u-boot, and give it a try.

Please let me know if this helps,

John

Leonid wrote:
> Hi, Larry:
> 
> I have precisely same problem, in fact see my message attached here.
> Your particular problem can be different though (see reference to u-boot
> FAQ there). I believe, John has opened an issue regarding this matter.
> 
> This is something wrong with Ethernet Lite u-boot driver because it
> doesn't show up with EMAC driver I had on my own board (you cannot use
> it on your 50MHz Spartan-3E design, need 64MHz at least) nor uClinux
> when finally loaded shows any network problems.
> 
> I don't know root of the problem, but I could mend its symptoms by using
> different tftp server. In fact, the only server I couldn't work was
> trivial Linux in.tftpd. I switched to atftpd and run it with following
> parameters:
> 
> service tftp
> {
>         disable = no
>         socket_type             = dgram
>         protocol                = udp
>         wait                    = yes
>         user                    = root
>         server                  = /usr/sbin/atftpd
>         server_args             = --retry-timeout 1 --no-timeout
> /tftpboot
>         per_source              = 11
>         cps                     = 100 2
>         flags                   = IPv4
> }
> 
> It's only workaround of course. I also didn't hear about such problem
> from people, running tftp server on Windows.
> 
> Thanks,
> 
> Leonid.
> 
> -----Original Message-----
> From: owner-microblaze-uclinux@xxxxxxxxxxxxxx
> [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of Larry
> Rystrom
> Sent: Thursday, March 29, 2007 1:59 PM
> To: microblaze-uclinux@xxxxxxxxxxxxxx
> Subject: [microblaze-uclinux]apparent timeout problems with tftp
> 
> Hi All,
> 
> I am continuing to make good basic progress on getting our c++
> appplication over to uClinux but have now run into a problem with not
> being able to complete the steps in the "Getting Started Tutorial for
> the Spartan-3E-500 Starter Kit" (thanks John for this tutorial).
> 
> From the U-boot prompt I get the following with each 'T' evidently
> representing a timeout:
> U-Boot> tftp $(clobstart) u-boot-s.bin
> TFTP from server 192.168.1.10; our IP address is 192.168.1.11
> Filename 'u-boot-s.bin'.
> Load address: 0x22000000
> Loading: #T T T #T #T #T T T T T
> Retry count exceeded; starting again
> 
> I was able to tftp into this machine from a windows machine and transfer
> a file. Also the 'localhost' test seems to work correctly. I have put
> the output from my three terminal windows below.
> 
> Suggestions anybody?
> 
> Larry
> 
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> "kermit" terminal window output:
> 
> PetaLinux environment set to '/home/rystrom/petalinux'
> [rystrom@localhost ~]$ kermit -c
> Connecting to /dev/ttyS0, speed 115200
>  Escape character: Ctrl-\ (ASCII 28, FS): enabled
> Type the escape character followed by C to get back,
> or followed by ? to see other options.
> ----------------------------------------------------
> 
> =================================================
> FS-BOOT First Stage Bootloader (c) 2006 PetaLogix
> =================================================
> FS-BOOT: System initialisation completed.
> FS-BOOT: No existing image in FLASH.  Starting image download.
> FS-BOOT: Waiting for SREC image....
> FS-BOOT: Image download successful.
> FS-BOOT: Warning image location differ from default boot location. Image
> will not boot automatically after POR.
> FS-BOOT: Press 'n' to boot old image.
> FS-BOOT: Use new image.
> FS-BOOT: Booting image...
> SDRAM :
>         U-Boot Start:0x23fc0000
>         Malloc Start:0x23f60000
>         Board Info Start:0x23f5ffd0
>         Boot Parameters Start:0x23f4ffd0
> FLASH: 16 MB
> ETHERNET: MAC:00:0a:35:00:22:01
> 
> Hit any key to stop autoboot:  0
> ## Booting image at 210c0000 ...
> Bad Magic Number
> U-Boot> loadb 0x22000000
> ## Ready for binary (kermit) download to 0x22000000 at 115200 bps...
> 
> (Back at localhost.localdomain)
> ----------------------------------------------------
> C-Kermit 8.0.209, 17 Mar 2003, for Red Hat Linux 8.0
>  Copyright (C) 1985, 2003,
>   Trustees of Columbia University in the City of New York.
> Type ? or HELP for help.
> (/home/rystrom/) C-Kermit>send /bin /tftpboot/ub.config.img
> (/home/rystrom/) C-Kermit>connect
> Connecting to /dev/ttyS0, speed 115200
>  Escape character: Ctrl-\ (ASCII 28, FS): enabled
> Type the escape character followed by C to get back,
> or followed by ? to see other options.
> ----------------------------------------------------
> ## Total Size      = 0x000003f4 = 1012 Bytes
> ## Start Addr      = 0x22000000
> U-Boot> setenv ethaddr=
> U-Boot> autoscr $(fileaddr)
> ## Executing script at 22000000
> PetaLogix MicroBlaze-Auto Board Configuration
> ---------------------------------------------
> Network Configuration:
> MTD Configuration:
> Clobber DRAM Configuration:
> Bootloader Configuration:
> Kernel Configuration:
> Boot Configuration:
> Saving Configurations...
> Saving Environment to Flash...
> Un-Protected 2 sectors
> Erasing Flash...
> .. done
> Erased 2 sectors
> Writing to Flash... done
> Protected 2 sectors
> Configuration Completed
> U-Boot> tftp $(clobstart) u-boot-s.bin
> TFTP from server 192.168.1.10; our IP address is 192.168.1.11
> Filename 'u-boot-s.bin'.
> Load address: 0x22000000
> Loading: #T T T #T #T #T T T T T
> Retry count exceeded; starting again
> TFTP from server 192.168.1.10; our IP address is 192.168.1.11
> Filename 'u-boot-s.bin'.
> Load address: 0x22000000
> Loading: ##T T #T T ##T T T T T ###T
> Retry count exceeded; starting again
> TFTP from server 192.168.1.10; our IP address is 192.168.1.11
> Filename 'u-boot-s.bin'.
> Load address: 0x22000000
> Loading: #T T #T T T T #T T T T #
> Retry count exceeded; starting again
> TFTP from server 192.168.1.10; our IP address is 192.168.1.11
> Filename 'u-boot-s.bin'.
> Load address: 0x22000000
> Loading: #T T #T #T T T T #T T T
> Retry count exceeded; starting again
> TFTP from server 192.168.1.10; our IP address is 192.168.1.11
> Filename 'u-boot-s.bin'.
> Load address: 0x22000000
> Loading: ##T T T T #T T T T T T
> Retry count exceeded; starting again
> TFTP from server 192.168.1.10; our IP address is 192.168.1.11
> Filename 'u-boot-s.bin'.
> Load address: 0x22000000
> Loading: #T T T T T T #T ##T T T #
> Retry count exceeded; starting again
> TFTP from server 192.168.1.10; our IP address is 192.168.1.11
> Filename 'u-boot-s.bin'.
> Load address: 0x22000000
> 
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> "hardware" terminal window:
> 
> PetaLinux environment set to '/home/rystrom/petalinux'
> [rystrom@localhost ~]$ cd petalinux
> [rystrom@localhost petalinux]$ cd hardware
> [rystrom@localhost hardware]$ cd ref*
> [rystrom@localhost reference-designs]$ ls
> pre-built                         Xilinx-ML403-uclinux-ref-edk71
> Xilinx-ML401-uclinux-ref-edk71    Xilinx-ML403-uclinux-ref-edk81
> Xilinx-ML401-uclinux-ref-edk81    Xilinx-ML403-uclinux-temac-edk81
> Xilinx-ML401-uclinux-ref-edk82    Xilinx-Spartan3E500-RevC-edk81
> Xilinx-ML403-ppc-linux-ref-edk71  Xilinx-Spartan3E500-RevC-edk82
> Xilinx-ML403-ppc-linux-ref-edk81
> [rystrom@localhost reference-designs]$ cd *RevC-edk82
> [rystrom@localhost Xilinx-Spartan3E500-RevC-edk82]$ make -f system.make
> download
> *********************************************
> Downloading Bitstream onto the target board
> *********************************************
> impact -batch etc/download.cmd
> Release 8.2.03i - iMPACT I.34
> Copyright (c) 1995-2006 Xilinx, Inc.  All rights reserved.
> // *** BATCH CMD : setMode -bs
> // *** BATCH CMD : setCable -port auto
> AutoDetecting cable. Please wait.
> Reusing 78008001 key.
> Reusing FC008001 key.
> Connecting to cable (Parallel Port - parport0).
>  WinDriver v8.02 Jungo (c) 1997 - 2006 Build Date: Jun  6 2006 X86 32bit
> 16:11:59.
>  parport0: baseAddress=0x378, ecpAddress=0x778
>  LPT base address = 0378h.
>  ECP base address = 0778h.
> Cable connection failed.
> Reusing 79008001 key.
> Reusing FD008001 key.
> Connecting to cable (Parallel Port - parport1).
>  WinDriver v8.02 Jungo (c) 1997 - 2006 Build Date: Jun  6 2006 X86 32bit
> 16:11:59.
> Cable connection failed.
> Reusing 7A008001 key.
> Reusing FE008001 key.
> Connecting to cable (Parallel Port - parport2).
>  WinDriver v8.02 Jungo (c) 1997 - 2006 Build Date: Jun  6 2006 X86 32bit
> 16:11:59.
> Cable connection failed.
> Reusing 7B008001 key.
> Reusing FF008001 key.
> Connecting to cable (Parallel Port - parport3).
>  WinDriver v8.02 Jungo (c) 1997 - 2006 Build Date: Jun  6 2006 X86 32bit
> 16:11:59.
> Cable connection failed.
> Reusing A0008001 key.
> Reusing 24008001 key.
> Connecting to cable (Usb Port - USB21).
> Checking cable driver.
> File version of /opt/pkg/xilinx/ise8.2/bin/lin/xusbdfwu.hex = 1021(dec),
> 03FD.
> File version of /etc/hotplug/usb/xusbdfwu.fw/xusbdfwu.hex = 1025(dec),
> 0401.
> Calling setinterface num=0, alternate=0.
> DeviceAttach: received and accepted attach for:
>   vendor id 0x3fd, product id 0x8, device handle 0x8fba4e8
>  Cable PID = 0008.
>  Max current requested during enumeration is 280 mA.
>  Cable Type = 3, Revision = 0.
>  Setting cable speed to 6 MHz.
> Cable connection established.
> Firmware version = 1025.
> CPLD file version = 0012h.
> CPLD version = 0012h.
> // *** BATCH CMD : identify
> Identifying chain contents ....Version is 0000
> '1': : Manufacturer's ID =Xilinx xc2c64a, Version : 0
> PMSPEC -- Overriding Xilinx file
> </opt/pkg/xilinx/ise8.2/xbr/data/xbr.acd> with
> local file </opt/pkg/xilinx/ise8.2/xbr/data/xbr.acd>
> INFO:iMPACT:1777 -
>    Reading /opt/pkg/xilinx/ise8.2/xbr/data/xc2c64a.bsd...
> INFO:iMPACT:501 - '1': Added Device xc2c64a successfully.
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> Version is 1111
> '2': : Manufacturer's ID =Xilinx xcf04s, Version : 15
> INFO:iMPACT:1777 -
>    Reading /opt/pkg/xilinx/ise8.2/xcf/data/xcf04s.bsd...
> INFO:iMPACT:501 - '1': Added Device xcf04s successfully.
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> Version is 0000
> '3': : Manufacturer's ID =Xilinx xc3s500e, Version : 0
> INFO:iMPACT:1777 -
>    Reading /opt/pkg/xilinx/ise8.2/spartan3e/data/xc3s500e.bsd...
> INFO:iMPACT:501 - '1': Added Device xc3s500e successfully.
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> done.
> Chain TCK freq = 10000000.
> Chain TCK freq = 10000000.
> Validating chain...
> Boundary-scan chain validated successfully.
> Elapsed time =      0 sec.
> // *** BATCH CMD : identifyMPM
> Elapsed time =      0 sec.
> // *** BATCH CMD : assignFile -p 1 -file "implementation/download.bit"
> '1': Loading file 'implementation/download.bit' ...
> done.
> INFO:iMPACT:501 - '1': Added Device xc3s500e successfully.
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> // *** BATCH CMD : program -p 1
> Chain TCK freq = 10000000.
> Chain TCK freq = 10000000.
> Validating chain...
> Boundary-scan chain validated successfully.
> '1':Programming  device...
> done.
> '1': Reading status register contents...
> CRC error                                         :         0
> Decryptor security set                            :         0
> DCM locked                                        :         1
> DCI matched                                       :         1
> legacy input error                                :         0
> status of GTS_CFG_B                               :         1
> status of GWE                                     :         1
> status of GHIGH                                   :         1
> value of MODE pin M0                              :         1
> value of MODE pin M1                              :         0
> value of MODE pin M2                              :         1
> value of CFG_RDY (INIT_B)                         :         1
> DONEIN input from DONE pin                        :         1
> IDCODE not validated while trying to write FDRI   :         0
> write FDRI issued before or after decrypt operation:         0
> Decryptor keys not used in proper sequence        :         0
> INFO:iMPACT:2219 - Status register values:
> INFO:iMPACT - 0011 0111 1011 1000 0000 0000 0000 0000
> INFO:iMPACT:579 - '1': Completed downloading bit file to device.
> INFO:iMPACT:580 - '1':Checking done pin ....done.
> '1': Programmed successfully.
> Elapsed time =      1 sec.
> // *** BATCH CMD : quit
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> [rystrom@localhost Xilinx-Spartan3E500-RevC-edk82]$ cat
> /tftpboot/u-boot.srec > /dev/ttyS0
> [rystrom@localhost Xilinx-Spartan3E500-RevC-edk82]$
> 
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> "tftp" terminal window:
> 
> PetaLinux environment set to '/home/rystrom/petalinux'
> [rystrom@localhost ~]$ ls -l /tftpboot
> total 32672
> -rw-r--r--  1 rystrom users       13 Mar 28 13:36 foo.txt
> -rwxrwxrwx  1 nobody  users  3141675 Mar 28 12:07 image.bin
> -rwxrwxrwx  1 nobody  users 13652504 Mar 28 12:07 image.elf
> -rwxrwxrwx  1 nobody  users  9412828 Mar 28 12:07 image.srec
> -rwxrwxrwx  1 nobody  users  3141696 Mar 28 12:07 image.ub
> -rwxrwxrwx  1 nobody  users  1257472 Mar 28 12:07 linux.bin
> -rwxrwxrwx  1 nobody  users  1884160 Mar 28 12:07 romfs.img
> -rwxrwxrwx  1 nobody  users     1012 Mar 28 12:07 ub.config.img
> -rwxrwxrwx  1 nobody  users   102232 Mar 28 12:07 u-boot-s.bin
> -rwxrwxrwx  1 nobody  users   102972 Mar 28 12:07 u-boot-s.elf
> -rwxrwxrwx  1 nobody  users   306466 Mar 28 12:07 u-boot.srec
> -rwxrwxrwx  1 nobody  users   306812 Mar 28 12:07 u-boot-s.srec
> [rystrom@localhost ~]$ ls
> add_ibuf.txt  edk_user_repository  Lab2             pcores
> Desktop       foo.txt              microblaze-auto  petalinux
> Desktop1      Lab1                 old.kermrc~      test
> [rystrom@localhost ~]$ rm foo.txt
> [rystrom@localhost ~]$ tftp localhost
> tftp> get foo.txt
> tftp> quit
> [rystrom@localhost ~]$ ls
> add_ibuf.txt  edk_user_repository  Lab2             pcores
> Desktop       foo.txt              microblaze-auto  petalinux
> Desktop1      Lab1                 old.kermrc~      test
> [rystrom@localhost ~]$ cat foo.txt
> testing this
> [rystrom@localhost ~]$ netstat -l -u | grep tftp
> udp        0      0 *:tftp                      *:* 
> [rystrom@localhost ~]$
> 
> 
> 
> ___________________________
> 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/
> 
> 
> 
> ------------------------------------------------------------------------
> 
> Subject:
> [microblaze-uclinux] Bad u-boot ETHERLITE driver performance.
> From:
> "Leonid" <Leonid@xxxxxxxxx>
> Date:
> Thu, 22 Feb 2007 12:35:23 -0700
> To:
> <microblaze-uclinux@xxxxxxxxxxxxxx>
> 
> To:
> <microblaze-uclinux@xxxxxxxxxxxxxx>
> 
> 
> Hi:
> 
> On Xilinx Spartan-3e Starter Kit during uClinux image downloading from
> u-boot via TFTP some packets get lost slower down downloading process.
> 
> This is typical downloading snapshot:
> 
> U-Boot> tftp 23000000 lm125/rel/1.0.0/image.ub
> TFTP from server 192.168.0.141; our IP address is 192.168.0.206
> Filename 'lm125/rel/1.0.0/image.ub'.
> Load address: 0x23000000
> Loading:
> #################################################################
>          #######################################T
> ##########################
>  
> #################################################################
>  
> #################################################################
>          ##########################T ##############################T
> #########
>          ############################################T
> ###################T 
>          ###############################################################
> done
> Bytes transferred = 3313728 (329040 hex)
> U-Boot>
> 
> This is happening only with ETHERNETLITE core and never with EMAC core
> (network setup is precisely the same). Also as soon as uClinux is
> loaded, network applications (including NFS and TFTP) are working
> smoothly meaning that problem is in u-boot emaculite drivers themselves
> (I'm using u-boot 1.1.4 snapshot from Petalinux distro). 
> 
> Wolfgang Denk suggested here
> http://www.denx.de/wiki/view/DULG/TFTPTimeout that it can be problem
> with full/half duplex configuration, but I couldn't find how to
> configure such mode is configured for emaculite driver.
> 
> Please advise,
> 
> 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/
> 

?

<<winmail.dat>>