zhenqi2008 发表于 2014-6-22 10:34

TFTP无法下载大文件到开发板(网上找了很多方法不见效,求救

以下是我安装TFTP步骤:
1,拿出系统关盘,安装这2个软件,一个是服务端,一个是客户端,
tftp-0.39-2.i386.rpm
tftp-server-0.39-2.i386.rpm
2,修改启动配置文件
不管使用的是哪一种super-server,inetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改文件来开启服务。
修改文件/etc/xinetd.d/tftp。主要是设置TFTP服务器的根目录,开启服务。
修改后的配置文件如下:
service tftp
{
      disable = no
      socket_type             = dgram
      protocol                = udp
      wait                  = yes
      user                  = root
      server                  = /usr/sbin/in.tftpd
      server_args             = -s /home/kernel -c
      per_source            = 11
      cps                     = 100 2
      flags                   = IPv4
}
说明:
   其中处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。
3,创建tftp根目录,关闭防火墙,启动tftp-server。
/etc/init.d/iptables stop      //关闭防火墙
service xinetd restart          //重启 xinetd 服务
重启xinetd服务,因为TFTP服务受控与xinetd, xinetd是管服务的服务,它是不开端口的。
验证一下TFTP是否起来了:
@localhost tftp_root]# netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
      
tcp      0      0 :::22                     :::*                        LISTEN      2828/sshd                  
udp      0      0 0.0.0.0:69                  0.0.0.0:*                               10887/xinetd      
udp      0      0 0.0.0.0:69                  0.0.0.0:*                               10863/in.tftpd      
udp      0      0 0.0.0.0:69                  0.0.0.0:*                               10778/in.tftpd
可以看到69端口已经打开,说明服务启动正常。
4,你可以登陆其他测试以下,
tftp 192.168.2.202
tftp>get
tftp>put
tftp>q


测试步骤:


下面是我的操作及测试TFTP和NFS服务有没有打开:
# service nfs restart

关闭 NFS mountd:                                       [确定]

关闭 NFS 守护进程:^[                                     [确定]

关闭 NFS quotas                                           [确定]

关闭 NFS 服务:                                           [确定]

启动 NFS 服务:                                           [确定]

关掉 NFS 配额:                                           [确定]

启动 NFS 守护进程:                                       [确定]

启动 NFS mountd:                                       [确定]

# service xinetd restart

停止 xinetd:                                          [确定]

启动 xinetd:                                             [确定]


# /etc/init.d/iptables status

防火墙已停

# tftp 192.168.2.202

tftp> get abc.c

tftp> q

#



防火墙也已经关闭   



U-Boot> ping 192.168.2.202

macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)

Using macb0 device

host 192.168.2.202 is alive

板子能够与linux服务器PING 通



U-Boot> printenv

bootdelay=3

baudrate=115200

ethact=macb0

ethaddr=00:22:33:45:43:33

filesize=217580

fileaddr=71100000

bootcmd=nand read 0x72000000 0x200000 0x200000 ;nand read 0x71100000 0x400000 0x

300000 ;bootm 0x72000000

ipaddr=192.168.2.44

serverip=192.168.2.202

bootargs=mem=64M console=ttyS0 115200 root=/dev/nfs rw nfsroot=192.168.2.202:/ho

me/zzq ip=192.168.2.44:192.168.2.202:192.168.2.1:255.255.255.0::eth0:off
Environment size: 402/131067 bytes

以上为板子所设置的环境变量

U-Boot> ping 192.168.2.202

macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)

Using macb0 device

host 192.168.2.202 is alive

U-Boot> tftp 0x72000000 uImage

macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)

Using macb0 device

TFTP from server 192.168.2.202; our IP address is 192.168.2.44

Filename 'uImage'.

Load address: 0x72000000

Loading: #T T T #T T T T T #T T T T T #T #T T T T T #T T T T T T #T #T T T T T T

T T T T #T ##T T T

Retry count exceeded; starting again

macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)

Using macb0 device

TFTP from server 192.168.2.202; our IP address is 192.168.2.44

Filename 'uImage'.

Load address: 0x72000000

Loading: #T T T #T T #T T #T T T T T T T #T T T T T #T T T T T T T T

下载超时不能成功
但我在共享目录中新建一个其他的文件:234.c可以下载成功 这能不能说明我的TFTP服务器已经打开了。

U-Boot> tftp 0x72000000 234.c

macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)

Using macb0 device

TFTP from server 192.168.2.202; our IP address is 192.168.2.44

Filename '234.c'.

Load address: 0x72000000

Loading: #

done

Bytes transferred = 2921 (b69 hex)






zhenqi2008 发表于 2014-6-22 10:37

小文件传送没有问题,大文件老是超时。在windows下的服务器传送大文件也是没有问题的。

zhenqi2008 发表于 2014-7-15 08:55

数据包大小的问题修改一下MTU可以正常传输了

后学 发表于 2014-7-22 11:07

用ftp下大文件

zhenqi2008 发表于 2014-7-26 22:00

后学 发表于 2014-7-22 11:07 static/image/common/back.gif
用ftp下大文件

嗯 可能跟我的网络环境有关系TFTP问题已经解决了 FTP还没研究过
页: [1]
查看完整版本: TFTP无法下载大文件到开发板(网上找了很多方法不见效,求救